All files / src/http/utility fetch-json.ts

100% Statements 7/7
100% Branches 0/0
100% Functions 1/1
100% Lines 7/7

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25      4x 4x                 7x 7x 7x   7x           4x  
import HeaderMap from 'http/type/header-map';
import StatusCode from 'http/enum/status-code';
import JsonObject from 'http/type/json-object';
import ContentType from 'http/enum/content-type';
import fetchBuffer from 'http/utility/fetch-buffer';
 
interface ResponseData {
	body: JsonObject;
	headers: HeaderMap;
	status_code: StatusCode;
}
 
async function fetchJson(url: string): Promise<ResponseData> {
	const result = await fetchBuffer(url, ContentType.JSON);
	const string_body = result.body.toString('utf8');
	const body = JSON.parse(string_body);
 
	return {
		...result,
		body
	};
}
 
export default fetchJson;