-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.d.ts
89 lines (89 loc) · 2.4 KB
/
index.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
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