UNPKG

axios-series

Version:

A tool to extend axios to return sequentially

53 lines (46 loc) 1.62 kB
import type { AxiosInstance } from 'axios'; import type { AxiosResponse } from 'axios'; import type { CancelToken } from 'axios'; import type { CancelTokenSource } from 'axios'; import type { InternalAxiosRequestConfig } from 'axios'; /** * axios serializer wrapper function * * @param instance - axios or axios instance * @param options - serializer options * @return - axios instance with serializer feature */ declare function axiosSeries(instance: AxiosInstance, options?: SerializerOptions): { <T = any, R = AxiosResponse<T, any>, D = any>(config: SerializerRequestOptions<D>): Promise<R>; <T_1 = any, R_1 = AxiosResponse<T_1, any>, D_1 = any>(url: string, config?: SerializerRequestOptions<D_1> | undefined): Promise<R_1>; /** * all waiting series */ series: WaitingList; /** * clear all series */ clear(): void; }; export default axiosSeries; export declare interface SerializerOptions extends Record<string, unknown> { unique?: boolean; orderly?: boolean; onCancel?: (err: any, config: InternalAxiosRequestConfig) => void; } export declare interface SerializerRequestOptions<D = any> extends InternalAxiosRequestConfig<D> { unique?: boolean; orderly?: boolean; cancelToken?: CancelToken; signal?: AbortSignal; type?: string; error?: boolean; } export declare interface Series { promiseKey: symbol; promise: Promise<any>; source: CancelTokenSource; abortController?: AbortController; } export declare type WaitingList = Record<string, Series[]>; export { }