UNPKG

return-fetch-json

Version:

An extended function of return-fetch ot serialize request body and deserialize response body as object.

15 lines (14 loc) 735 B
import { FetchArgs, ReturnFetchDefaultOptions } from "return-fetch"; export type ReturnFetchJson = typeof returnFetchJson; export type ReturnFetchJsonDefaultOptions = ReturnFetchDefaultOptions & { jsonParser?: typeof JSON.parse; }; export type JsonRequestInit = Omit<NonNullable<FetchArgs[1]>, "body"> & { body?: object; }; export type ResponseGenericBody<T> = Omit<Awaited<ReturnType<typeof fetch>>, keyof Body | "clone"> & { body: T; }; export type JsonResponse<T> = T extends object ? ResponseGenericBody<T> : ResponseGenericBody<string>; declare const returnFetchJson: (args?: ReturnFetchJsonDefaultOptions) => <T>(url: FetchArgs[0], init?: JsonRequestInit) => Promise<JsonResponse<T>>; export default returnFetchJson;