UNPKG

shelving

Version:

Toolkit for using data in JavaScript.

20 lines (19 loc) 1.17 kB
import type { AnyCaller } from "../../util/function.js"; import type { RequestOptions } from "../../util/http.js"; import type { Sourceable } from "../../util/source.js"; import type { Endpoint } from "../endpoint/Endpoint.js"; import { APIProvider } from "./APIProvider.js"; /** * Provider wrapper that delegates API operations to a source provider. * - Extend this when you want to intercept only selected API operations, such as injecting auth headers or logging. */ export declare class ThroughAPIProvider<P, R> extends APIProvider<P, R> implements Sourceable<APIProvider<P, R>> { get url(): URL; readonly source: APIProvider<P, R>; constructor(source: APIProvider<P, R>); renderURL<PP extends P, RR extends R>(endpoint: Endpoint<PP, RR>, payload: PP, caller?: AnyCaller): URL; createRequest<PP extends P, RR extends R>(endpoint: Endpoint<PP, RR>, payload: PP, options?: RequestOptions, caller?: AnyCaller): Request; parseResponse<PP extends P, RR extends R>(endpoint: Endpoint<PP, RR>, response: Response, caller?: AnyCaller): Promise<RR>; fetch(request: Request): Promise<Response>; [Symbol.asyncDispose](): Promise<void>; }