UNPKG

js-xajax

Version:

XHR tool wrapper, convenient use and global management.

89 lines 2.45 kB
export declare enum HttpMethod { GET = "GET", POST = "POST", PUT = "PUT", PATCH = "PATCH", DELETE = "DELETE", OPTIONS = "OPTIONS", get = "GET", post = "POST", put = "PUT", patch = "PATCH", delete = "DELETE", options = "OPTIONS" } export interface Events { READY_STATE_CHANGE: 'readystatechange'; LOAD_START: 'loadstart'; PROGRESS: 'progress'; ABORT: 'abort'; ERROR: 'error'; LOAD: 'load'; TIMEOUT: 'timeout'; LOAD_END: 'loadend'; } export declare const EVENTS: { READY_STATE_CHANGE: string; LOAD_START: string; PROGRESS: string; ABORT: string; ERROR: string; LOAD: string; TIMEOUT: string; LOAD_END: string; }; export interface requestConfig<T = unknown> { url: string; method: HttpMethod; params?: any; data?: any; headers?: { [key: string]: string; }; raw?: boolean; dump?: (data: T) => string; load?: (str: string) => T; xmlHttpRequest?: () => XMLHttpRequest; } export interface XAjaxOptions<T = unknown> { dump?: (data: T) => string; load?: (str: string) => T; xmlHttpRequest?: () => XMLHttpRequest; withCredentials?: boolean; raw?: boolean; eventsHandler?: { [key: string]: () => void; }; baseUrl?: string; timeout?: number; requestHandler?: HandlerFunction; responseHandler?: HandlerFunction; errorHandler?: HandlerFunction; requestFinally?: () => void; setRequestHeaders?: HandlerFunction<object>; } interface HandlerFunction<T = any> { (data: T): T; } export declare class XAjaxClass { private _options; private _defaultConfig; constructor(options?: XAjaxOptions); private _timeoutPromise; private _res; request(config: requestConfig): Promise<any>; get(url: string, params?: any, headers?: any): Promise<any>; post(url: string, data?: any, headers?: any): Promise<any>; patch(url: string, data?: any, headers?: any): Promise<any>; put(url: string, data?: any, headers?: any): Promise<any>; delete(url: string, data?: any, headers?: any): Promise<any>; getBaseURL(): string | undefined; setBaseURL(url?: string): XAjaxClass; setRequestTimeout(timeout: number): XAjaxClass; getInstance(): XAjaxClass; create(options?: XAjaxOptions): XAjaxClass; } declare const XAjax: XAjaxClass; export { XAjax }; export default XAjax; //# sourceMappingURL=index.d.ts.map