scripts/deno/json.ts (13 lines of code) (raw):

export const fetchJSON = async <T>( url: Parameters<typeof fetch>[0], { headers, parser, }: { headers?: HeadersInit; parser: (data: unknown) => T | Promise<T>; }, ): Promise<T> => { const data: unknown = await fetch(url, { headers }).then((r) => r.json()); return parser(data); };