@hyper-fetch/core
Version:
Cache, Queue and Persist your requests no matter if you are online or offline!
71 lines • 3.25 kB
TypeScript
import { ResponseSuccessType, ResponseErrorType, ProgressDataType, AdapterInstance, getErrorMessage } from '.';
import { LoggerMethods } from '../managers';
import { RequestInstance } from '../request';
import { ExtractResponseType, ExtractErrorType, ExtractAdapterOptionsType, ExtractAdapterStatusType, ExtractAdapterExtraType } from '../types';
export declare const getAdapterBindings: <T extends AdapterInstance>({ request: baseRequest, requestId, resolve, onStartTime, internalErrorMapping, }: {
request: RequestInstance;
requestId: string;
resolve: (value: ResponseSuccessType<any, T> | ResponseErrorType<any, T>) => void;
onStartTime: (timestamp: number) => void;
internalErrorMapping: (error: ReturnType<typeof getErrorMessage>) => any;
}) => Promise<{
request: RequestInstance;
requestId: string;
url: string;
endpoint: any;
queryParams: any;
payload: any;
headers: any;
adapter: AdapterInstance;
adapterOptions: ExtractAdapterOptionsType<T> | undefined;
getAbortController: () => AbortController | undefined;
getRequestStartTimestamp: () => number | null;
getResponseStartTimestamp: () => number | null;
createAbortListener: ({ status, extra, onAbort, }: {
status: ExtractAdapterStatusType<T>;
extra: ExtractAdapterExtraType<T>;
onAbort?: () => void;
}) => () => void;
onBeforeRequest: () => void;
onRequestStart: (progress?: ProgressDataType) => number;
onRequestProgress: (progress: ProgressDataType) => number;
onRequestEnd: () => number;
onResponseStart: (progress?: ProgressDataType) => number;
onResponseProgress: (progress: ProgressDataType) => number;
onResponseEnd: () => number;
onSuccess: ({ data, error, status, extra, }: {
data: any;
status: ExtractAdapterStatusType<T>;
extra: ExtractAdapterExtraType<T>;
error?: ExtractErrorType<T>;
}) => Promise<ResponseSuccessType<ExtractResponseType<T>, T>>;
onAbortError: ({ status, extra, }: {
status: ExtractAdapterStatusType<T>;
extra: ExtractAdapterExtraType<T>;
}) => Promise<ResponseErrorType<any, T>>;
onTimeoutError: ({ status, extra, }: {
status: ExtractAdapterStatusType<T>;
extra: ExtractAdapterExtraType<T>;
}) => Promise<ResponseErrorType<any, T>>;
onUnexpectedError: ({ status, extra, }: {
status: ExtractAdapterStatusType<T>;
extra: ExtractAdapterExtraType<T>;
}) => Promise<ResponseErrorType<any, T>>;
onError: ({ error, status, extra, }: {
error: any;
status: ExtractAdapterStatusType<T>;
extra: ExtractAdapterExtraType<T>;
}) => Promise<ResponseErrorType<any, T>>;
}>;
export declare function getAdapterOnError<T extends AdapterInstance>({ request, requestId, startTime, resolve, logger, }: {
request: RequestInstance;
requestId: string;
startTime: number;
logger: LoggerMethods;
resolve: (value: ResponseSuccessType<any, T> | ResponseErrorType<any, T>) => void;
}): ({ error, status, extra, }: {
error: any;
status: ExtractAdapterStatusType<T>;
extra: ExtractAdapterExtraType<T>;
}) => Promise<ResponseErrorType<any, T>>;
//# sourceMappingURL=adapter.bindings.d.ts.map