hapic
Version:
A http api client based on axios.
16 lines (15 loc) • 777 B
TypeScript
import type { ClientError } from '../error';
import type { RequestOptions } from '../request';
import type { Response } from '../response';
import { HookName } from './constants';
import type { HookFn } from './type';
export declare class HookManager {
protected items: Record<string, (undefined | HookFn)[]>;
constructor();
addListener(name: `${HookName}`, fn: HookFn): number;
removeListener(name: `${HookName}`, fn: HookFn | number): void;
removeListeners(name: `${HookName}`): void;
triggerReqHook(input: RequestOptions): Promise<RequestOptions>;
triggerResHook(input: Response): Promise<Response>;
triggerErrorHook(name: `${HookName.RESPONSE_ERROR}` | `${HookName.REQUEST_ERROR}`, input: ClientError): Promise<RequestOptions | Response>;
}