shelving
Version:
Toolkit for using data in JavaScript.
21 lines (20 loc) • 911 B
TypeScript
import type { Callback } from "../../util/function.js";
import type { APIProvider } from "./APIProvider.js";
import { ThroughAPIProvider } from "./ThroughAPIProvider.js";
/**
* Provider that logs fetches to the console to keep useful logs in production.
* - Defaults to calling `console.log()` for requests/responses and
*/
export declare class LoggingAPIProvider<P, R> extends ThroughAPIProvider<P, R> {
protected _logRequest: Callback<[Request]>;
protected _logResponse: Callback<[Response, Request]>;
protected _logError: Callback<[reason: unknown, Request]>;
constructor(source: APIProvider<P, R>,
/** Log requests. */
onRequest?: Callback<[Request]>,
/** Log responses to requests. */
onResponse?: Callback<[Response, Request]>,
/** Log errors for requests. */
onError?: Callback<[reason: unknown, Request]>);
fetch(request: Request): Promise<Response>;
}