8000 Change never type to unknown (#4142) · darth-coder-js/axios@6c00232 · GitHub
[go: up one dir, main page]

Skip to content

Commit 6c00232

Browse files
remcohaszingcaugnerjasonsaayman
authored
Change never type to unknown (axios#4142)
* Distinguish request and response data types * Change never type to unknown Using `never` was a workaround I introduced in 3002, because `unknown` wasn’t supperted by all relevant versions of TypeScript at the time. It is now, and it is much more correct. Co-authored-by: Claas Augner <github@caugner.de> Co-authored-by: Jay <jasonsaayman@gmail.com>
1 parent 28a06e6 commit 6c00232

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

index.d.ts

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ export interface AxiosRequestConfig<D = any> {
8181
signal?: AbortSignal;
8282
}
8383

84-
export interface AxiosResponse<T = never, D = any> {
84+
export interface AxiosResponse<T = unknown, D = any> {
8585
data: T;
8686
status: number;
8787
statusText: string;
@@ -90,7 +90,7 @@ export interface AxiosResponse<T = never, D = any> {
9090
request?: any;
9191
}
9292

93-
export interface AxiosError<T = never, D = any> extends Error {
93+
export interface AxiosError<T = unknown, D = any> extends Error {
9494
config: AxiosRequestConfig<D>;
9595
code?: string;
9696
request?: any;
@@ -99,7 +99,7 @@ export interface AxiosError<T = never, D = any> extends Error {
9999
toJSON: () => object;
100100
}
101101

102-
export interface AxiosPromise<T = never> extends Promise<AxiosResponse<T>> {
102+
export interface AxiosPromise<T = unknown> extends Promise<AxiosResponse<T>> {
103103
}
104104

105105
export interface CancelStatic {
@@ -143,14 +143,14 @@ export class Axios {
143143
response: AxiosInterceptorManager<AxiosResponse>;
144144
};
145145
getUri(config?: AxiosRequestConfig): string;
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>;
146+
request<T = unknown, R = AxiosResponse<T>, D = any> (config: AxiosRequestConfig<D>): Promise<R>;
147+
get<T = unknown, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;
148+
delete<T = unknown, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;
149+
head<T = unknown, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;
150+
options<T = unknown, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;
151+
post<T = unknown, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>;
152+
put<T = unknown, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>;
153+
patch<T = unknown, 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)
0