Skip to content

Commit

Permalink
Exposing the Axios constructor in index.d.ts
Browse files Browse the repository at this point in the history
This patch allows TypeScript users to extend the `Axios` class without
the type checker complaining.

see 7548f2f
  • Loading branch information
TimWolla committed Mar 1, 2021
1 parent 62d6256 commit cef5420
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions index.d.ts
Expand Up @@ -127,9 +127,8 @@ export interface AxiosInterceptorManager<V> {
eject(id: number): void;
}

export interface AxiosInstance {
(config: AxiosRequestConfig): AxiosPromise;
(url: string, config?: AxiosRequestConfig): AxiosPromise;
export class Axios {
constructor(config?: AxiosRequestConfig);
defaults: AxiosRequestConfig;
interceptors: {
request: AxiosInterceptorManager<AxiosRequestConfig>;
Expand All @@ -146,10 +145,16 @@ export interface AxiosInstance {
patch<T = any, R = AxiosResponse<T>>(url: string, data?: any, config?: AxiosRequestConfig): Promise<R>;
}

export interface AxiosInstance extends Axios {
(config: AxiosRequestConfig): AxiosPromise;
(url: string, config?: AxiosRequestConfig): AxiosPromise;
}

export interface AxiosStatic extends AxiosInstance {
create(config?: AxiosRequestConfig): AxiosInstance;
Cancel: CancelStatic;
CancelToken: CancelTokenStatic;
Axios: typeof Axios;
isCancel(value: any): boolean;
all<T>(values: (T | Promise<T>)[]): Promise<T[]>;
spread<T, R>(callback: (...args: T[]) => R): (array: T[]) => R;
Expand Down

0 comments on commit cef5420

Please sign in to comment.