Skip to content

Commit 28a06e6

Browse files
Distinguish request and response data types (#4116)
Co-authored-by: Jay <jasonsaayman@gmail.com>
1 parent ba9c193 commit 28a06e6

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

index.d.ts

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ export interface TransitionalOptions{
4747
clarifyTimeoutError: boolean;
4848
}
4949

50-
export interface AxiosRequestConfig<T = any> {
50+
export interface AxiosRequestConfig<D = any> {
5151
url?: string;
5252
method?: Method;
5353
baseURL?: string;
@@ -56,7 +56,7 @@ export interface AxiosRequestConfig<T = any> {
5656
headers?: Record<string, string>;
5757
params?: any;
5858
paramsSerializer?: (params: any) => string;
59-
data?: T;
59+
data?: D;
6060
timeout?: number;
6161
timeoutErrorMessage?: string;
6262
withCredentials?: boolean;
@@ -81,20 +81,20 @@ export interface AxiosRequestConfig<T = any> {
8181
signal?: AbortSignal;
8282
}
8383

84-
export interface AxiosResponse<T = never> {
84+
export interface AxiosResponse<T = never, D = any> {
8585
data: T;
8686
status: number;
8787
statusText: string;
8888
headers: Record<string, string>;
89-
config: AxiosRequestConfig<T>;
89+
config: AxiosRequestConfig<D>;
9090
request?: any;
9191
}
9292

93-
export interface AxiosError<T = never> extends Error {
94-
config: AxiosRequestConfig;
93+
export interface AxiosError<T = never, D = any> extends Error {
94+
config: AxiosRequestConfig<D>;
9595
code?: string;
9696
request?: any;
97-
response?: AxiosResponse<T>;
97+
response?: AxiosResponse<T, D>;
9898
isAxiosError: boolean;
9999
toJSON: () => object;
100100
}
@@ -143,14 +143,14 @@ export class Axios {
143143
response: AxiosInterceptorManager<AxiosResponse>;
144144
};
145145
getUri(config?: AxiosRequestConfig): string;
146-
request<T = never, R = AxiosResponse<T>> (config: AxiosRequestConfig<T>): Promise<R>;
147-
get<T = never, R = AxiosResponse<T>>(url: string, config?: AxiosRequestConfig<T>): Promise<R>;
148-
delete<T = never, R = AxiosResponse<T>>(url: string, config?: AxiosRequestConfig<T>): Promise<R>;
149-
head<T = never, R = AxiosResponse<T>>(url: string, config?: AxiosRequestConfig<T>): Promise<R>;
150-
options<T = never, R = AxiosResponse<T>>(url: string, config?: AxiosRequestConfig<T>): Promise<R>;
151-
post<T = never, R = AxiosResponse<T>>(url: string, data?: T, config?: AxiosRequestConfig<T>): Promise<R>;
152-
put<T = never, R = AxiosResponse<T>>(url: string, data?: T, config?: AxiosRequestConfig<T>): Promise<R>;
153-
patch<T = never, R = AxiosResponse<T>>(url: string, data?: T, config?: AxiosRequestConfig<T>): Promise<R>;
146+
request<T = never, R = AxiosResponse<T>, D = any> (config: AxiosRequestConfig<D>): Promise<R>;
147+
get<T = never, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;
148+
delete<T = never, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;
149+
head<T = never, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;
150+
options<T = never, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;
151+
post<T = never, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>;
152+
put<T = never, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>;
153+
patch<T = never, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>;
154154
}
155155

156156
export interface AxiosInstance extends Axios {

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy