Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 4f25380

Browse files
Exposing the Axios constructor in index.d.ts (#2872)
This patch allows TypeScript users to extend the `Axios` class without the type checker complaining. see 7548f2f Co-authored-by: Jay <[email protected]>
1 parent c26762f commit 4f25380

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

index.d.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -134,9 +134,8 @@ export interface AxiosInterceptorManager<V> {
134134
eject(id: number): void;
135135
}
136136

137-
export interface AxiosInstance {
138-
(config: AxiosRequestConfig): AxiosPromise;
139-
(url: string, config?: AxiosRequestConfig): AxiosPromise;
137+
export class Axios {
138+
constructor(config?: AxiosRequestConfig);
140139
defaults: AxiosRequestConfig;
141140
interceptors: {
142141
request: AxiosInterceptorManager<AxiosRequestConfig>;
@@ -153,10 +152,16 @@ export interface AxiosInstance {
153152
patch<T = any, R = AxiosResponse<T>>(url: string, data?: any, config?: AxiosRequestConfig): Promise<R>;
154153
}
155154

155+
export interface AxiosInstance extends Axios {
156+
(config: AxiosRequestConfig): AxiosPromise;
157+
(url: string, config?: AxiosRequestConfig): AxiosPromise;
158+
}
159+
156160
export interface AxiosStatic extends AxiosInstance {
157161
create(config?: AxiosRequestConfig): AxiosInstance;
158162
Cancel: CancelStatic;
159163
CancelToken: CancelTokenStatic;
164+
Axios: typeof Axios;
160165
isCancel(value: any): boolean;
161166
all<T>(values: (T | Promise<T>)[]): Promise<T[]>;
162167
spread<T, R>(callback: (...args: T[]) => R): (array: T[]) => R;

0 commit comments

Comments
 (0)