/// <reference lib="dom" /> /** @type {(_: Response) => () => Response} */ export const cloneImpl = rep => () => rep.clone() /** @type {(_: Response) => () => ReadableStream} */ export const streamImpl = rep => () => rep.body /** @type {(_: Response) => () => Promise<unknown>} */ export const jsonImpl = rep => () => rep.json() /** @type {(_: Response) => () => Promise<string>} */ export const textImpl = rep => () => rep.text() /** @type {(_: Response) => () => Promise<ArrayBuffer>} */ export const abImpl = rep => () => rep.arrayBuffer() /** @type {(_: Response) => () => Promise<Blob>} */ export const blobImpl = rep => () => rep.blob() /** @type {(_: Response) => () => Promise<FormData>} */ export const formImpl = rep => () => rep.formData() /** @type {(_: Response) => () => number} */ export const statusImpl = rep => () => rep.status /** @type {(_: Response) => () => string} */ export const statusTextImpl = rep => () => rep.statusText /** @type {(_: Response) => () => Record<string, string>} */ export const headersImpl = rep => () => { /** @type {Record<string, string>} */ const hs = {} Array.from(rep.headers.entries()).forEach(([k, v]) => { hs[k] = v }) return hs }