2
0
mirror of https://github.com/tenrok/axios.git synced 2026-06-17 19:21:29 +03:00

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 7548f2f79d

Co-authored-by: Jay <jasonsaayman@gmail.com>
This commit is contained in:
Tim Düsterhus
2021-09-05 12:48:46 +02:00
committed by GitHub
parent c26762f898
commit 4f25380b31
Vendored
+8 -3
View File
@@ -134,9 +134,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>;
@@ -153,10 +152,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;