shelving
Version:
Toolkit for using data in JavaScript.
17 lines (16 loc) • 984 B
TypeScript
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>;
}