UNPKG

js-xfetch

Version:

A Fetch request tool wrapper, convenient global management.

122 lines 4.37 kB
declare enum XFetchContentType { JSON = "application/json;charset=UTF-8", FORM = "application/x-www-form-urlencoded;charset=UTF-8", FILE = "multipart/form-data", json = "application/json;charset=UTF-8", form = "application/x-www-form-urlencoded;charset=UTF-8", file = "multipart/form-data" } declare enum XFetchHttpMethod { GET = "GET", POST = "POST", PUT = "PUT", PATCH = "PATCH", DELETE = "DELETE", OPTIONS = "OPTIONS", get = "GET", post = "POST", put = "PUT", patch = "PATCH", delete = "DELETE", options = "OPTIONS" } interface XFetchRequestConfig { params?: any; data?: any; headers?: XFetchHeader; autoContentType?: boolean; 'Content-Type'?: string; qsStringifyOptions?: { arr2str?: boolean; hasIndex?: boolean; urlEncode?: boolean; hasBrackets?: boolean; }; [propName: string]: any; } interface XFetchHeader { Origin?: string; Referer?: string; Cookie?: string | object; Connection?: string; 'User-Agent'?: string; 'Content-Type'?: string; Authorization?: string; [propName: string]: any; } interface XFetchOptions { retryConfig?: RetryConfig; baseUrl?: string; timeout?: number; cancelDuplicatedRequest?: boolean; requestHandler?: HandlerFunction; responseHandler?: HandlerFunction; errorHandler?: HandlerFunction; requestFinally?: () => void; setRequestHeaders?: HandlerFunction<object>; [propName: string]: any; } interface HandlerFunction<T = any> { (data: T): T; } interface RetryConfig { retry: number; delay: number; } declare const CODE_MSG: { [status: number]: string; }; export declare class XFetchClass { timeout: number; baseUrl: string; private _requestHandler; private _responseHandler; private _errorHandler; private _requestFinally; private _setRequestHeaders; private _pendingRequests; private _cancelDuplicatedRequest; private _retryConfig; private _abortController; private _whiteListAbortController; constructor(options?: XFetchOptions); private _requestInterceptor; private _responseInterceptor; private _errorInterceptor; private _addPendingRequest; private _removePendingRequest; private _handleFetchResponse; private _parseFetchResponse; typeof(obj: any): string; qsStringify(obj: any, options?: { arr2str?: boolean; hasIndex?: boolean; urlEncode?: boolean; hasBrackets?: boolean; }): string; qsParse(url?: string, key?: string): any; private _timeoutPromise; request(method: XFetchHttpMethod, url: string, config: XFetchRequestConfig, isWhiteList?: boolean): Promise<any>; sleep(milliseconds: number): Promise<unknown>; checkStatus(response: Response): any; get(url: string, params?: any, config?: XFetchRequestConfig, isWhiteList?: boolean): Promise<any>; post(url: string, data?: any, config?: XFetchRequestConfig, isWhiteList?: boolean): Promise<any>; patch(url: string, data?: any, config?: XFetchRequestConfig, isWhiteList?: boolean): Promise<any>; put(url: string, data?: any, config?: XFetchRequestConfig, isWhiteList?: boolean): Promise<any>; delete(url: string, data?: any, config?: XFetchRequestConfig, isWhiteList?: boolean): Promise<any>; postForm(url: string, data?: any, config?: XFetchRequestConfig, isWhiteList?: boolean): Promise<any>; postFile(url: string, files: File | File[], name?: string, hasBrackets?: boolean, hasIndex?: boolean, config?: XFetchRequestConfig, isWhiteList?: boolean): Promise<any>; cancelRequest(message: string): XFetchClass; cancelWhiteListRequest(message: string): XFetchClass; getAbortController(): any; getBaseURL(): string | undefined; setBaseURL(url?: string): XFetchClass; setRequestTimeout(timeout: number): XFetchClass; getInstance(): XFetchClass; isCancel(error: any): boolean; create(options?: XFetchOptions): XFetchClass; } declare const XFetch: XFetchClass; export { XFetch, XFetchContentType, XFetchHttpMethod, XFetchHeader, XFetchRequestConfig, XFetchOptions, CODE_MSG }; export default XFetch; //# sourceMappingURL=index.d.ts.map