@whatwg-node/node-fetch 0.7.4 → 0.7.5-alpha-20241210191217-8a3d7a6a4e1f62f3693b7a618bbb8c6b5ff513f9
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/cjs/Blob.js +2 -0
- package/cjs/Body.js +1 -0
- package/cjs/Headers.js +2 -2
- package/cjs/URL.js +9 -0
- package/esm/Blob.js +2 -0
- package/esm/Body.js +1 -0
- package/esm/Headers.js +1 -1
- package/esm/URL.js +9 -0
- package/package.json +1 -1
- package/typings/Blob.d.cts +2 -1
- package/typings/Blob.d.ts +2 -1
- package/typings/Body.d.cts +1 -1
- package/typings/Body.d.ts +1 -1
package/cjs/Blob.js
CHANGED
@@ -125,6 +125,7 @@ class PonyfillBlob {
|
|
125
125
|
}
|
126
126
|
arrayBuffer() {
|
127
127
|
if (this._buffer) {
|
128
|
+
// @ts-expect-error - `Buffer` and `ArrayBuffer` are compatible
|
128
129
|
return (0, utils_js_1.fakePromise)(this._buffer);
|
129
130
|
}
|
130
131
|
if (this.blobParts.length === 1) {
|
@@ -135,6 +136,7 @@ class PonyfillBlob {
|
|
135
136
|
return this.blobParts[0].arrayBuffer();
|
136
137
|
}
|
137
138
|
}
|
139
|
+
// @ts-expect-error - `Buffer` and `ArrayBuffer` are compatible
|
138
140
|
return this.buffer();
|
139
141
|
}
|
140
142
|
bytes() {
|
package/cjs/Body.js
CHANGED
package/cjs/Headers.js
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.PonyfillHeaders = void 0;
|
4
4
|
exports.isHeadersLike = isHeadersLike;
|
5
|
-
const
|
5
|
+
const node_util_1 = require("node:util");
|
6
6
|
const IteratorObject_js_1 = require("./IteratorObject.js");
|
7
7
|
function isHeadersLike(headers) {
|
8
8
|
return headers?.get && headers?.forEach;
|
@@ -250,7 +250,7 @@ class PonyfillHeaders {
|
|
250
250
|
record[key] = value.includes(',') ? value.split(',').map(el => el.trim()) : value;
|
251
251
|
}
|
252
252
|
});
|
253
|
-
return `Headers ${(0,
|
253
|
+
return `Headers ${(0, node_util_1.inspect)(record)}`;
|
254
254
|
}
|
255
255
|
}
|
256
256
|
exports.PonyfillHeaders = PonyfillHeaders;
|
package/cjs/URL.js
CHANGED
@@ -8,6 +8,7 @@ const fast_querystring_1 = tslib_1.__importDefault(require("fast-querystring"));
|
|
8
8
|
const fast_url_parser_1 = tslib_1.__importDefault(require("@kamilkisiela/fast-url-parser"));
|
9
9
|
const URLSearchParams_js_1 = require("./URLSearchParams.js");
|
10
10
|
fast_url_parser_1.default.queryString = fast_querystring_1.default;
|
11
|
+
const IPV6_REGEX = /^(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:0?0?[0-9]|0?[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}(?:0?0?[0-9]|0?[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))|::(?:[0-9A-Fa-f]{1,4}:){5}(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:0?0?[0-9]|0?[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}(?:0?0?[0-9]|0?[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:0?0?[0-9]|0?[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}(?:0?0?[0-9]|0?[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:0?0?[0-9]|0?[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}(?:0?0?[0-9]|0?[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:0?0?[0-9]|0?[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}(?:0?0?[0-9]|0?[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:0?0?[0-9]|0?[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}(?:0?0?[0-9]|0?[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:0?0?[0-9]|0?[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}(?:0?0?[0-9]|0?[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)(?:\/(?:0?0?[0-9]|0?[1-9][0-9]|1[01][0-9]|12[0-8]))?)$/;
|
11
12
|
class PonyfillURL extends fast_url_parser_1.default {
|
12
13
|
constructor(url, base) {
|
13
14
|
super();
|
@@ -17,6 +18,11 @@ class PonyfillURL extends fast_url_parser_1.default {
|
|
17
18
|
return;
|
18
19
|
}
|
19
20
|
this.parse(url, false);
|
21
|
+
// `fast-url-parser` cannot handle ipv6 hosts correctly
|
22
|
+
if ((url.startsWith('http://[') || url.startsWith('https://[')) &&
|
23
|
+
IPV6_REGEX.test(this.hostname)) {
|
24
|
+
this.hostname = `[${this.hostname}]`;
|
25
|
+
}
|
20
26
|
if (base) {
|
21
27
|
const baseParsed = typeof base === 'string' ? new PonyfillURL(base) : base;
|
22
28
|
this.protocol ||= baseParsed.protocol;
|
@@ -48,6 +54,9 @@ class PonyfillURL extends fast_url_parser_1.default {
|
|
48
54
|
this.auth = `${this.username}:${value}`;
|
49
55
|
}
|
50
56
|
toString() {
|
57
|
+
if (this._searchParams) {
|
58
|
+
this.search = this._searchParams.toString();
|
59
|
+
}
|
51
60
|
return this.format();
|
52
61
|
}
|
53
62
|
toJSON() {
|
package/esm/Blob.js
CHANGED
@@ -114,6 +114,7 @@ export class PonyfillBlob {
|
|
114
114
|
}
|
115
115
|
arrayBuffer() {
|
116
116
|
if (this._buffer) {
|
117
|
+
// @ts-expect-error - `Buffer` and `ArrayBuffer` are compatible
|
117
118
|
return fakePromise(this._buffer);
|
118
119
|
}
|
119
120
|
if (this.blobParts.length === 1) {
|
@@ -124,6 +125,7 @@ export class PonyfillBlob {
|
|
124
125
|
return this.blobParts[0].arrayBuffer();
|
125
126
|
}
|
126
127
|
}
|
128
|
+
// @ts-expect-error - `Buffer` and `ArrayBuffer` are compatible
|
127
129
|
return this.buffer();
|
128
130
|
}
|
129
131
|
bytes() {
|
package/esm/Body.js
CHANGED
package/esm/Headers.js
CHANGED
package/esm/URL.js
CHANGED
@@ -4,6 +4,7 @@ import FastQuerystring from 'fast-querystring';
|
|
4
4
|
import FastUrl from '@kamilkisiela/fast-url-parser';
|
5
5
|
import { PonyfillURLSearchParams } from './URLSearchParams.js';
|
6
6
|
FastUrl.queryString = FastQuerystring;
|
7
|
+
const IPV6_REGEX = /^(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:0?0?[0-9]|0?[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}(?:0?0?[0-9]|0?[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))|::(?:[0-9A-Fa-f]{1,4}:){5}(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:0?0?[0-9]|0?[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}(?:0?0?[0-9]|0?[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:0?0?[0-9]|0?[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}(?:0?0?[0-9]|0?[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:0?0?[0-9]|0?[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}(?:0?0?[0-9]|0?[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:0?0?[0-9]|0?[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}(?:0?0?[0-9]|0?[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:0?0?[0-9]|0?[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}(?:0?0?[0-9]|0?[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:0?0?[0-9]|0?[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}(?:0?0?[0-9]|0?[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)(?:\/(?:0?0?[0-9]|0?[1-9][0-9]|1[01][0-9]|12[0-8]))?)$/;
|
7
8
|
export class PonyfillURL extends FastUrl {
|
8
9
|
constructor(url, base) {
|
9
10
|
super();
|
@@ -13,6 +14,11 @@ export class PonyfillURL extends FastUrl {
|
|
13
14
|
return;
|
14
15
|
}
|
15
16
|
this.parse(url, false);
|
17
|
+
// `fast-url-parser` cannot handle ipv6 hosts correctly
|
18
|
+
if ((url.startsWith('http://[') || url.startsWith('https://[')) &&
|
19
|
+
IPV6_REGEX.test(this.hostname)) {
|
20
|
+
this.hostname = `[${this.hostname}]`;
|
21
|
+
}
|
16
22
|
if (base) {
|
17
23
|
const baseParsed = typeof base === 'string' ? new PonyfillURL(base) : base;
|
18
24
|
this.protocol ||= baseParsed.protocol;
|
@@ -44,6 +50,9 @@ export class PonyfillURL extends FastUrl {
|
|
44
50
|
this.auth = `${this.username}:${value}`;
|
45
51
|
}
|
46
52
|
toString() {
|
53
|
+
if (this._searchParams) {
|
54
|
+
this.search = this._searchParams.toString();
|
55
|
+
}
|
47
56
|
return this.format();
|
48
57
|
}
|
49
58
|
toJSON() {
|
package/package.json
CHANGED
package/typings/Blob.d.cts
CHANGED
@@ -19,6 +19,7 @@ export declare function hasBufferMethod(obj: any): obj is {
|
|
19
19
|
};
|
20
20
|
export declare function hasArrayBufferMethod(obj: any): obj is {
|
21
21
|
arrayBuffer(): Promise<ArrayBuffer>;
|
22
|
+
size?: number;
|
22
23
|
};
|
23
24
|
export declare function hasBytesMethod(obj: any): obj is {
|
24
25
|
bytes(): Promise<Uint8Array>;
|
@@ -41,7 +42,7 @@ export declare class PonyfillBlob implements Blob {
|
|
41
42
|
private _size;
|
42
43
|
constructor(blobParts?: BlobPart[], options?: BlobOptions);
|
43
44
|
_buffer: Buffer | null;
|
44
|
-
buffer(): Promise<Buffer
|
45
|
+
buffer(): Promise<Buffer<ArrayBufferLike>>;
|
45
46
|
arrayBuffer(): Promise<ArrayBuffer>;
|
46
47
|
bytes(): Promise<Uint8Array>;
|
47
48
|
_text: string | null;
|
package/typings/Blob.d.ts
CHANGED
@@ -19,6 +19,7 @@ export declare function hasBufferMethod(obj: any): obj is {
|
|
19
19
|
};
|
20
20
|
export declare function hasArrayBufferMethod(obj: any): obj is {
|
21
21
|
arrayBuffer(): Promise<ArrayBuffer>;
|
22
|
+
size?: number;
|
22
23
|
};
|
23
24
|
export declare function hasBytesMethod(obj: any): obj is {
|
24
25
|
bytes(): Promise<Uint8Array>;
|
@@ -41,7 +42,7 @@ export declare class PonyfillBlob implements Blob {
|
|
41
42
|
private _size;
|
42
43
|
constructor(blobParts?: BlobPart[], options?: BlobOptions);
|
43
44
|
_buffer: Buffer | null;
|
44
|
-
buffer(): Promise<Buffer
|
45
|
+
buffer(): Promise<Buffer<ArrayBufferLike>>;
|
45
46
|
arrayBuffer(): Promise<ArrayBuffer>;
|
46
47
|
bytes(): Promise<Uint8Array>;
|
47
48
|
_text: string | null;
|
package/typings/Body.d.cts
CHANGED
@@ -32,7 +32,7 @@ export declare class PonyfillBody<TJSON = any> implements Body {
|
|
32
32
|
}, forceSet?: boolean): void;
|
33
33
|
get body(): PonyfillReadableStream<Uint8Array> | null;
|
34
34
|
_chunks: Uint8Array[] | null;
|
35
|
-
_collectChunksFromReadable(): Promise<Uint8Array[]>;
|
35
|
+
_collectChunksFromReadable(): Promise<Uint8Array<ArrayBufferLike>[]>;
|
36
36
|
_blob: PonyfillBlob | null;
|
37
37
|
blob(): Promise<PonyfillBlob>;
|
38
38
|
_formData: PonyfillFormData | null;
|
package/typings/Body.d.ts
CHANGED
@@ -32,7 +32,7 @@ export declare class PonyfillBody<TJSON = any> implements Body {
|
|
32
32
|
}, forceSet?: boolean): void;
|
33
33
|
get body(): PonyfillReadableStream<Uint8Array> | null;
|
34
34
|
_chunks: Uint8Array[] | null;
|
35
|
-
_collectChunksFromReadable(): Promise<Uint8Array[]>;
|
35
|
+
_collectChunksFromReadable(): Promise<Uint8Array<ArrayBufferLike>[]>;
|
36
36
|
_blob: PonyfillBlob | null;
|
37
37
|
blob(): Promise<PonyfillBlob>;
|
38
38
|
_formData: PonyfillFormData | null;
|