got 14.3.0 → 14.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/source/types.d.ts +87 -40
- package/package.json +4 -2
package/dist/source/types.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
import type { Buffer } from 'node:buffer';
|
|
3
|
+
import type { Spread } from 'type-fest';
|
|
3
4
|
import type { CancelableRequest } from './as-promise/types.js';
|
|
4
5
|
import type { Response } from './core/response.js';
|
|
5
6
|
import type Options from './core/options.js';
|
|
@@ -60,32 +61,10 @@ export type ExtendOptions = {
|
|
|
60
61
|
*/
|
|
61
62
|
mutableDefaults?: boolean;
|
|
62
63
|
} & OptionsInit;
|
|
63
|
-
export type OptionsOfTextResponseBody = Merge<OptionsInit, {
|
|
64
|
-
isStream?: false;
|
|
65
|
-
resolveBodyOnly?: false;
|
|
66
|
-
responseType?: 'text';
|
|
67
|
-
}>;
|
|
68
|
-
export type OptionsOfJSONResponseBody = Merge<OptionsInit, {
|
|
69
|
-
isStream?: false;
|
|
70
|
-
resolveBodyOnly?: false;
|
|
71
|
-
responseType?: 'json';
|
|
72
|
-
}>;
|
|
73
|
-
export type OptionsOfBufferResponseBody = Merge<OptionsInit, {
|
|
74
|
-
isStream?: false;
|
|
75
|
-
resolveBodyOnly?: false;
|
|
76
|
-
responseType: 'buffer';
|
|
77
|
-
}>;
|
|
78
|
-
export type OptionsOfUnknownResponseBody = Merge<OptionsInit, {
|
|
79
|
-
isStream?: false;
|
|
80
|
-
resolveBodyOnly?: false;
|
|
81
|
-
}>;
|
|
82
64
|
export type StrictOptions = Except<OptionsInit, 'isStream' | 'responseType' | 'resolveBodyOnly'>;
|
|
83
65
|
export type StreamOptions = Merge<OptionsInit, {
|
|
84
66
|
isStream?: true;
|
|
85
67
|
}>;
|
|
86
|
-
type ResponseBodyOnly = {
|
|
87
|
-
resolveBodyOnly: true;
|
|
88
|
-
};
|
|
89
68
|
export type OptionsWithPagination<T = unknown, R = unknown> = Merge<OptionsInit, {
|
|
90
69
|
pagination?: PaginationOptions<T, R>;
|
|
91
70
|
}>;
|
|
@@ -145,21 +124,84 @@ export type GotPaginate = {
|
|
|
145
124
|
*/
|
|
146
125
|
all: (<T, R = unknown>(url: string | URL, options?: OptionsWithPagination<T, R>) => Promise<T[]>) & (<T, R = unknown>(options?: OptionsWithPagination<T, R>) => Promise<T[]>);
|
|
147
126
|
};
|
|
148
|
-
export type
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
127
|
+
export type OptionsOfTextResponseBody = Merge<StrictOptions, {
|
|
128
|
+
isStream?: false;
|
|
129
|
+
responseType?: 'text';
|
|
130
|
+
}>;
|
|
131
|
+
export type OptionsOfTextResponseBodyOnly = Merge<StrictOptions, {
|
|
132
|
+
isStream?: false;
|
|
133
|
+
resolveBodyOnly: true;
|
|
134
|
+
responseType?: 'text';
|
|
135
|
+
}>;
|
|
136
|
+
export type OptionsOfTextResponseBodyWrapped = Merge<StrictOptions, {
|
|
137
|
+
isStream?: false;
|
|
138
|
+
resolveBodyOnly: false;
|
|
139
|
+
responseType?: 'text';
|
|
140
|
+
}>;
|
|
141
|
+
export type OptionsOfJSONResponseBody = Merge<StrictOptions, {
|
|
142
|
+
isStream?: false;
|
|
143
|
+
responseType?: 'json';
|
|
144
|
+
}>;
|
|
145
|
+
export type OptionsOfJSONResponseBodyOnly = Merge<StrictOptions, {
|
|
146
|
+
isStream?: false;
|
|
147
|
+
resolveBodyOnly: true;
|
|
148
|
+
responseType?: 'json';
|
|
149
|
+
}>;
|
|
150
|
+
export type OptionsOfJSONResponseBodyWrapped = Merge<StrictOptions, {
|
|
151
|
+
isStream?: false;
|
|
152
|
+
resolveBodyOnly: false;
|
|
153
|
+
responseType?: 'json';
|
|
154
|
+
}>;
|
|
155
|
+
export type OptionsOfBufferResponseBody = Merge<StrictOptions, {
|
|
156
|
+
isStream?: false;
|
|
157
|
+
responseType?: 'buffer';
|
|
158
|
+
}>;
|
|
159
|
+
export type OptionsOfBufferResponseBodyOnly = Merge<StrictOptions, {
|
|
160
|
+
isStream?: false;
|
|
161
|
+
resolveBodyOnly: true;
|
|
162
|
+
responseType?: 'buffer';
|
|
163
|
+
}>;
|
|
164
|
+
export type OptionsOfBufferResponseBodyWrapped = Merge<StrictOptions, {
|
|
165
|
+
isStream?: false;
|
|
166
|
+
resolveBodyOnly: false;
|
|
167
|
+
responseType?: 'buffer';
|
|
168
|
+
}>;
|
|
169
|
+
export type OptionsOfUnknownResponseBody = Merge<StrictOptions, {
|
|
170
|
+
isStream?: false;
|
|
171
|
+
}>;
|
|
172
|
+
export type OptionsOfUnknownResponseBodyOnly = Merge<StrictOptions, {
|
|
173
|
+
isStream?: false;
|
|
174
|
+
resolveBodyOnly: true;
|
|
175
|
+
}>;
|
|
176
|
+
export type OptionsOfUnknownResponseBodyWrapped = Merge<StrictOptions, {
|
|
177
|
+
isStream?: false;
|
|
178
|
+
resolveBodyOnly: false;
|
|
179
|
+
}>;
|
|
180
|
+
export type GotRequestFunction<U extends ExtendOptions = Record<string, unknown>> = {
|
|
181
|
+
(url: string | URL, options?: OptionsOfTextResponseBody): U['resolveBodyOnly'] extends true ? CancelableRequest<string> : CancelableRequest<Response<string>>;
|
|
182
|
+
<T>(url: string | URL, options?: OptionsOfJSONResponseBody): U['resolveBodyOnly'] extends true ? CancelableRequest<T> : CancelableRequest<Response<T>>;
|
|
183
|
+
(url: string | URL, options?: OptionsOfBufferResponseBody): U['resolveBodyOnly'] extends true ? CancelableRequest<Buffer> : CancelableRequest<Response<Buffer>>;
|
|
184
|
+
(url: string | URL, options?: OptionsOfUnknownResponseBody): U['resolveBodyOnly'] extends true ? CancelableRequest : CancelableRequest<Response>;
|
|
185
|
+
(url: string | URL, options?: OptionsOfTextResponseBodyWrapped): CancelableRequest<Response<string>>;
|
|
186
|
+
<T>(url: string | URL, options?: OptionsOfJSONResponseBodyWrapped): CancelableRequest<Response<T>>;
|
|
187
|
+
(url: string | URL, options?: OptionsOfBufferResponseBodyWrapped): CancelableRequest<Response<Buffer>>;
|
|
188
|
+
(url: string | URL, options?: OptionsOfUnknownResponseBodyWrapped): CancelableRequest<Response>;
|
|
189
|
+
(url: string | URL, options?: OptionsOfTextResponseBodyOnly): CancelableRequest<string>;
|
|
190
|
+
<T>(url: string | URL, options?: OptionsOfJSONResponseBodyOnly): CancelableRequest<T>;
|
|
191
|
+
(url: string | URL, options?: OptionsOfBufferResponseBodyOnly): CancelableRequest<Buffer>;
|
|
192
|
+
(url: string | URL, options?: OptionsOfUnknownResponseBodyOnly): CancelableRequest;
|
|
193
|
+
(options: OptionsOfTextResponseBody): U['resolveBodyOnly'] extends true ? CancelableRequest<string> : CancelableRequest<Response<string>>;
|
|
194
|
+
<T>(options: OptionsOfJSONResponseBody): U['resolveBodyOnly'] extends true ? CancelableRequest<T> : CancelableRequest<Response<T>>;
|
|
195
|
+
(options: OptionsOfBufferResponseBody): U['resolveBodyOnly'] extends true ? CancelableRequest<Buffer> : CancelableRequest<Response<Buffer>>;
|
|
196
|
+
(options: OptionsOfUnknownResponseBody): U['resolveBodyOnly'] extends true ? CancelableRequest : CancelableRequest<Response>;
|
|
197
|
+
(options: OptionsOfTextResponseBodyWrapped): CancelableRequest<Response<string>>;
|
|
198
|
+
<T>(options: OptionsOfJSONResponseBodyWrapped): CancelableRequest<Response<T>>;
|
|
199
|
+
(options: OptionsOfBufferResponseBodyWrapped): CancelableRequest<Response<Buffer>>;
|
|
200
|
+
(options: OptionsOfUnknownResponseBodyWrapped): CancelableRequest<Response>;
|
|
201
|
+
(options: OptionsOfTextResponseBodyOnly): CancelableRequest<string>;
|
|
202
|
+
<T>(options: OptionsOfJSONResponseBodyOnly): CancelableRequest<T>;
|
|
203
|
+
(options: OptionsOfBufferResponseBodyOnly): CancelableRequest<Buffer>;
|
|
204
|
+
(options: OptionsOfUnknownResponseBodyOnly): CancelableRequest;
|
|
163
205
|
(url: string | URL, options?: Merge<OptionsInit, {
|
|
164
206
|
isStream: true;
|
|
165
207
|
}>): Request;
|
|
@@ -186,7 +228,7 @@ export type GotStream = GotStreamFunction & Record<HTTPAlias, GotStreamFunction>
|
|
|
186
228
|
/**
|
|
187
229
|
An instance of `got`.
|
|
188
230
|
*/
|
|
189
|
-
export type Got = {
|
|
231
|
+
export type Got<GotOptions extends ExtendOptions = ExtendOptions> = {
|
|
190
232
|
/**
|
|
191
233
|
Sets `options.isStream` to `true`.
|
|
192
234
|
|
|
@@ -256,6 +298,11 @@ export type Got = {
|
|
|
256
298
|
// x-unicorn: rainbow
|
|
257
299
|
```
|
|
258
300
|
*/
|
|
259
|
-
extend
|
|
260
|
-
} & Record<HTTPAlias, GotRequestFunction
|
|
301
|
+
extend<T extends Array<Got | ExtendOptions>>(...instancesOrOptions: T): Got<MergeExtendsConfig<T>>;
|
|
302
|
+
} & Record<HTTPAlias, GotRequestFunction<GotOptions>> & GotRequestFunction<GotOptions>;
|
|
303
|
+
export type ExtractExtendOptions<T> = T extends Got<infer GotOptions> ? GotOptions : T;
|
|
304
|
+
/**
|
|
305
|
+
Merges the options of multiple Got instances.
|
|
306
|
+
*/
|
|
307
|
+
export type MergeExtendsConfig<Value extends Array<Got | ExtendOptions>> = Value extends readonly [Value[0], ...infer NextValue] ? NextValue[0] extends undefined ? Value[0] extends infer OnlyValue ? OnlyValue extends ExtendOptions ? OnlyValue : OnlyValue extends Got<infer GotOptions> ? GotOptions : OnlyValue : never : ExtractExtendOptions<Value[0]> extends infer FirstArg extends ExtendOptions ? ExtractExtendOptions<NextValue[0] extends ExtendOptions | Got ? NextValue[0] : never> extends infer NextArg extends ExtendOptions ? Spread<FirstArg, NextArg> extends infer Merged extends ExtendOptions ? NextValue extends [NextValue[0], ...infer NextRest] ? NextRest extends Array<Got | ExtendOptions> ? MergeExtendsConfig<[Merged, ...NextRest]> : never : never : never : never : never : never;
|
|
261
308
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "got",
|
|
3
|
-
"version": "14.
|
|
3
|
+
"version": "14.4.0",
|
|
4
4
|
"description": "Human-friendly and powerful HTTP request library for Node.js",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": "sindresorhus/got",
|
|
@@ -81,6 +81,7 @@
|
|
|
81
81
|
"create-test-server": "^3.0.1",
|
|
82
82
|
"del-cli": "^5.1.0",
|
|
83
83
|
"delay": "^6.0.0",
|
|
84
|
+
"expect-type": "^0.19.0",
|
|
84
85
|
"express": "^4.19.2",
|
|
85
86
|
"form-data": "^4.0.0",
|
|
86
87
|
"formdata-node": "^6.0.3",
|
|
@@ -105,7 +106,8 @@
|
|
|
105
106
|
},
|
|
106
107
|
"ava": {
|
|
107
108
|
"files": [
|
|
108
|
-
"test/*"
|
|
109
|
+
"test/*",
|
|
110
|
+
"!test/*.types.ts"
|
|
109
111
|
],
|
|
110
112
|
"timeout": "10m",
|
|
111
113
|
"extensions": {
|