@hyper-fetch/core
Version:
Cache, Queue and Persist your requests no matter if you are online or offline!
19 lines • 1.42 kB
TypeScript
import { RequestEventType, RequestProgressEventType, RequestResponseEventType } from '../managers';
import { RequestInstance } from './request.types';
type HookName = "onBeforeSent" | "onRequestStart" | "onResponseStart" | "onUploadProgress" | "onDownloadProgress" | "onResponse" | "onRemove";
export interface RequestHooks<R extends RequestInstance> {
onBeforeSent: (cb: (eventData: RequestEventType<R>) => void) => () => void;
onRequestStart: (cb: (eventData: RequestEventType<R>) => void) => () => void;
onResponseStart: (cb: (eventData: RequestEventType<R>) => void) => () => void;
onUploadProgress: (cb: (eventData: RequestProgressEventType<R>) => void) => () => void;
onDownloadProgress: (cb: (eventData: RequestProgressEventType<R>) => void) => () => void;
onResponse: (cb: (eventData: RequestResponseEventType<R>) => void) => () => void;
onRemove: (cb: (eventData: RequestEventType<R>) => void) => () => void;
/** @internal Invoke all registered listeners for a given hook */
__emit: (name: HookName, data: any) => void;
/** @internal Get a snapshot of all registered listeners (used by clone) */
__snapshot: () => Record<HookName, Array<(...args: any[]) => void>>;
}
export declare function createRequestHooks<R extends RequestInstance>(initial?: Record<HookName, Array<(...args: any[]) => void>>): RequestHooks<R>;
export {};
//# sourceMappingURL=request.hooks.d.ts.map