mirror of
https://github.com/tenrok/axios.git
synced 2026-06-20 20:00:40 +03:00
updated interceptor use type definition to remove interceptor options parameter from use method for response interceptors (#5237)
* updated interceptor use type definition to remove interceptor options parameter from use method for response interceptors * incorporated type changes to index.d.cts --------- Co-authored-by: Jay <jasonsaayman@gmail.com>
This commit is contained in:
@@ -764,7 +764,7 @@ axios.interceptors.request.use(function (config) {
|
|||||||
```
|
```
|
||||||
|
|
||||||
If you want to execute a particular interceptor based on a runtime check,
|
If you want to execute a particular interceptor based on a runtime check,
|
||||||
you can add a `runWhen` function to the options object. The interceptor will not be executed **if and only if** the return
|
you can add a `runWhen` function to the options object. The request interceptor will not be executed **if and only if** the return
|
||||||
of `runWhen` is `false`. The function will be called with the config
|
of `runWhen` is `false`. The function will be called with the config
|
||||||
object (don't forget that you can bind your own arguments to it as well.) This can be handy when you have an
|
object (don't forget that you can bind your own arguments to it as well.) This can be handy when you have an
|
||||||
asynchronous request interceptor that only needs to run at certain times.
|
asynchronous request interceptor that only needs to run at certain times.
|
||||||
@@ -779,6 +779,8 @@ axios.interceptors.request.use(function (config) {
|
|||||||
}, null, { runWhen: onGetCall });
|
}, null, { runWhen: onGetCall });
|
||||||
```
|
```
|
||||||
|
|
||||||
|
> **Note:** options parameter(having `synchronous` and `runWhen` properties) is only supported for request interceptors at the moment.
|
||||||
|
|
||||||
### Multiple Interceptors
|
### Multiple Interceptors
|
||||||
|
|
||||||
Given you add multiple response interceptors
|
Given you add multiple response interceptors
|
||||||
|
|||||||
+5
-1
@@ -493,8 +493,12 @@ declare namespace axios {
|
|||||||
runWhen?: (config: InternalAxiosRequestConfig) => boolean;
|
runWhen?: (config: InternalAxiosRequestConfig) => boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type AxiosRequestInterceptorUse<T> = (onFulfilled?: ((value: T) => T | Promise<T>) | null, onRejected?: ((error: any) => any) | null, options?: AxiosInterceptorOptions) => number;
|
||||||
|
|
||||||
|
type AxiosResponseInterceptorUse<T> = (onFulfilled?: ((value: T) => T | Promise<T>) | null, onRejected?: ((error: any) => any) | null) => number;
|
||||||
|
|
||||||
interface AxiosInterceptorManager<V> {
|
interface AxiosInterceptorManager<V> {
|
||||||
use(onFulfilled?: (value: V) => V | Promise<V>, onRejected?: (error: any) => any, options?: AxiosInterceptorOptions): number;
|
use: V extends AxiosResponse ? AxiosResponseInterceptorUse<V> : AxiosRequestInterceptorUse<V>;
|
||||||
eject(id: number): void;
|
eject(id: number): void;
|
||||||
clear(): void;
|
clear(): void;
|
||||||
}
|
}
|
||||||
|
|||||||
Vendored
+5
-1
@@ -476,8 +476,12 @@ export interface AxiosInterceptorOptions {
|
|||||||
runWhen?: (config: InternalAxiosRequestConfig) => boolean;
|
runWhen?: (config: InternalAxiosRequestConfig) => boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type AxiosRequestInterceptorUse<T> = (onFulfilled?: ((value: T) => T | Promise<T>) | null, onRejected?: ((error: any) => any) | null, options?: AxiosInterceptorOptions) => number;
|
||||||
|
|
||||||
|
type AxiosResponseInterceptorUse<T> = (onFulfilled?: ((value: T) => T | Promise<T>) | null, onRejected?: ((error: any) => any) | null) => number;
|
||||||
|
|
||||||
export interface AxiosInterceptorManager<V> {
|
export interface AxiosInterceptorManager<V> {
|
||||||
use(onFulfilled?: ((value: V) => V | Promise<V>) | null, onRejected?: ((error: any) => any) | null, options?: AxiosInterceptorOptions): number;
|
use: V extends AxiosResponse ? AxiosResponseInterceptorUse<V> : AxiosRequestInterceptorUse<V>;
|
||||||
eject(id: number): void;
|
eject(id: number): void;
|
||||||
clear(): void;
|
clear(): void;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user