Dmitriy Pleshevskiy
49aac94675
chore: add dist folder to repo chore(deps): add node-fetch for tests chore: change prepare request visibility chore: add tests for prepare request method chore: update example Closes #20
15 lines
816 B
TypeScript
15 lines
816 B
TypeScript
import { Endpoint } from './endpoint';
|
|
import { PublicRequestState } from './reducer';
|
|
import { ClientResponse } from './client';
|
|
export declare type LazyRequestConfig<R, V, P = void> = Readonly<{
|
|
variables?: V;
|
|
params?: P;
|
|
headers?: Record<string, string>;
|
|
onComplete?: (data: R) => unknown;
|
|
onFailure?: (res: ClientResponse<R>) => unknown;
|
|
}>;
|
|
export declare type LazyRequestHandlerConfig<R, V, P> = Readonly<LazyRequestConfig<R, V, P> & {
|
|
force?: boolean;
|
|
}>;
|
|
export declare type RequestHandler<R, V, P> = (config?: LazyRequestHandlerConfig<R, V, P>) => Promise<R | null>;
|
|
export declare function useLazyRequest<R = Record<string, any>, V = Record<string, any>, P = void>(endpoint: Endpoint<R, V, P>, config?: LazyRequestConfig<R, V, P>): [RequestHandler<R, V, P>, PublicRequestState<R>];
|