'a'
mh-two-thousand-and-two
2024-04-12 44d2c92345cd156a59fc327b3060292a282d2893
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
export interface FlyRequestConfig extends Object {
    url?: string;
    method?: string;
    baseURL?: string;
    headers?: any;
    body?: any;
    timeout?: number;
    withCredentials?: boolean;
    parseJson?: boolean;
    responseType?: string;
}
 
export interface FlyError {
    status: number;
    message: string;
    engine: XMLHttpRequest;
    request?: FlyRequestConfig;
    response?: FlyErrResponse;
}
 
export interface FlyResponse<T = any> {
    data: T;
    request: FlyRequestConfig;
    engine: XMLHttpRequest;
    headers: Object;
}
 
export interface FlyErrResponse {
    data: any;
    headers: Object;
    status: number;
    statusText: string;
}
 
export interface FlyPromise<T = any> extends Promise<FlyResponse<T>> {
}
 
export interface FlyRequestInterceptor<V> {
    use(onSend?: (request: V) => any): void;
    lock(): void;
    unlock(): void;
 
    clear(): void;
}
export interface FlyResponseInterceptor<V> {
    use(onSucceed?: (response: V) => any, onError?: (err: Error) => any): void;
    lock(): void;
    unlock(): void;
 
    clear(): void;
}
 
export interface Fly {
    config: FlyRequestConfig;
    interceptors: {
        request: FlyRequestInterceptor<FlyRequestConfig>;
        response:FlyResponseInterceptor<FlyResponse>;
    };
    engine:any;
    request<T = any>(url: string, data?: any, config?: FlyRequestConfig): FlyPromise<T>;
    get<T = any>(url: string, data?:any, config?: FlyRequestConfig): FlyPromise<T>;
    delete(url: string, data?:any, config?: FlyRequestConfig): FlyPromise;
    head(url: string,data?:any, config?: FlyRequestConfig): FlyPromise;
    post<T = any>(url: string, data?: any, config?: FlyRequestConfig): FlyPromise<T>;
    put<T = any>(url: string, data?: any, config?: FlyRequestConfig): FlyPromise<T>;
    patch<T = any>(url: string, data?: any, config?: FlyRequestConfig): FlyPromise<T>;
    all<T>(values: (T | Promise<T>)[]): Promise<T[]>;
    spread<T, R>(callback: (...args: T[]) => R): (array: T[]) => R;
 
    lock(): void;
    unlock(): void;
 
    clear(): void;
}
declare const fly:Fly;
export default fly;