react-native-nitro-fetch 0.3.0-beta.1 → 1.0.1
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/NitroFetch.podspec +8 -0
- package/android/build.gradle +3 -0
- package/android/src/main/java/com/margelo/nitro/nitrofetch/NitroFetchClient.kt +46 -2
- package/android/src/main/java/com/margelo/nitro/nitrofetch/NitroFetchPackage.kt +2 -2
- package/app.plugin.js +1 -0
- package/expo/plugins/dist/index.d.ts +2 -0
- package/expo/plugins/dist/index.js +11 -0
- package/expo/plugins/dist/withAndroid.d.ts +2 -0
- package/expo/plugins/dist/withAndroid.js +21 -0
- package/ios/FetchCache.swift +14 -7
- package/ios/NitroFetchClient.swift +36 -1
- package/lib/module/CurlGenerator.js +28 -0
- package/lib/module/CurlGenerator.js.map +1 -0
- package/lib/module/Headers.js +95 -0
- package/lib/module/Headers.js.map +1 -0
- package/lib/module/HermesProfiler.js +28 -0
- package/lib/module/HermesProfiler.js.map +1 -0
- package/lib/module/NetworkInspector.js +184 -0
- package/lib/module/NetworkInspector.js.map +1 -0
- package/lib/module/Request.js +120 -0
- package/lib/module/Request.js.map +1 -0
- package/lib/module/Response.js +236 -0
- package/lib/module/Response.js.map +1 -0
- package/lib/module/fetch.js +143 -56
- package/lib/module/fetch.js.map +1 -1
- package/lib/module/index.js +6 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/utf8.js +29 -0
- package/lib/module/utf8.js.map +1 -0
- package/lib/typescript/expo/plugins/src/index.d.ts +3 -0
- package/lib/typescript/expo/plugins/src/index.d.ts.map +1 -0
- package/lib/typescript/expo/plugins/src/withAndroid.d.ts +3 -0
- package/lib/typescript/expo/plugins/src/withAndroid.d.ts.map +1 -0
- package/lib/typescript/src/CurlGenerator.d.ts +13 -0
- package/lib/typescript/src/CurlGenerator.d.ts.map +1 -0
- package/lib/typescript/src/Headers.d.ts +19 -0
- package/lib/typescript/src/Headers.d.ts.map +1 -0
- package/lib/typescript/src/HermesProfiler.d.ts +6 -0
- package/lib/typescript/src/HermesProfiler.d.ts.map +1 -0
- package/lib/typescript/src/NetworkInspector.d.ts +96 -0
- package/lib/typescript/src/NetworkInspector.d.ts.map +1 -0
- package/lib/typescript/src/Request.d.ts +48 -0
- package/lib/typescript/src/Request.d.ts.map +1 -0
- package/lib/typescript/src/Response.d.ts +56 -0
- package/lib/typescript/src/Response.d.ts.map +1 -0
- package/lib/typescript/src/fetch.d.ts +11 -3
- package/lib/typescript/src/fetch.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +13 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/utf8.d.ts +3 -0
- package/lib/typescript/src/utf8.d.ts.map +1 -0
- package/package.json +11 -5
- package/src/CurlGenerator.ts +44 -0
- package/src/Headers.ts +127 -0
- package/src/HermesProfiler.ts +37 -0
- package/src/NetworkInspector.ts +278 -0
- package/src/Request.ts +187 -0
- package/src/Response.ts +335 -0
- package/src/fetch.ts +186 -75
- package/src/index.tsx +22 -1
- package/src/utf8.ts +40 -0
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { NitroHeaders } from "./Headers.js";
|
|
4
|
+
import { stringToUTF8, utf8ToString } from "./utf8.js";
|
|
5
|
+
export class NitroRequest {
|
|
6
|
+
_bodyUsed = false;
|
|
7
|
+
constructor(input, init) {
|
|
8
|
+
if (input instanceof NitroRequest) {
|
|
9
|
+
// Clone from another NitroRequest
|
|
10
|
+
this.url = init?.method ? input.url : input.url; // URL always from input
|
|
11
|
+
this.method = (init?.method ?? input.method).toUpperCase();
|
|
12
|
+
this.headers = new NitroHeaders(init?.headers ? init.headers instanceof NitroHeaders ? init.headers : init.headers : input.headers);
|
|
13
|
+
this.redirect = init?.redirect ?? input.redirect;
|
|
14
|
+
this.signal = init?.signal ?? input.signal;
|
|
15
|
+
this.cache = init?.cache ?? input.cache;
|
|
16
|
+
this.credentials = init?.credentials ?? input.credentials;
|
|
17
|
+
this.mode = init?.mode ?? input.mode;
|
|
18
|
+
this.referrer = init?.referrer ?? input.referrer;
|
|
19
|
+
this.referrerPolicy = init?.referrerPolicy ?? input.referrerPolicy;
|
|
20
|
+
this.integrity = init?.integrity ?? input.integrity;
|
|
21
|
+
this.keepalive = init?.keepalive ?? input.keepalive;
|
|
22
|
+
this._body = init?.body !== undefined ? init.body ?? null : input._body;
|
|
23
|
+
} else {
|
|
24
|
+
this.url = String(input);
|
|
25
|
+
this.method = (init?.method ?? 'GET').toUpperCase();
|
|
26
|
+
this.headers = new NitroHeaders(init?.headers ? init.headers instanceof NitroHeaders ? init.headers : init.headers : undefined);
|
|
27
|
+
this.redirect = init?.redirect ?? 'follow';
|
|
28
|
+
this.signal = init?.signal ?? new AbortController().signal;
|
|
29
|
+
this.cache = init?.cache ?? 'default';
|
|
30
|
+
this.credentials = init?.credentials ?? 'same-origin';
|
|
31
|
+
this.mode = init?.mode ?? 'cors';
|
|
32
|
+
this.referrer = init?.referrer ?? 'about:client';
|
|
33
|
+
this.referrerPolicy = init?.referrerPolicy ?? '';
|
|
34
|
+
this.integrity = init?.integrity ?? '';
|
|
35
|
+
this.keepalive = init?.keepalive ?? false;
|
|
36
|
+
this._body = init?.body ?? null;
|
|
37
|
+
}
|
|
38
|
+
this.destination = '';
|
|
39
|
+
}
|
|
40
|
+
get bodyUsed() {
|
|
41
|
+
return this._bodyUsed;
|
|
42
|
+
}
|
|
43
|
+
get body() {
|
|
44
|
+
if (this._body == null) return null;
|
|
45
|
+
const bodyBytes = this._getBodyBytes();
|
|
46
|
+
if (!bodyBytes) return null;
|
|
47
|
+
return new ReadableStream({
|
|
48
|
+
start(controller) {
|
|
49
|
+
controller.enqueue(new Uint8Array(bodyBytes));
|
|
50
|
+
controller.close();
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
_throwIfBodyUsed() {
|
|
55
|
+
if (this._bodyUsed) {
|
|
56
|
+
throw new TypeError('Body has already been consumed.');
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
_getBodyBytes() {
|
|
60
|
+
if (this._body == null) return undefined;
|
|
61
|
+
if (typeof this._body === 'string') {
|
|
62
|
+
const encoded = stringToUTF8(this._body);
|
|
63
|
+
return encoded.buffer.slice(encoded.byteOffset, encoded.byteOffset + encoded.byteLength);
|
|
64
|
+
}
|
|
65
|
+
if (this._body instanceof ArrayBuffer) return this._body;
|
|
66
|
+
if (ArrayBuffer.isView(this._body)) {
|
|
67
|
+
const view = this._body;
|
|
68
|
+
return view.buffer.slice(view.byteOffset, view.byteOffset + view.byteLength);
|
|
69
|
+
}
|
|
70
|
+
return undefined;
|
|
71
|
+
}
|
|
72
|
+
_getBodyString() {
|
|
73
|
+
if (this._body == null) return '';
|
|
74
|
+
if (typeof this._body === 'string') return this._body;
|
|
75
|
+
const bytes = this._getBodyBytes();
|
|
76
|
+
if (bytes) return utf8ToString(new Uint8Array(bytes));
|
|
77
|
+
return '';
|
|
78
|
+
}
|
|
79
|
+
async text() {
|
|
80
|
+
this._throwIfBodyUsed();
|
|
81
|
+
this._bodyUsed = true;
|
|
82
|
+
return this._getBodyString();
|
|
83
|
+
}
|
|
84
|
+
async json() {
|
|
85
|
+
this._throwIfBodyUsed();
|
|
86
|
+
this._bodyUsed = true;
|
|
87
|
+
const t = this._getBodyString();
|
|
88
|
+
return JSON.parse(t || '{}');
|
|
89
|
+
}
|
|
90
|
+
async arrayBuffer() {
|
|
91
|
+
this._throwIfBodyUsed();
|
|
92
|
+
this._bodyUsed = true;
|
|
93
|
+
return this._getBodyBytes() ?? new ArrayBuffer(0);
|
|
94
|
+
}
|
|
95
|
+
async blob() {
|
|
96
|
+
this._throwIfBodyUsed();
|
|
97
|
+
this._bodyUsed = true;
|
|
98
|
+
const buffer = this._getBodyBytes() ?? new ArrayBuffer(0);
|
|
99
|
+
const contentType = this.headers.get('content-type') ?? '';
|
|
100
|
+
return new Blob([buffer], {
|
|
101
|
+
type: contentType
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
async bytes() {
|
|
105
|
+
this._throwIfBodyUsed();
|
|
106
|
+
this._bodyUsed = true;
|
|
107
|
+
const buffer = this._getBodyBytes() ?? new ArrayBuffer(0);
|
|
108
|
+
return new Uint8Array(buffer);
|
|
109
|
+
}
|
|
110
|
+
clone() {
|
|
111
|
+
if (this._bodyUsed) {
|
|
112
|
+
throw new TypeError('Cannot clone a Request whose body has been used.');
|
|
113
|
+
}
|
|
114
|
+
return new NitroRequest(this);
|
|
115
|
+
}
|
|
116
|
+
async formData() {
|
|
117
|
+
throw new TypeError('formData() is not supported in NitroRequest');
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=Request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NitroHeaders","stringToUTF8","utf8ToString","NitroRequest","_bodyUsed","constructor","input","init","url","method","toUpperCase","headers","redirect","signal","cache","credentials","mode","referrer","referrerPolicy","integrity","keepalive","_body","body","undefined","String","AbortController","destination","bodyUsed","bodyBytes","_getBodyBytes","ReadableStream","start","controller","enqueue","Uint8Array","close","_throwIfBodyUsed","TypeError","encoded","buffer","slice","byteOffset","byteLength","ArrayBuffer","isView","view","_getBodyString","bytes","text","json","t","JSON","parse","arrayBuffer","blob","contentType","get","Blob","type","clone","formData"],"sourceRoot":"../../src","sources":["Request.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { NitroHeaders } from "./Headers.js";
|
|
4
|
+
import { stringToUTF8, utf8ToString } from "./utf8.js";
|
|
5
|
+
function isNitroResponseInit(arg) {
|
|
6
|
+
return arg != null && typeof arg === 'object' && 'url' in arg && 'status' in arg && 'ok' in arg;
|
|
7
|
+
}
|
|
8
|
+
export class NitroResponse {
|
|
9
|
+
_bodyUsed = false;
|
|
10
|
+
constructor(bodyOrInit, init) {
|
|
11
|
+
if (isNitroResponseInit(bodyOrInit)) {
|
|
12
|
+
// Internal constructor path
|
|
13
|
+
const nitroInit = bodyOrInit;
|
|
14
|
+
this.url = nitroInit.url;
|
|
15
|
+
this.ok = nitroInit.ok;
|
|
16
|
+
this.status = nitroInit.status;
|
|
17
|
+
this.statusText = nitroInit.statusText;
|
|
18
|
+
this.redirected = nitroInit.redirected;
|
|
19
|
+
this.type = nitroInit.type ?? 'basic';
|
|
20
|
+
if (nitroInit.headers instanceof NitroHeaders) {
|
|
21
|
+
this.headers = nitroInit.headers;
|
|
22
|
+
} else {
|
|
23
|
+
this.headers = new NitroHeaders(nitroInit.headers);
|
|
24
|
+
}
|
|
25
|
+
this._bodyBytes = nitroInit.bodyBytes;
|
|
26
|
+
this._bodyString = nitroInit.bodyString;
|
|
27
|
+
this._bodyStream = nitroInit.body;
|
|
28
|
+
} else {
|
|
29
|
+
// Public constructor: new Response(body?, init?)
|
|
30
|
+
const body = bodyOrInit;
|
|
31
|
+
this.status = init?.status ?? 200;
|
|
32
|
+
this.statusText = init?.statusText ?? '';
|
|
33
|
+
this.ok = this.status >= 200 && this.status < 300;
|
|
34
|
+
this.url = '';
|
|
35
|
+
this.redirected = false;
|
|
36
|
+
this.type = 'default';
|
|
37
|
+
this.headers = new NitroHeaders(init?.headers);
|
|
38
|
+
if (body == null) {
|
|
39
|
+
// no body
|
|
40
|
+
} else if (typeof body === 'string') {
|
|
41
|
+
this._bodyString = body;
|
|
42
|
+
} else if (body instanceof ArrayBuffer) {
|
|
43
|
+
this._bodyBytes = body;
|
|
44
|
+
} else if (ArrayBuffer.isView(body)) {
|
|
45
|
+
const view = body;
|
|
46
|
+
this._bodyBytes = view.buffer.slice(view.byteOffset, view.byteOffset + view.byteLength);
|
|
47
|
+
} else if (typeof ReadableStream !== 'undefined' && body instanceof ReadableStream) {
|
|
48
|
+
this._bodyStream = body;
|
|
49
|
+
} else if (typeof URLSearchParams !== 'undefined' && body instanceof URLSearchParams) {
|
|
50
|
+
this._bodyString = body.toString();
|
|
51
|
+
if (!this.headers.has('content-type')) {
|
|
52
|
+
this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');
|
|
53
|
+
}
|
|
54
|
+
} else if (typeof Blob !== 'undefined' && body instanceof Blob) {
|
|
55
|
+
// Store as string — RN Blobs are string-backed
|
|
56
|
+
this._bodyString = '';
|
|
57
|
+
this._bodyStream = body.stream?.();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
get bodyUsed() {
|
|
62
|
+
return this._bodyUsed;
|
|
63
|
+
}
|
|
64
|
+
get body() {
|
|
65
|
+
if (this._bodyStream) return this._bodyStream;
|
|
66
|
+
const bytes = this._getBodyBytes();
|
|
67
|
+
if (!bytes) return null;
|
|
68
|
+
return new ReadableStream({
|
|
69
|
+
start(controller) {
|
|
70
|
+
controller.enqueue(new Uint8Array(bytes));
|
|
71
|
+
controller.close();
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
_throwIfBodyUsed() {
|
|
76
|
+
if (this._bodyUsed) {
|
|
77
|
+
throw new TypeError('Body has already been consumed.');
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
_getBodyBytes() {
|
|
81
|
+
if (this._bodyBytes) return this._bodyBytes;
|
|
82
|
+
if (this._bodyString != null) {
|
|
83
|
+
const encoded = stringToUTF8(this._bodyString);
|
|
84
|
+
return encoded.buffer.slice(encoded.byteOffset, encoded.byteOffset + encoded.byteLength);
|
|
85
|
+
}
|
|
86
|
+
return undefined;
|
|
87
|
+
}
|
|
88
|
+
_getBodyString() {
|
|
89
|
+
if (this._bodyString != null) return this._bodyString;
|
|
90
|
+
if (this._bodyBytes) {
|
|
91
|
+
return utf8ToString(new Uint8Array(this._bodyBytes));
|
|
92
|
+
}
|
|
93
|
+
return '';
|
|
94
|
+
}
|
|
95
|
+
async text() {
|
|
96
|
+
this._throwIfBodyUsed();
|
|
97
|
+
this._bodyUsed = true;
|
|
98
|
+
if (this._bodyStream && !this._bodyBytes && this._bodyString == null) {
|
|
99
|
+
const reader = this._bodyStream.getReader();
|
|
100
|
+
const chunks = [];
|
|
101
|
+
while (true) {
|
|
102
|
+
const {
|
|
103
|
+
done,
|
|
104
|
+
value
|
|
105
|
+
} = await reader.read();
|
|
106
|
+
if (done) break;
|
|
107
|
+
if (value) chunks.push(value);
|
|
108
|
+
}
|
|
109
|
+
// Concatenate chunks
|
|
110
|
+
let totalLen = 0;
|
|
111
|
+
for (const c of chunks) totalLen += c.byteLength;
|
|
112
|
+
const merged = new Uint8Array(totalLen);
|
|
113
|
+
let offset = 0;
|
|
114
|
+
for (const c of chunks) {
|
|
115
|
+
merged.set(c, offset);
|
|
116
|
+
offset += c.byteLength;
|
|
117
|
+
}
|
|
118
|
+
return utf8ToString(merged);
|
|
119
|
+
}
|
|
120
|
+
return this._getBodyString();
|
|
121
|
+
}
|
|
122
|
+
async json() {
|
|
123
|
+
this._throwIfBodyUsed();
|
|
124
|
+
this._bodyUsed = true;
|
|
125
|
+
const t = this._getBodyString();
|
|
126
|
+
return JSON.parse(t || '{}');
|
|
127
|
+
}
|
|
128
|
+
async arrayBuffer() {
|
|
129
|
+
this._throwIfBodyUsed();
|
|
130
|
+
this._bodyUsed = true;
|
|
131
|
+
if (this._bodyStream && !this._bodyBytes && this._bodyString == null) {
|
|
132
|
+
const reader = this._bodyStream.getReader();
|
|
133
|
+
const chunks = [];
|
|
134
|
+
while (true) {
|
|
135
|
+
const {
|
|
136
|
+
done,
|
|
137
|
+
value
|
|
138
|
+
} = await reader.read();
|
|
139
|
+
if (done) break;
|
|
140
|
+
if (value) chunks.push(value);
|
|
141
|
+
}
|
|
142
|
+
let totalLen = 0;
|
|
143
|
+
for (const c of chunks) totalLen += c.byteLength;
|
|
144
|
+
const merged = new Uint8Array(totalLen);
|
|
145
|
+
let offset = 0;
|
|
146
|
+
for (const c of chunks) {
|
|
147
|
+
merged.set(c, offset);
|
|
148
|
+
offset += c.byteLength;
|
|
149
|
+
}
|
|
150
|
+
return merged.buffer.slice(merged.byteOffset, merged.byteOffset + merged.byteLength);
|
|
151
|
+
}
|
|
152
|
+
return this._getBodyBytes() ?? new ArrayBuffer(0);
|
|
153
|
+
}
|
|
154
|
+
async blob() {
|
|
155
|
+
this._throwIfBodyUsed();
|
|
156
|
+
this._bodyUsed = true;
|
|
157
|
+
// RN's Blob doesn't support ArrayBuffer/ArrayBufferView — use string body
|
|
158
|
+
const bodyStr = this._getBodyString();
|
|
159
|
+
const contentType = this.headers.get('content-type') ?? '';
|
|
160
|
+
return new Blob([bodyStr], {
|
|
161
|
+
type: contentType
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
async bytes() {
|
|
165
|
+
this._throwIfBodyUsed();
|
|
166
|
+
this._bodyUsed = true;
|
|
167
|
+
const buffer = this._getBodyBytes() ?? new ArrayBuffer(0);
|
|
168
|
+
return new Uint8Array(buffer);
|
|
169
|
+
}
|
|
170
|
+
clone() {
|
|
171
|
+
if (this._bodyUsed) {
|
|
172
|
+
throw new TypeError('Cannot clone a Response whose body has been used.');
|
|
173
|
+
}
|
|
174
|
+
return new NitroResponse({
|
|
175
|
+
url: this.url,
|
|
176
|
+
status: this.status,
|
|
177
|
+
statusText: this.statusText,
|
|
178
|
+
ok: this.ok,
|
|
179
|
+
redirected: this.redirected,
|
|
180
|
+
headers: this.headers,
|
|
181
|
+
bodyBytes: this._bodyBytes,
|
|
182
|
+
bodyString: this._bodyString,
|
|
183
|
+
type: this.type
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
async formData() {
|
|
187
|
+
throw new TypeError('formData() is not supported in NitroResponse');
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
// --- Static methods ---
|
|
191
|
+
|
|
192
|
+
static error() {
|
|
193
|
+
return new NitroResponse({
|
|
194
|
+
url: '',
|
|
195
|
+
status: 0,
|
|
196
|
+
statusText: '',
|
|
197
|
+
ok: false,
|
|
198
|
+
redirected: false,
|
|
199
|
+
headers: [],
|
|
200
|
+
type: 'error'
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
static json(data, init) {
|
|
204
|
+
const body = JSON.stringify(data);
|
|
205
|
+
const headers = new NitroHeaders(init?.headers);
|
|
206
|
+
if (!headers.has('content-type')) {
|
|
207
|
+
headers.set('content-type', 'application/json');
|
|
208
|
+
}
|
|
209
|
+
return new NitroResponse({
|
|
210
|
+
url: '',
|
|
211
|
+
status: init?.status ?? 200,
|
|
212
|
+
statusText: init?.statusText ?? '',
|
|
213
|
+
ok: (init?.status ?? 200) >= 200 && (init?.status ?? 200) < 300,
|
|
214
|
+
redirected: false,
|
|
215
|
+
headers,
|
|
216
|
+
bodyString: body
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
static redirect(url, status = 302) {
|
|
220
|
+
const validStatuses = [301, 302, 303, 307, 308];
|
|
221
|
+
if (!validStatuses.includes(status)) {
|
|
222
|
+
throw new RangeError(`Invalid redirect status: ${status}. Must be one of ${validStatuses.join(', ')}`);
|
|
223
|
+
}
|
|
224
|
+
const headers = new NitroHeaders();
|
|
225
|
+
headers.set('location', url);
|
|
226
|
+
return new NitroResponse({
|
|
227
|
+
url: '',
|
|
228
|
+
status,
|
|
229
|
+
statusText: '',
|
|
230
|
+
ok: false,
|
|
231
|
+
redirected: false,
|
|
232
|
+
headers
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
//# sourceMappingURL=Response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NitroHeaders","stringToUTF8","utf8ToString","isNitroResponseInit","arg","NitroResponse","_bodyUsed","constructor","bodyOrInit","init","nitroInit","url","ok","status","statusText","redirected","type","headers","_bodyBytes","bodyBytes","_bodyString","bodyString","_bodyStream","body","ArrayBuffer","isView","view","buffer","slice","byteOffset","byteLength","ReadableStream","URLSearchParams","toString","has","set","Blob","stream","bodyUsed","bytes","_getBodyBytes","start","controller","enqueue","Uint8Array","close","_throwIfBodyUsed","TypeError","encoded","undefined","_getBodyString","text","reader","getReader","chunks","done","value","read","push","totalLen","c","merged","offset","json","t","JSON","parse","arrayBuffer","blob","bodyStr","contentType","get","clone","formData","error","data","stringify","redirect","validStatuses","includes","RangeError","join"],"sourceRoot":"../../src","sources":["Response.ts"],"mappings":"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","ignoreList":[]}
|