UNPKG

shelving

Version:

Toolkit for using data in JavaScript.

17 lines (16 loc) 984 B
import type { AnyCaller } from "../../util/function.js"; import { type RequestBodyMethod, type RequestOptions } from "../../util/http.js"; import type { PossibleURL } from "../../util/url.js"; import type { Endpoint } from "../endpoint/Endpoint.js"; import { ClientAPIProvider } from "./ClientAPIProvider.js"; /** API provider that always sends request bodies as JSON and parses responses as JSON. */ export declare class JSONAPIProvider<P = unknown, R = unknown> extends ClientAPIProvider<P, R> { protected _createBodyRequest(method: RequestBodyMethod, url: PossibleURL, payload: P, options: RequestOptions, caller: AnyCaller): Request; /** * Parse a JSON `Response` for an endpoint. * * - Non-2xx responses become `ResponseError`. * - JSON is parsed even if the server omitted or mis-set the response content type. */ parseResponse<PP extends P, RR extends R>(_endpoint: Endpoint<PP, RR>, response: Response, caller?: AnyCaller): Promise<RR>; }