mphttpx 1.2.0-beta.1 → 1.2.0-beta.3
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/cjs/AbortControllerP.js +31 -0
- package/dist/cjs/AbortSignalP.js +126 -0
- package/dist/cjs/BlobP.js +131 -0
- package/dist/cjs/BodyImpl.js +142 -0
- package/dist/cjs/CloseEventP.js +38 -0
- package/dist/cjs/CustomEventP.js +35 -0
- package/dist/cjs/EventP.js +173 -0
- package/dist/cjs/EventTargetP.js +176 -0
- package/dist/cjs/FileP.js +36 -0
- package/dist/cjs/FileReaderP.js +151 -0
- package/dist/cjs/FormDataP.js +250 -0
- package/dist/cjs/HeadersP.js +184 -0
- package/dist/cjs/MessageEventP.js +64 -0
- package/dist/cjs/ProgressEventP.js +69 -0
- package/dist/cjs/RequestP.js +150 -0
- package/dist/cjs/ResponseP.js +102 -0
- package/dist/cjs/TextDecoderP.js +186 -0
- package/dist/cjs/TextEncoderP.js +122 -0
- package/dist/cjs/URLSearchParamsP.js +230 -0
- package/dist/cjs/WebSocketP.js +238 -0
- package/dist/cjs/XMLHttpRequestP.js +563 -0
- package/dist/cjs/convertor.js +83 -0
- package/dist/cjs/fetchP.js +115 -0
- package/dist/cjs/index.js +80 -0
- package/dist/cjs/isPolyfill.js +56 -0
- package/dist/cjs/platform.js +33 -0
- package/dist/esm/AbortControllerP.js +28 -0
- package/dist/esm/AbortSignalP.js +121 -0
- package/dist/esm/BlobP.js +124 -0
- package/dist/esm/BodyImpl.js +137 -0
- package/dist/esm/CloseEventP.js +35 -0
- package/dist/esm/CustomEventP.js +32 -0
- package/dist/esm/EventP.js +165 -0
- package/dist/esm/EventTargetP.js +168 -0
- package/dist/esm/FileP.js +33 -0
- package/dist/esm/FileReaderP.js +148 -0
- package/dist/esm/FormDataP.js +245 -0
- package/dist/esm/HeadersP.js +177 -0
- package/dist/esm/MessageEventP.js +61 -0
- package/dist/esm/ProgressEventP.js +65 -0
- package/dist/esm/RequestP.js +146 -0
- package/dist/esm/ResponseP.js +98 -0
- package/dist/esm/TextDecoderP.js +183 -0
- package/dist/esm/TextEncoderP.js +119 -0
- package/dist/esm/URLSearchParamsP.js +227 -0
- package/dist/esm/WebSocketP.js +234 -0
- package/dist/esm/XMLHttpRequestP.js +559 -0
- package/dist/esm/convertor.js +80 -0
- package/dist/esm/fetchP.js +111 -0
- package/dist/esm/index.js +25 -0
- package/dist/esm/isPolyfill.js +48 -0
- package/dist/esm/platform.js +31 -0
- package/dist/index.d.ts +1 -5
- package/package.json +7 -10
- package/dist/index.cjs.js +0 -3252
- package/dist/index.cjs.min.js +0 -1
- package/dist/index.esm.js +0 -3212
- package/dist/index.esm.min.js +0 -1
package/dist/index.esm.js
DELETED
|
@@ -1,3212 +0,0 @@
|
|
|
1
|
-
/* eslint-disable no-prototype-builtins */
|
|
2
|
-
/** @internal */ const g = (typeof globalThis !== "undefined" && globalThis) ||
|
|
3
|
-
(typeof self !== "undefined" && self) ||
|
|
4
|
-
// @ts-ignore eslint-disable-next-line no-undef
|
|
5
|
-
(typeof global !== "undefined" && global) ||
|
|
6
|
-
{};
|
|
7
|
-
/** @internal */
|
|
8
|
-
const polyfill = "MPHTTPX";
|
|
9
|
-
/** @internal */
|
|
10
|
-
function checkArgsLength(args, required, className, funcName) {
|
|
11
|
-
if (args.length < required) {
|
|
12
|
-
throw new TypeError(`Failed to ${funcName ? ("execute '" + funcName + "' on") : "construct"} '${className}': ${required} argument${required > 1 ? "s" : ""} required, but only ${args.length} present.`);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
/** @internal */
|
|
16
|
-
class MPException extends Error {
|
|
17
|
-
constructor(message, name) {
|
|
18
|
-
super(message);
|
|
19
|
-
this.name = "Error";
|
|
20
|
-
if (name) {
|
|
21
|
-
this.name = name;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
/** @internal */
|
|
26
|
-
function isObjectType(name, value) {
|
|
27
|
-
return Object.prototype.toString.call(value) === `[object ${name}]`;
|
|
28
|
-
}
|
|
29
|
-
/** @internal */
|
|
30
|
-
function isPolyfillType(name, value, strict = false) {
|
|
31
|
-
return !!value
|
|
32
|
-
&& typeof value === "object"
|
|
33
|
-
&& "isPolyfill" in value
|
|
34
|
-
&& !!value.isPolyfill
|
|
35
|
-
&& typeof value.isPolyfill === "object"
|
|
36
|
-
&& "symbol" in value.isPolyfill
|
|
37
|
-
&& value.isPolyfill.symbol === polyfill
|
|
38
|
-
&& "hierarchy" in value.isPolyfill
|
|
39
|
-
&& Array.isArray(value.isPolyfill.hierarchy)
|
|
40
|
-
&& ((index) => strict ? index === 0 : index > -1)(value.isPolyfill.hierarchy.indexOf(name));
|
|
41
|
-
}
|
|
42
|
-
/** @internal */
|
|
43
|
-
function isArrayBuffer(value) {
|
|
44
|
-
// Mini Program
|
|
45
|
-
return isObjectType("ArrayBuffer", value) || (!!value && typeof value === "object" && ArrayBuffer.prototype.isPrototypeOf(value));
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
class TextEncoderP {
|
|
49
|
-
get encoding() { return "utf-8"; }
|
|
50
|
-
encode(input = "") {
|
|
51
|
-
let _input = "" + input;
|
|
52
|
-
return encodeText(_input).encoded;
|
|
53
|
-
}
|
|
54
|
-
encodeInto(...args) {
|
|
55
|
-
const [source, destination] = args;
|
|
56
|
-
checkArgsLength(args, 2, "TextEncoder", "encodeInto");
|
|
57
|
-
let _source = "" + source;
|
|
58
|
-
if (!(destination instanceof Uint8Array || isObjectType("Uint8Array", destination))) {
|
|
59
|
-
throw new TypeError("Failed to execute 'encodeInto' on 'TextEncoder': parameter 2 is not of type 'Uint8Array'.");
|
|
60
|
-
}
|
|
61
|
-
let result = encodeText(_source, destination);
|
|
62
|
-
return { read: result.read, written: result.written };
|
|
63
|
-
}
|
|
64
|
-
/** @internal */ toString() { return "[object TextEncoder]"; }
|
|
65
|
-
/** @internal */ get [Symbol.toStringTag]() { return "TextEncoder"; }
|
|
66
|
-
/** @internal */ get isPolyfill() { return { symbol: polyfill, hierarchy: ["TextEncoder"] }; }
|
|
67
|
-
}
|
|
68
|
-
function encodeText(input, destination) {
|
|
69
|
-
const HAS_DESTINATION = typeof destination !== "undefined";
|
|
70
|
-
let pos = 0;
|
|
71
|
-
let read = 0;
|
|
72
|
-
let len = input.length;
|
|
73
|
-
let at = 0; // output position
|
|
74
|
-
let tlen = Math.max(32, len + (len >> 1) + 7); // 1.5x size
|
|
75
|
-
let target = HAS_DESTINATION ? destination : new Uint8Array((tlen >> 3) << 3); // ... but at 8 byte offset
|
|
76
|
-
while (pos < len) {
|
|
77
|
-
let value = input.charCodeAt(pos);
|
|
78
|
-
let codeUnitCount = 1;
|
|
79
|
-
if (value >= 0xd800 && value <= 0xdbff) {
|
|
80
|
-
// high surrogate
|
|
81
|
-
if (pos + 1 < len) {
|
|
82
|
-
let extra = input.charCodeAt(pos + 1);
|
|
83
|
-
if ((extra & 0xfc00) === 0xdc00) {
|
|
84
|
-
codeUnitCount = 2;
|
|
85
|
-
pos += 2;
|
|
86
|
-
value = ((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000;
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
pos += 1;
|
|
90
|
-
value = 0xfffd;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
pos += 1;
|
|
95
|
-
value = 0xfffd;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
else if (value >= 0xdc00 && value <= 0xdfff) {
|
|
99
|
-
pos += 1;
|
|
100
|
-
value = 0xfffd;
|
|
101
|
-
}
|
|
102
|
-
else {
|
|
103
|
-
pos += 1;
|
|
104
|
-
}
|
|
105
|
-
// expand the buffer if we couldn't write 4 bytes
|
|
106
|
-
if (!HAS_DESTINATION && at + 4 > target.length) {
|
|
107
|
-
tlen += 8; // minimum extra
|
|
108
|
-
tlen *= (1.0 + (pos / input.length) * 2); // take 2x the remaining
|
|
109
|
-
tlen = (tlen >> 3) << 3; // 8 byte offset
|
|
110
|
-
let update = new Uint8Array(tlen);
|
|
111
|
-
update.set(target);
|
|
112
|
-
target = update;
|
|
113
|
-
}
|
|
114
|
-
let byteCount;
|
|
115
|
-
if ((value & 0xffffff80) === 0) { // 1-byte
|
|
116
|
-
byteCount = 1;
|
|
117
|
-
}
|
|
118
|
-
else if ((value & 0xfffff800) === 0) { // 2-byte
|
|
119
|
-
byteCount = 2;
|
|
120
|
-
}
|
|
121
|
-
else if ((value & 0xffff0000) === 0) { // 3-byte
|
|
122
|
-
byteCount = 3;
|
|
123
|
-
}
|
|
124
|
-
else if ((value & 0xffe00000) === 0) { // 4-byte
|
|
125
|
-
byteCount = 4;
|
|
126
|
-
}
|
|
127
|
-
else {
|
|
128
|
-
value = 0xfffd;
|
|
129
|
-
byteCount = 3;
|
|
130
|
-
}
|
|
131
|
-
if (HAS_DESTINATION && at + byteCount > target.length) {
|
|
132
|
-
break;
|
|
133
|
-
}
|
|
134
|
-
switch (byteCount) {
|
|
135
|
-
case 1: // 1-byte
|
|
136
|
-
target[at++] = value; // ASCII
|
|
137
|
-
break;
|
|
138
|
-
case 2: // 2-byte
|
|
139
|
-
target[at++] = ((value >> 6) & 0x1f) | 0xc0;
|
|
140
|
-
target[at++] = (value & 0x3f) | 0x80;
|
|
141
|
-
break;
|
|
142
|
-
case 3: // 3-byte
|
|
143
|
-
target[at++] = ((value >> 12) & 0x0f) | 0xe0;
|
|
144
|
-
target[at++] = ((value >> 6) & 0x3f) | 0x80;
|
|
145
|
-
target[at++] = (value & 0x3f) | 0x80;
|
|
146
|
-
break;
|
|
147
|
-
case 4: // 4-byte
|
|
148
|
-
target[at++] = ((value >> 18) & 0x07) | 0xf0;
|
|
149
|
-
target[at++] = ((value >> 12) & 0x3f) | 0x80;
|
|
150
|
-
target[at++] = ((value >> 6) & 0x3f) | 0x80;
|
|
151
|
-
target[at++] = (value & 0x3f) | 0x80;
|
|
152
|
-
break;
|
|
153
|
-
}
|
|
154
|
-
read += codeUnitCount;
|
|
155
|
-
}
|
|
156
|
-
return {
|
|
157
|
-
encoded: !HAS_DESTINATION ? target.slice(0, at) : destination,
|
|
158
|
-
read: read,
|
|
159
|
-
written: at,
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
const TextEncoderE = g["TextEncoder"] || TextEncoderP;
|
|
163
|
-
|
|
164
|
-
var _a$b, _b$4;
|
|
165
|
-
/** @internal */
|
|
166
|
-
const state$k = Symbol( /* "TextDecoderState" */);
|
|
167
|
-
class TextDecoderP {
|
|
168
|
-
constructor(label = "utf-8", { fatal = false, ignoreBOM = false } = {}) {
|
|
169
|
-
let _label = "" + label;
|
|
170
|
-
if (["utf-8", "utf8", "unicode-1-1-utf-8"].indexOf(_label.toLowerCase()) === -1) {
|
|
171
|
-
throw new RangeError(`Failed to construct 'TextDecoder': encoding ('${_label}') not implemented.`);
|
|
172
|
-
}
|
|
173
|
-
this[state$k] = new TextDecoderState();
|
|
174
|
-
this[state$k].fatal = !!fatal;
|
|
175
|
-
this[state$k].ignoreBOM = !!ignoreBOM;
|
|
176
|
-
}
|
|
177
|
-
get encoding() { return "utf-8"; }
|
|
178
|
-
get fatal() { return this[state$k].fatal; }
|
|
179
|
-
get ignoreBOM() { return this[state$k].ignoreBOM; }
|
|
180
|
-
decode(input, { stream = false } = {}) {
|
|
181
|
-
const s = this[state$k];
|
|
182
|
-
let bytes;
|
|
183
|
-
if (input !== undefined) {
|
|
184
|
-
if (isArrayBuffer(input)) {
|
|
185
|
-
bytes = new Uint8Array(input);
|
|
186
|
-
}
|
|
187
|
-
else if (input instanceof Uint8Array || isObjectType("Uint8Array", input)) {
|
|
188
|
-
bytes = input;
|
|
189
|
-
}
|
|
190
|
-
else if (ArrayBuffer.isView(input)) {
|
|
191
|
-
bytes = new Uint8Array(input.buffer, input.byteOffset, input.byteLength);
|
|
192
|
-
}
|
|
193
|
-
else {
|
|
194
|
-
throw new TypeError("Failed to execute 'decode' on 'TextDecoder': parameter 1 is not of type 'ArrayBuffer'.");
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
else {
|
|
198
|
-
if (s[_partial].length > 0) {
|
|
199
|
-
if (this.fatal) {
|
|
200
|
-
s[_partial] = [];
|
|
201
|
-
throw new TypeError("TextDecoder: Incomplete UTF-8 sequence.");
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
return "";
|
|
205
|
-
}
|
|
206
|
-
if (s[_bomDone] < 3) {
|
|
207
|
-
s[_bomDone] += bytes.length;
|
|
208
|
-
if (bytes.length >= 3) {
|
|
209
|
-
if (bytes[0] === 0xef && bytes[1] === 0xbb && bytes[2] === 0xbf) {
|
|
210
|
-
bytes = bytes.subarray(3); // × WeChat 2.5.0
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
if (s[_partial].length > 0) {
|
|
215
|
-
let merged = new Uint8Array(s[_partial].length + bytes.length);
|
|
216
|
-
merged.set(s[_partial], 0);
|
|
217
|
-
merged.set(bytes, s[_partial].length);
|
|
218
|
-
bytes = merged;
|
|
219
|
-
s[_partial] = [];
|
|
220
|
-
}
|
|
221
|
-
let end = bytes.length;
|
|
222
|
-
let res = [];
|
|
223
|
-
if (stream && bytes.length > 0) {
|
|
224
|
-
let i = bytes.length;
|
|
225
|
-
while (i > 0 && i > bytes.length - 4) {
|
|
226
|
-
let byte = bytes[i - 1];
|
|
227
|
-
if ((byte & 0b11000000) !== 0b10000000) {
|
|
228
|
-
let len = getBytesPerSequence(byte);
|
|
229
|
-
if (len > bytes.length - (i - 1)) {
|
|
230
|
-
end = i - 1;
|
|
231
|
-
}
|
|
232
|
-
break;
|
|
233
|
-
}
|
|
234
|
-
i--;
|
|
235
|
-
}
|
|
236
|
-
s[_partial] = Array.from(bytes.slice(end)); // save tail // × WeChat 2.5.0
|
|
237
|
-
bytes = bytes.slice(0, end); // × WeChat 2.5.0
|
|
238
|
-
}
|
|
239
|
-
let i = 0;
|
|
240
|
-
while (i < end) {
|
|
241
|
-
let codePoint = null;
|
|
242
|
-
let firstByte = bytes[i];
|
|
243
|
-
let bytesPerSequence = getBytesPerSequence(firstByte);
|
|
244
|
-
if (i + bytesPerSequence <= end) {
|
|
245
|
-
let secondByte, thirdByte, fourthByte, tempCodePoint;
|
|
246
|
-
switch (bytesPerSequence) {
|
|
247
|
-
case 1:
|
|
248
|
-
if (firstByte < 0x80) {
|
|
249
|
-
codePoint = firstByte;
|
|
250
|
-
}
|
|
251
|
-
break;
|
|
252
|
-
case 2:
|
|
253
|
-
secondByte = bytes[i + 1];
|
|
254
|
-
if ((secondByte & 0xC0) === 0x80) {
|
|
255
|
-
tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F);
|
|
256
|
-
if (tempCodePoint > 0x7F) {
|
|
257
|
-
codePoint = tempCodePoint;
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
break;
|
|
261
|
-
case 3:
|
|
262
|
-
secondByte = bytes[i + 1];
|
|
263
|
-
thirdByte = bytes[i + 2];
|
|
264
|
-
if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {
|
|
265
|
-
tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F);
|
|
266
|
-
if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {
|
|
267
|
-
codePoint = tempCodePoint;
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
break;
|
|
271
|
-
case 4:
|
|
272
|
-
secondByte = bytes[i + 1];
|
|
273
|
-
thirdByte = bytes[i + 2];
|
|
274
|
-
fourthByte = bytes[i + 3];
|
|
275
|
-
if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {
|
|
276
|
-
tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F);
|
|
277
|
-
if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {
|
|
278
|
-
codePoint = tempCodePoint;
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
break;
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
if (codePoint === null) {
|
|
285
|
-
if (this.fatal) {
|
|
286
|
-
s[_partial] = [];
|
|
287
|
-
throw new TypeError("TextDecoder.decode: Decoding failed.");
|
|
288
|
-
}
|
|
289
|
-
let skip = 1;
|
|
290
|
-
while (i + skip < end && (bytes[i + skip] & 0b11000000) === 0b10000000) {
|
|
291
|
-
skip += 1;
|
|
292
|
-
}
|
|
293
|
-
// we did not generate a valid codePoint so insert a replacement char (U+FFFD)
|
|
294
|
-
res.push(0xFFFD);
|
|
295
|
-
i += skip;
|
|
296
|
-
continue;
|
|
297
|
-
}
|
|
298
|
-
else if (codePoint > 0xFFFF) {
|
|
299
|
-
// encode to utf16 (surrogate pair dance)
|
|
300
|
-
codePoint -= 0x10000;
|
|
301
|
-
res.push(codePoint >>> 10 & 0x3FF | 0xD800);
|
|
302
|
-
codePoint = 0xDC00 | codePoint & 0x3FF;
|
|
303
|
-
}
|
|
304
|
-
res.push(codePoint);
|
|
305
|
-
i += bytesPerSequence;
|
|
306
|
-
}
|
|
307
|
-
return res.length > 0x4000 ? buildString(res) : concatString(res);
|
|
308
|
-
}
|
|
309
|
-
/** @internal */ toString() { return "[object TextDecoder]"; }
|
|
310
|
-
/** @internal */ get [Symbol.toStringTag]() { return "TextDecoder"; }
|
|
311
|
-
/** @internal */ get isPolyfill() { return { symbol: polyfill, hierarchy: ["TextDecoder"] }; }
|
|
312
|
-
}
|
|
313
|
-
/** @internal */ const _bomDone = Symbol();
|
|
314
|
-
/** @internal */ const _partial = Symbol();
|
|
315
|
-
/** @internal */
|
|
316
|
-
class TextDecoderState {
|
|
317
|
-
constructor() {
|
|
318
|
-
this.fatal = false;
|
|
319
|
-
this.ignoreBOM = false;
|
|
320
|
-
this[_a$b] = 0;
|
|
321
|
-
this[_b$4] = [];
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
_a$b = _bomDone, _b$4 = _partial;
|
|
325
|
-
function getBytesPerSequence(byte) {
|
|
326
|
-
return (byte > 0xEF) ? 4 : (byte > 0xDF) ? 3 : (byte > 0xBF) ? 2 : 1;
|
|
327
|
-
}
|
|
328
|
-
const buildString = (res) => {
|
|
329
|
-
let arr = [];
|
|
330
|
-
for (let i = 0, len = res.length; i < len; i += 0x1000) {
|
|
331
|
-
arr.push(String.fromCharCode.apply(String, res.slice(i, i + 0x1000)));
|
|
332
|
-
}
|
|
333
|
-
return arr.join("");
|
|
334
|
-
};
|
|
335
|
-
const concatString = (res) => {
|
|
336
|
-
let str = "";
|
|
337
|
-
for (let i = 0, len = res.length; i < len; i += 0x1000) {
|
|
338
|
-
str += String.fromCharCode.apply(String, res.slice(i, i + 0x1000));
|
|
339
|
-
}
|
|
340
|
-
return str;
|
|
341
|
-
};
|
|
342
|
-
const TextDecoderE = g["TextDecoder"] || TextDecoderP;
|
|
343
|
-
|
|
344
|
-
/** @internal */
|
|
345
|
-
const state$j = Symbol( /* "BlobState" */);
|
|
346
|
-
class BlobP {
|
|
347
|
-
constructor(blobParts = [], options) {
|
|
348
|
-
if (!(Array.isArray(blobParts) || (blobParts && typeof blobParts === "object" && Symbol.iterator in blobParts))) {
|
|
349
|
-
throw new TypeError("Failed to construct 'Blob/File': The provided value cannot be converted to a sequence.");
|
|
350
|
-
}
|
|
351
|
-
let _blobParts = Array.isArray(blobParts) ? blobParts : Array.from(blobParts);
|
|
352
|
-
let chunks = [];
|
|
353
|
-
for (let i = 0; i < _blobParts.length; ++i) {
|
|
354
|
-
let chunk = _blobParts[i];
|
|
355
|
-
if (isPolyfillType("Blob", chunk)) {
|
|
356
|
-
chunks.push(chunk[state$j][_buffer]);
|
|
357
|
-
}
|
|
358
|
-
else if (isArrayBuffer(chunk) || ArrayBuffer.isView(chunk)) {
|
|
359
|
-
chunks.push(BufferSource_toUint8Array(chunk));
|
|
360
|
-
}
|
|
361
|
-
else {
|
|
362
|
-
chunks.push(encode$1("" + chunk));
|
|
363
|
-
}
|
|
364
|
-
}
|
|
365
|
-
this[state$j] = new BlobState(concat(chunks));
|
|
366
|
-
const s = this[state$j];
|
|
367
|
-
s.size = s[_buffer].length;
|
|
368
|
-
let rawType = "" + ((options === null || options === void 0 ? void 0 : options.type) || "");
|
|
369
|
-
s.type = /[^\u0020-\u007E]/.test(rawType) ? "" : rawType.toLowerCase();
|
|
370
|
-
}
|
|
371
|
-
get size() { return this[state$j].size; }
|
|
372
|
-
get type() { return this[state$j].type; }
|
|
373
|
-
arrayBuffer() {
|
|
374
|
-
return Promise.resolve(clone(this[state$j][_buffer].buffer).buffer);
|
|
375
|
-
}
|
|
376
|
-
bytes() {
|
|
377
|
-
return Promise.resolve(clone(this[state$j][_buffer].buffer));
|
|
378
|
-
}
|
|
379
|
-
slice(start, end, contentType) {
|
|
380
|
-
let sliced = this[state$j][_buffer].slice(start !== null && start !== void 0 ? start : 0, end !== null && end !== void 0 ? end : this[state$j][_buffer].length); // × WeChat 2.5.0
|
|
381
|
-
return new BlobP([sliced], { type: "" + (contentType !== null && contentType !== void 0 ? contentType : "") });
|
|
382
|
-
}
|
|
383
|
-
stream() {
|
|
384
|
-
throw new TypeError("Failed to execute 'stream' on 'Blob': method not implemented.");
|
|
385
|
-
}
|
|
386
|
-
text() {
|
|
387
|
-
return Promise.resolve(decode$1(this[state$j][_buffer]));
|
|
388
|
-
}
|
|
389
|
-
/** @internal */ toString() { return "[object Blob]"; }
|
|
390
|
-
/** @internal */ get [Symbol.toStringTag]() { return "Blob"; }
|
|
391
|
-
/** @internal */ get isPolyfill() { return { symbol: polyfill, hierarchy: ["Blob"] }; }
|
|
392
|
-
}
|
|
393
|
-
/** @internal */
|
|
394
|
-
const _buffer = Symbol();
|
|
395
|
-
/** @internal */
|
|
396
|
-
class BlobState {
|
|
397
|
-
constructor(buffer) {
|
|
398
|
-
this.size = 0;
|
|
399
|
-
this.type = "";
|
|
400
|
-
this[_buffer] = buffer;
|
|
401
|
-
}
|
|
402
|
-
}
|
|
403
|
-
/** @internal */
|
|
404
|
-
function Blob_toUint8Array(blob) {
|
|
405
|
-
return blob[state$j][_buffer];
|
|
406
|
-
}
|
|
407
|
-
function BufferSource_toUint8Array(buf) {
|
|
408
|
-
return isArrayBuffer(buf)
|
|
409
|
-
? new Uint8Array(buf)
|
|
410
|
-
: new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
411
|
-
}
|
|
412
|
-
function clone(buf) {
|
|
413
|
-
let sourceArray = BufferSource_toUint8Array(buf);
|
|
414
|
-
let cloneArray = new Uint8Array(new ArrayBuffer(sourceArray.byteLength));
|
|
415
|
-
cloneArray.set(sourceArray);
|
|
416
|
-
return cloneArray;
|
|
417
|
-
}
|
|
418
|
-
function concat(chunks) {
|
|
419
|
-
let totalByteLength = chunks.reduce((acc, cur) => acc + cur.byteLength, 0);
|
|
420
|
-
let result = new Uint8Array(totalByteLength);
|
|
421
|
-
chunks.reduce((offset, chunk) => {
|
|
422
|
-
result.set(chunk, offset);
|
|
423
|
-
return offset + chunk.byteLength;
|
|
424
|
-
}, 0);
|
|
425
|
-
return result;
|
|
426
|
-
}
|
|
427
|
-
/** @internal */
|
|
428
|
-
function encode$1(str) {
|
|
429
|
-
let encoder = new TextEncoderP();
|
|
430
|
-
return encoder.encode(str);
|
|
431
|
-
}
|
|
432
|
-
/** @internal */
|
|
433
|
-
function decode$1(buf) {
|
|
434
|
-
let decoder = new TextDecoderP();
|
|
435
|
-
return decoder.decode(buf);
|
|
436
|
-
}
|
|
437
|
-
/** @internal */
|
|
438
|
-
function Uint8Array_toBase64(input) {
|
|
439
|
-
let byteToCharMap = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
|
|
440
|
-
let output = [];
|
|
441
|
-
for (var i = 0; i < input.length; i += 3) {
|
|
442
|
-
let byte1 = input[i];
|
|
443
|
-
let haveByte2 = i + 1 < input.length;
|
|
444
|
-
let byte2 = haveByte2 ? input[i + 1] : 0;
|
|
445
|
-
let haveByte3 = i + 2 < input.length;
|
|
446
|
-
let byte3 = haveByte3 ? input[i + 2] : 0;
|
|
447
|
-
let outByte1 = byte1 >> 2;
|
|
448
|
-
let outByte2 = ((byte1 & 0x03) << 4) | (byte2 >> 4);
|
|
449
|
-
let outByte3 = ((byte2 & 0x0F) << 2) | (byte3 >> 6);
|
|
450
|
-
let outByte4 = byte3 & 0x3F;
|
|
451
|
-
if (!haveByte3) {
|
|
452
|
-
outByte4 = 64;
|
|
453
|
-
if (!haveByte2) {
|
|
454
|
-
outByte3 = 64;
|
|
455
|
-
}
|
|
456
|
-
}
|
|
457
|
-
output.push(byteToCharMap[outByte1], byteToCharMap[outByte2], byteToCharMap[outByte3], byteToCharMap[outByte4]);
|
|
458
|
-
}
|
|
459
|
-
return output.join("");
|
|
460
|
-
}
|
|
461
|
-
const BlobE = g["Blob"] || BlobP;
|
|
462
|
-
|
|
463
|
-
/** @internal */
|
|
464
|
-
const state$i = Symbol( /* "FileState" */);
|
|
465
|
-
class FileP extends BlobP {
|
|
466
|
-
constructor(...args) {
|
|
467
|
-
const [fileBits, fileName, options] = args;
|
|
468
|
-
checkArgsLength(args, 2, "File");
|
|
469
|
-
super(fileBits, options);
|
|
470
|
-
this[state$i] = new FileState();
|
|
471
|
-
this[state$i].lastModified = +((options === null || options === void 0 ? void 0 : options.lastModified) ? new Date(options.lastModified) : new Date()) || 0;
|
|
472
|
-
this[state$i].name = "" + fileName;
|
|
473
|
-
}
|
|
474
|
-
get lastModified() { return this[state$i].lastModified; }
|
|
475
|
-
get name() { return this[state$i].name; }
|
|
476
|
-
get webkitRelativePath() { return ""; }
|
|
477
|
-
/** @internal */ toString() { return "[object File]"; }
|
|
478
|
-
/** @internal */ get [Symbol.toStringTag]() { return "File"; }
|
|
479
|
-
/** @internal */ get isPolyfill() { return { symbol: polyfill, hierarchy: ["File", "Blob"] }; }
|
|
480
|
-
}
|
|
481
|
-
/** @internal */
|
|
482
|
-
class FileState {
|
|
483
|
-
constructor() {
|
|
484
|
-
this.lastModified = 0;
|
|
485
|
-
this.name = "";
|
|
486
|
-
}
|
|
487
|
-
}
|
|
488
|
-
const FileE = g["Blob"] ? g["File"] : FileP;
|
|
489
|
-
|
|
490
|
-
var _a$a, _b$3, _c$1, _d$1, _e$1;
|
|
491
|
-
/** @internal */ const state$h = Symbol( /* "EventState" */);
|
|
492
|
-
class EventP {
|
|
493
|
-
static get NONE() { return 0; }
|
|
494
|
-
static get CAPTURING_PHASE() { return 1; }
|
|
495
|
-
static get AT_TARGET() { return 2; }
|
|
496
|
-
static get BUBBLING_PHASE() { return 3; }
|
|
497
|
-
constructor(...args) {
|
|
498
|
-
const [type, eventInitDict] = args;
|
|
499
|
-
checkArgsLength(args, 1, new.target.name);
|
|
500
|
-
this[state$h] = new EventState();
|
|
501
|
-
const s = this[state$h];
|
|
502
|
-
s.type = "" + type;
|
|
503
|
-
s.bubbles = !!(eventInitDict === null || eventInitDict === void 0 ? void 0 : eventInitDict.bubbles);
|
|
504
|
-
s.cancelable = !!(eventInitDict === null || eventInitDict === void 0 ? void 0 : eventInitDict.cancelable);
|
|
505
|
-
s.composed = !!(eventInitDict === null || eventInitDict === void 0 ? void 0 : eventInitDict.composed);
|
|
506
|
-
Object.defineProperty(this, "isTrusted", {
|
|
507
|
-
enumerable: true,
|
|
508
|
-
get: (function isTrusted() { return this[state$h][_isTrusted]; }).bind(this),
|
|
509
|
-
});
|
|
510
|
-
}
|
|
511
|
-
get type() { return this[state$h].type; }
|
|
512
|
-
get bubbles() { return this[state$h].bubbles; }
|
|
513
|
-
get cancelable() { return this[state$h].cancelable; }
|
|
514
|
-
get composed() { return this[state$h].composed; }
|
|
515
|
-
get target() { return this[state$h].target; }
|
|
516
|
-
get currentTarget() { return this[state$h].currentTarget; }
|
|
517
|
-
get eventPhase() { return this[state$h].eventPhase; }
|
|
518
|
-
get NONE() { return 0; }
|
|
519
|
-
get CAPTURING_PHASE() { return 1; }
|
|
520
|
-
get AT_TARGET() { return 2; }
|
|
521
|
-
get BUBBLING_PHASE() { return 3; }
|
|
522
|
-
get srcElement() { return this[state$h].target; }
|
|
523
|
-
get cancelBubble() { return this[state$h].cancelBubble; }
|
|
524
|
-
set cancelBubble(value) { this[state$h].cancelBubble = !!value; }
|
|
525
|
-
get defaultPrevented() { return this[state$h].defaultPrevented; }
|
|
526
|
-
get returnValue() { return this[state$h].returnValue; }
|
|
527
|
-
set returnValue(value) { if (!value) {
|
|
528
|
-
this.preventDefault();
|
|
529
|
-
} }
|
|
530
|
-
get timeStamp() { return this[state$h].timeStamp; }
|
|
531
|
-
composedPath() {
|
|
532
|
-
let path = !!this.target ? [this.target] : [];
|
|
533
|
-
if (!!this.currentTarget && this.currentTarget !== this.target)
|
|
534
|
-
path.push(this.currentTarget);
|
|
535
|
-
return path;
|
|
536
|
-
}
|
|
537
|
-
initEvent(...args) {
|
|
538
|
-
const [type, bubbles, cancelable] = args;
|
|
539
|
-
checkArgsLength(args, 1, "Event", "initEvent");
|
|
540
|
-
const s = this[state$h];
|
|
541
|
-
if (s[_dispatched])
|
|
542
|
-
return;
|
|
543
|
-
s.type = "" + type;
|
|
544
|
-
s.bubbles = !!bubbles;
|
|
545
|
-
s.cancelable = !!cancelable;
|
|
546
|
-
}
|
|
547
|
-
preventDefault() {
|
|
548
|
-
const s = this[state$h];
|
|
549
|
-
if (s[_passive]) {
|
|
550
|
-
console.warn(`Ignoring 'preventDefault()' call on event of type '${this.type}' from a listener registered as 'passive'.`);
|
|
551
|
-
return;
|
|
552
|
-
}
|
|
553
|
-
if (this.cancelable) {
|
|
554
|
-
s[_preventDefaultCalled] = true;
|
|
555
|
-
s.defaultPrevented = true;
|
|
556
|
-
s.returnValue = false;
|
|
557
|
-
}
|
|
558
|
-
}
|
|
559
|
-
stopImmediatePropagation() {
|
|
560
|
-
this[state$h][_stopImmediatePropagationCalled] = true;
|
|
561
|
-
this.cancelBubble = true;
|
|
562
|
-
}
|
|
563
|
-
stopPropagation() {
|
|
564
|
-
this.cancelBubble = true;
|
|
565
|
-
}
|
|
566
|
-
/** @internal */ toString() { return "[object Event]"; }
|
|
567
|
-
/** @internal */ get [Symbol.toStringTag]() { return "Event"; }
|
|
568
|
-
/** @internal */ get isPolyfill() { return { symbol: polyfill, hierarchy: ["Event"] }; }
|
|
569
|
-
}
|
|
570
|
-
/** @internal */ const _timeStamp = (new Date()).getTime();
|
|
571
|
-
/** @internal */ const _isTrusted = Symbol();
|
|
572
|
-
/** @internal */ const _passive = Symbol();
|
|
573
|
-
/** @internal */ const _dispatched = Symbol();
|
|
574
|
-
/** @internal */ const _preventDefaultCalled = Symbol();
|
|
575
|
-
/** @internal */ const _stopImmediatePropagationCalled = Symbol();
|
|
576
|
-
/** @internal */
|
|
577
|
-
class EventState {
|
|
578
|
-
constructor() {
|
|
579
|
-
this.type = "";
|
|
580
|
-
this.bubbles = false;
|
|
581
|
-
this.cancelable = false;
|
|
582
|
-
this.composed = false;
|
|
583
|
-
this.target = null;
|
|
584
|
-
this.currentTarget = null;
|
|
585
|
-
this.eventPhase = 0 /* NONE */;
|
|
586
|
-
this.cancelBubble = false;
|
|
587
|
-
this.defaultPrevented = false;
|
|
588
|
-
this.returnValue = true;
|
|
589
|
-
this.timeStamp = (new Date()).getTime() - _timeStamp;
|
|
590
|
-
this[_a$a] = false;
|
|
591
|
-
this[_b$3] = false;
|
|
592
|
-
this[_c$1] = false;
|
|
593
|
-
this[_d$1] = false;
|
|
594
|
-
this[_e$1] = false;
|
|
595
|
-
}
|
|
596
|
-
}
|
|
597
|
-
_a$a = _isTrusted, _b$3 = _passive, _c$1 = _dispatched, _d$1 = _preventDefaultCalled, _e$1 = _stopImmediatePropagationCalled;
|
|
598
|
-
/** @internal */
|
|
599
|
-
function Event_setTrusted(event, isTrusted) {
|
|
600
|
-
Object.defineProperty(event[state$h], _isTrusted, {
|
|
601
|
-
value: isTrusted,
|
|
602
|
-
writable: true,
|
|
603
|
-
enumerable: true,
|
|
604
|
-
configurable: true,
|
|
605
|
-
});
|
|
606
|
-
}
|
|
607
|
-
const passive$1 = 0;
|
|
608
|
-
const dispatched$3 = 1;
|
|
609
|
-
const preventDefaultCalled$1 = 2;
|
|
610
|
-
const stopImmediatePropagationCalled$1 = 3;
|
|
611
|
-
/** @internal */
|
|
612
|
-
function Event_getEtField(event, field) {
|
|
613
|
-
const s = event[state$h];
|
|
614
|
-
switch (field) {
|
|
615
|
-
case passive$1:
|
|
616
|
-
return s[_passive];
|
|
617
|
-
case dispatched$3:
|
|
618
|
-
return s[_dispatched];
|
|
619
|
-
case preventDefaultCalled$1:
|
|
620
|
-
return s[_preventDefaultCalled];
|
|
621
|
-
case stopImmediatePropagationCalled$1:
|
|
622
|
-
return s[_stopImmediatePropagationCalled];
|
|
623
|
-
}
|
|
624
|
-
}
|
|
625
|
-
/** @internal */
|
|
626
|
-
function Event_setEtField(event, field, value) {
|
|
627
|
-
const s = event[state$h];
|
|
628
|
-
switch (field) {
|
|
629
|
-
case passive$1:
|
|
630
|
-
s[_passive] = value;
|
|
631
|
-
break;
|
|
632
|
-
case dispatched$3:
|
|
633
|
-
s[_dispatched] = value;
|
|
634
|
-
break;
|
|
635
|
-
case preventDefaultCalled$1:
|
|
636
|
-
s[_preventDefaultCalled] = value;
|
|
637
|
-
break;
|
|
638
|
-
case stopImmediatePropagationCalled$1:
|
|
639
|
-
s[_stopImmediatePropagationCalled] = value;
|
|
640
|
-
break;
|
|
641
|
-
}
|
|
642
|
-
}
|
|
643
|
-
/** @internal */
|
|
644
|
-
function createInnerEvent(target, type, eventInitDict, isTrusted = true) {
|
|
645
|
-
let event = new EventP(type, eventInitDict);
|
|
646
|
-
event[state$h].target = target;
|
|
647
|
-
event[state$h][_isTrusted] = isTrusted;
|
|
648
|
-
return event;
|
|
649
|
-
}
|
|
650
|
-
const EventE = g["EventTarget"] ? g["Event"] : EventP;
|
|
651
|
-
|
|
652
|
-
var _a$9;
|
|
653
|
-
const passive = 0;
|
|
654
|
-
const dispatched$2 = 1;
|
|
655
|
-
const preventDefaultCalled = 2;
|
|
656
|
-
const stopImmediatePropagationCalled = 3;
|
|
657
|
-
/** @internal */ const state$g = Symbol( /* "EventTargetState" */);
|
|
658
|
-
class EventTargetP {
|
|
659
|
-
constructor() {
|
|
660
|
-
this[state$g] = new EventTargetState(this);
|
|
661
|
-
this[state$g].name = new.target.name;
|
|
662
|
-
}
|
|
663
|
-
addEventListener(...args) {
|
|
664
|
-
const [type, callback, options] = args;
|
|
665
|
-
checkArgsLength(args, 2, this[state$g].name, "addEventListener");
|
|
666
|
-
if (typeof callback !== "function" && typeof callback !== "object" && typeof callback !== "undefined") {
|
|
667
|
-
throw new TypeError(`Failed to execute 'addEventListener' on '${this[state$g].name}': parameter 2 is not of type 'Object'.`);
|
|
668
|
-
}
|
|
669
|
-
const s = this[state$g];
|
|
670
|
-
const executor = new Executor(type, callback);
|
|
671
|
-
executor.options.capture = typeof options === "boolean" ? options : !!(options === null || options === void 0 ? void 0 : options.capture);
|
|
672
|
-
if (!s[_executors].some(x => x.equals(executor))) {
|
|
673
|
-
if (options && typeof options === "object") {
|
|
674
|
-
const { once, passive, signal } = options;
|
|
675
|
-
executor.options.once = !!once;
|
|
676
|
-
executor.options.passive = !!passive;
|
|
677
|
-
if (signal && isPolyfillType("EventTarget", signal)) {
|
|
678
|
-
executor.options.signal = signal;
|
|
679
|
-
reply(this, signal, executor);
|
|
680
|
-
}
|
|
681
|
-
}
|
|
682
|
-
s[_executors].push(executor);
|
|
683
|
-
const f = (v) => !!v.options.capture ? 0 : 1;
|
|
684
|
-
s[_executors] = s[_executors].sort((a, b) => f(a) - f(b));
|
|
685
|
-
}
|
|
686
|
-
}
|
|
687
|
-
dispatchEvent(...args) {
|
|
688
|
-
const [event] = args;
|
|
689
|
-
checkArgsLength(args, 1, this[state$g].name, "dispatchEvent");
|
|
690
|
-
if (!(event instanceof EventP)) {
|
|
691
|
-
throw new TypeError(`Failed to execute 'dispatchEvent' on '${this[state$g].name}': parameter 1 is not of type 'Event'.`);
|
|
692
|
-
}
|
|
693
|
-
Event_setTrusted(event, false);
|
|
694
|
-
event[state$h].target = this;
|
|
695
|
-
return EventTarget_fire(this, event);
|
|
696
|
-
}
|
|
697
|
-
removeEventListener(...args) {
|
|
698
|
-
const [type, callback, options] = args;
|
|
699
|
-
checkArgsLength(args, 2, this[state$g].name, "removeEventListener");
|
|
700
|
-
if (typeof callback !== "function" && typeof callback !== "object" && typeof callback !== "undefined") {
|
|
701
|
-
throw new TypeError(`Failed to execute 'removeEventListener' on '${this[state$g].name}': parameter 2 is not of type 'Object'.`);
|
|
702
|
-
}
|
|
703
|
-
const s = this[state$g];
|
|
704
|
-
const executor = new Executor(type, callback);
|
|
705
|
-
executor.options.capture = typeof options === "boolean" ? options : !!(options === null || options === void 0 ? void 0 : options.capture);
|
|
706
|
-
if (s[_executors].some(x => x.equals(executor))) {
|
|
707
|
-
s[_executors] = s[_executors].filter(x => !x.equals(executor));
|
|
708
|
-
}
|
|
709
|
-
}
|
|
710
|
-
/** @internal */ toString() { return "[object EventTarget]"; }
|
|
711
|
-
/** @internal */ get [Symbol.toStringTag]() { return "EventTarget"; }
|
|
712
|
-
/** @internal */ get isPolyfill() { return { symbol: polyfill, hierarchy: ["EventTarget"] }; }
|
|
713
|
-
}
|
|
714
|
-
/** @internal */
|
|
715
|
-
const _executors = Symbol();
|
|
716
|
-
/** @internal */
|
|
717
|
-
class EventTargetState {
|
|
718
|
-
constructor(target) {
|
|
719
|
-
this.name = "EventTarget";
|
|
720
|
-
this[_a$9] = [];
|
|
721
|
-
this.target = target;
|
|
722
|
-
}
|
|
723
|
-
}
|
|
724
|
-
_a$9 = _executors;
|
|
725
|
-
/** @internal */
|
|
726
|
-
function EventTarget_fire(target, event) {
|
|
727
|
-
const s = target[state$g];
|
|
728
|
-
const evs = event[state$h];
|
|
729
|
-
if (!event.target)
|
|
730
|
-
evs.target = target;
|
|
731
|
-
evs.currentTarget = target;
|
|
732
|
-
evs.eventPhase = 2 /* AT_TARGET */;
|
|
733
|
-
Event_setEtField(event, dispatched$2, true);
|
|
734
|
-
let onceIndexes = [];
|
|
735
|
-
for (let i = 0; i < s[_executors].length; ++i) {
|
|
736
|
-
if (Event_getEtField(event, stopImmediatePropagationCalled))
|
|
737
|
-
break;
|
|
738
|
-
let executor = s[_executors][i];
|
|
739
|
-
if (executor.type !== event.type)
|
|
740
|
-
continue;
|
|
741
|
-
if (executor.options.once)
|
|
742
|
-
onceIndexes.push(i);
|
|
743
|
-
Event_setEtField(event, passive, !!executor.options.passive);
|
|
744
|
-
try {
|
|
745
|
-
let cb = executor.callback;
|
|
746
|
-
if (typeof cb === "function")
|
|
747
|
-
cb.call(target, event);
|
|
748
|
-
}
|
|
749
|
-
catch (e) {
|
|
750
|
-
console.error(e);
|
|
751
|
-
}
|
|
752
|
-
Event_setEtField(event, passive, false);
|
|
753
|
-
}
|
|
754
|
-
if (onceIndexes.length > 0) {
|
|
755
|
-
s[_executors] = s[_executors].reduce((acc, cur, index) => {
|
|
756
|
-
if (onceIndexes.indexOf(index) === -1)
|
|
757
|
-
acc.push(cur);
|
|
758
|
-
return acc;
|
|
759
|
-
}, []);
|
|
760
|
-
}
|
|
761
|
-
evs.currentTarget = null;
|
|
762
|
-
evs.eventPhase = 0 /* NONE */;
|
|
763
|
-
Event_setEtField(event, dispatched$2, false);
|
|
764
|
-
return !(event.cancelable && Event_getEtField(event, preventDefaultCalled));
|
|
765
|
-
}
|
|
766
|
-
function reply(target, signal, executor) {
|
|
767
|
-
const s = target[state$g];
|
|
768
|
-
const onAbort = () => {
|
|
769
|
-
s[_executors] = s[_executors].filter(x => !x.equals(executor));
|
|
770
|
-
signal.removeEventListener("abort", onAbort);
|
|
771
|
-
};
|
|
772
|
-
signal.addEventListener("abort", onAbort);
|
|
773
|
-
}
|
|
774
|
-
/** @internal */
|
|
775
|
-
class Executor {
|
|
776
|
-
constructor(type, callback) {
|
|
777
|
-
this.options = {};
|
|
778
|
-
this.type = "" + type;
|
|
779
|
-
this.callback = extract(callback);
|
|
780
|
-
}
|
|
781
|
-
equals(executor) {
|
|
782
|
-
return Object.is(this.type, executor.type) && Object.is(this.callback, executor.callback)
|
|
783
|
-
&& Object.is(this.options.capture, executor.options.capture);
|
|
784
|
-
}
|
|
785
|
-
}
|
|
786
|
-
function extract(cb) {
|
|
787
|
-
if (typeof cb === "function") {
|
|
788
|
-
return cb;
|
|
789
|
-
}
|
|
790
|
-
else if (isEventListenerObject(cb)) {
|
|
791
|
-
return cb.handleEvent;
|
|
792
|
-
}
|
|
793
|
-
else {
|
|
794
|
-
return cb;
|
|
795
|
-
}
|
|
796
|
-
}
|
|
797
|
-
function isEventListenerObject(cb) {
|
|
798
|
-
return !!cb && typeof cb === "object" && "handleEvent" in cb && typeof cb.handleEvent === "function";
|
|
799
|
-
}
|
|
800
|
-
/** @internal */
|
|
801
|
-
function attachFn(target, type, cb, listener) {
|
|
802
|
-
if (typeof cb === "function") {
|
|
803
|
-
target.addEventListener(type, listener);
|
|
804
|
-
}
|
|
805
|
-
else {
|
|
806
|
-
target.removeEventListener(type, listener);
|
|
807
|
-
}
|
|
808
|
-
}
|
|
809
|
-
/** @internal */
|
|
810
|
-
function executeFn(target, cb, ev) {
|
|
811
|
-
if (typeof cb === "function")
|
|
812
|
-
cb.call(target, ev);
|
|
813
|
-
}
|
|
814
|
-
const EventTargetE = g["EventTarget"] || EventTargetP;
|
|
815
|
-
|
|
816
|
-
/** @internal */
|
|
817
|
-
const state$f = Symbol( /* "ProgressEventState" */);
|
|
818
|
-
class ProgressEventP extends EventP {
|
|
819
|
-
constructor(type, eventInitDict) {
|
|
820
|
-
var _a, _b;
|
|
821
|
-
super(type, eventInitDict);
|
|
822
|
-
this[state$f] = new ProgressEventState();
|
|
823
|
-
const s = this[state$f];
|
|
824
|
-
s.lengthComputable = !!(eventInitDict === null || eventInitDict === void 0 ? void 0 : eventInitDict.lengthComputable);
|
|
825
|
-
s.loaded = Number((_a = eventInitDict === null || eventInitDict === void 0 ? void 0 : eventInitDict.loaded) !== null && _a !== void 0 ? _a : 0);
|
|
826
|
-
s.total = Number((_b = eventInitDict === null || eventInitDict === void 0 ? void 0 : eventInitDict.total) !== null && _b !== void 0 ? _b : 0);
|
|
827
|
-
let errField = "";
|
|
828
|
-
if (isNaN(s.loaded)) {
|
|
829
|
-
errField = "loaded";
|
|
830
|
-
}
|
|
831
|
-
if (isNaN(s.total)) {
|
|
832
|
-
errField = "total";
|
|
833
|
-
}
|
|
834
|
-
if (errField) {
|
|
835
|
-
throw new TypeError(`Failed to construct 'ProgressEvent': Failed to read the '${errField}' property from 'ProgressEventInit': The provided double value is non-finite.`);
|
|
836
|
-
}
|
|
837
|
-
}
|
|
838
|
-
get lengthComputable() { return getValue(this[state$f].lengthComputable); }
|
|
839
|
-
get loaded() { return getValue(this[state$f].loaded); }
|
|
840
|
-
get total() { return getValue(this[state$f].total); }
|
|
841
|
-
/** @internal */ toString() { return "[object ProgressEvent]"; }
|
|
842
|
-
/** @internal */ get [Symbol.toStringTag]() { return "ProgressEvent"; }
|
|
843
|
-
/** @internal */ get isPolyfill() { return { symbol: polyfill, hierarchy: ["ProgressEvent", "Event"] }; }
|
|
844
|
-
}
|
|
845
|
-
/** @internal */
|
|
846
|
-
class ProgressEventState {
|
|
847
|
-
constructor() {
|
|
848
|
-
this.lengthComputable = false;
|
|
849
|
-
this.loaded = 0;
|
|
850
|
-
this.total = 0;
|
|
851
|
-
}
|
|
852
|
-
}
|
|
853
|
-
function getValue(val) {
|
|
854
|
-
return typeof val === "function" ? val() : val;
|
|
855
|
-
}
|
|
856
|
-
function createInnerProgressEvent(target, type, { lengthComputable = false, loaded = 0, total = 0, } = {}) {
|
|
857
|
-
let event = new ProgressEventP(type);
|
|
858
|
-
event[state$f].lengthComputable = lengthComputable;
|
|
859
|
-
event[state$f].loaded = loaded;
|
|
860
|
-
event[state$f].total = total;
|
|
861
|
-
event[state$h].target = target;
|
|
862
|
-
Event_setTrusted(event, true);
|
|
863
|
-
return event;
|
|
864
|
-
}
|
|
865
|
-
/** @internal */
|
|
866
|
-
function emitProcessEvent(target, type, loaded = 0, total = 0) {
|
|
867
|
-
let event = createInnerProgressEvent(target, type, {
|
|
868
|
-
lengthComputable: () => { return getValue(total) > 0; },
|
|
869
|
-
loaded,
|
|
870
|
-
total,
|
|
871
|
-
});
|
|
872
|
-
EventTarget_fire(target, event);
|
|
873
|
-
}
|
|
874
|
-
g["EventTarget"] ? g["ProgressEvent"] : ProgressEventP;
|
|
875
|
-
|
|
876
|
-
var _a$8;
|
|
877
|
-
/** @internal */
|
|
878
|
-
const state$e = Symbol( /* "FileReaderState" */);
|
|
879
|
-
class FileReaderP extends EventTargetP {
|
|
880
|
-
static get EMPTY() { return 0; }
|
|
881
|
-
static get LOADING() { return 1; }
|
|
882
|
-
static get DONE() { return 2; }
|
|
883
|
-
constructor() {
|
|
884
|
-
super();
|
|
885
|
-
this[state$e] = new FileReaderState(this);
|
|
886
|
-
}
|
|
887
|
-
get readyState() { return this[state$e].readyState; }
|
|
888
|
-
get result() { return this[state$e].result; }
|
|
889
|
-
get EMPTY() { return 0; }
|
|
890
|
-
get LOADING() { return 1; }
|
|
891
|
-
get DONE() { return 2; }
|
|
892
|
-
get error() { return this[state$e].error; }
|
|
893
|
-
abort() {
|
|
894
|
-
if (this.readyState === 1 /* LOADING */) {
|
|
895
|
-
const s = this[state$e];
|
|
896
|
-
s.readyState = 2 /* DONE */;
|
|
897
|
-
s.result = null;
|
|
898
|
-
s.error = new MPException("An ongoing operation was aborted, typically with a call to abort().", "AbortError");
|
|
899
|
-
emitProcessEvent(this, "abort");
|
|
900
|
-
}
|
|
901
|
-
}
|
|
902
|
-
readAsArrayBuffer(...args) {
|
|
903
|
-
read$1(this, "readAsArrayBuffer", args, blob => {
|
|
904
|
-
this[state$e].result = Blob_toUint8Array(blob).buffer.slice(0);
|
|
905
|
-
});
|
|
906
|
-
}
|
|
907
|
-
readAsBinaryString(...args) {
|
|
908
|
-
read$1(this, "readAsBinaryString", args, blob => {
|
|
909
|
-
let str = [];
|
|
910
|
-
let buf = Blob_toUint8Array(blob);
|
|
911
|
-
for (let i = 0; i < buf.length; ++i) {
|
|
912
|
-
let char = buf[i];
|
|
913
|
-
str.push(String.fromCharCode(char));
|
|
914
|
-
}
|
|
915
|
-
this[state$e].result = str.join("");
|
|
916
|
-
});
|
|
917
|
-
}
|
|
918
|
-
readAsDataURL(...args) {
|
|
919
|
-
read$1(this, "readAsDataURL", args, blob => {
|
|
920
|
-
this[state$e].result = "data:" + (blob.type || "application/octet-stream") + ";base64," + Uint8Array_toBase64(Blob_toUint8Array(blob));
|
|
921
|
-
});
|
|
922
|
-
}
|
|
923
|
-
readAsText(...args) {
|
|
924
|
-
const encoding = args.length > 1 ? args[1] : undefined;
|
|
925
|
-
read$1(this, "readAsText", args, blob => {
|
|
926
|
-
if (encoding !== undefined) {
|
|
927
|
-
let _encoding = "" + encoding;
|
|
928
|
-
if (["utf-8", "utf8", "unicode-1-1-utf-8"].indexOf(_encoding.toLowerCase()) === -1) {
|
|
929
|
-
console.error(`TypeError: Failed to execute 'readAsText' on 'FileReader': encoding ('${_encoding}') not implemented.`);
|
|
930
|
-
}
|
|
931
|
-
}
|
|
932
|
-
this[state$e].result = decode$1(Blob_toUint8Array(blob));
|
|
933
|
-
});
|
|
934
|
-
}
|
|
935
|
-
get onabort() { return this[state$e].onabort; }
|
|
936
|
-
set onabort(value) { this[state$e].onabort = value; attach$2(this, "abort"); }
|
|
937
|
-
get onerror() { return this[state$e].onerror; }
|
|
938
|
-
set onerror(value) { this[state$e].onerror = value; attach$2(this, "error"); }
|
|
939
|
-
get onload() { return this[state$e].onload; }
|
|
940
|
-
set onload(value) { this[state$e].onload = value; attach$2(this, "load"); }
|
|
941
|
-
get onloadend() { return this[state$e].onloadend; }
|
|
942
|
-
set onloadend(value) { this[state$e].onloadend = value; attach$2(this, "loadend"); }
|
|
943
|
-
get onloadstart() { return this[state$e].onloadstart; }
|
|
944
|
-
set onloadstart(value) { this[state$e].onloadstart = value; attach$2(this, "loadstart"); }
|
|
945
|
-
get onprogress() { return this[state$e].onprogress; }
|
|
946
|
-
set onprogress(value) { this[state$e].onprogress = value; attach$2(this, "progress"); }
|
|
947
|
-
/** @internal */ toString() { return "[object FileReader]"; }
|
|
948
|
-
/** @internal */ get [Symbol.toStringTag]() { return "FileReader"; }
|
|
949
|
-
/** @internal */ get isPolyfill() { return { symbol: polyfill, hierarchy: ["FileReader", "EventTarget"] }; }
|
|
950
|
-
}
|
|
951
|
-
/** @internal */
|
|
952
|
-
const _handlers$4 = Symbol();
|
|
953
|
-
/** @internal */
|
|
954
|
-
class FileReaderState {
|
|
955
|
-
constructor(target) {
|
|
956
|
-
this.readyState = 0 /* EMPTY */;
|
|
957
|
-
this.result = null;
|
|
958
|
-
this.error = null;
|
|
959
|
-
this[_a$8] = getHandlers$4(this);
|
|
960
|
-
this.onabort = null;
|
|
961
|
-
this.onerror = null;
|
|
962
|
-
this.onload = null;
|
|
963
|
-
this.onloadend = null;
|
|
964
|
-
this.onloadstart = null;
|
|
965
|
-
this.onprogress = null;
|
|
966
|
-
this.target = target;
|
|
967
|
-
}
|
|
968
|
-
}
|
|
969
|
-
_a$8 = _handlers$4;
|
|
970
|
-
function read$1(reader, kind, args, setResult) {
|
|
971
|
-
const [blob] = args;
|
|
972
|
-
checkArgsLength(args, 1, "FileReader", kind);
|
|
973
|
-
if (!isPolyfillType("Blob", blob)) {
|
|
974
|
-
throw new TypeError("Failed to execute '" + kind + "' on 'FileReader': parameter 1 is not of type 'Blob'.");
|
|
975
|
-
}
|
|
976
|
-
const s = reader[state$e];
|
|
977
|
-
s.error = null;
|
|
978
|
-
s.readyState = 1 /* LOADING */;
|
|
979
|
-
emitProcessEvent(s.target, "loadstart", 0, blob.size);
|
|
980
|
-
setTimeout(() => {
|
|
981
|
-
if (s.readyState === 1 /* LOADING */) {
|
|
982
|
-
s.readyState = 2 /* DONE */;
|
|
983
|
-
try {
|
|
984
|
-
setResult(blob);
|
|
985
|
-
emitProcessEvent(s.target, "load", blob.size, blob.size);
|
|
986
|
-
}
|
|
987
|
-
catch (e) {
|
|
988
|
-
s.result = null;
|
|
989
|
-
s.error = e;
|
|
990
|
-
emitProcessEvent(s.target, "error", 0, blob.size);
|
|
991
|
-
}
|
|
992
|
-
}
|
|
993
|
-
emitProcessEvent(s.target, "loadend", !!s.result ? blob.size : 0, blob.size);
|
|
994
|
-
});
|
|
995
|
-
}
|
|
996
|
-
function attach$2(reader, type) {
|
|
997
|
-
const s = reader[state$e];
|
|
998
|
-
const fnName = ("on" + type);
|
|
999
|
-
const cb = s[fnName];
|
|
1000
|
-
const listener = s[_handlers$4][fnName];
|
|
1001
|
-
attachFn(reader, type, cb, listener);
|
|
1002
|
-
}
|
|
1003
|
-
function getHandlers$4(s) {
|
|
1004
|
-
return {
|
|
1005
|
-
onabort: (ev) => { executeFn(s.target, s.onabort, ev); },
|
|
1006
|
-
onerror: (ev) => { executeFn(s.target, s.onerror, ev); },
|
|
1007
|
-
onload: (ev) => { executeFn(s.target, s.onload, ev); },
|
|
1008
|
-
onloadend: (ev) => { executeFn(s.target, s.onloadend, ev); },
|
|
1009
|
-
onloadstart: (ev) => { executeFn(s.target, s.onloadstart, ev); },
|
|
1010
|
-
onprogress: (ev) => { executeFn(s.target, s.onprogress, ev); },
|
|
1011
|
-
};
|
|
1012
|
-
}
|
|
1013
|
-
const FileReaderE = g["Blob"] ? g["FileReader"] : FileReaderP;
|
|
1014
|
-
|
|
1015
|
-
var _a$7;
|
|
1016
|
-
/** @internal */ const state$d = Symbol( /* "URLSearchParamsState" */);
|
|
1017
|
-
const checkArgsFn$2 = (args, required, funcName) => { checkArgsLength(args, required, "URLSearchParams", funcName); };
|
|
1018
|
-
class URLSearchParamsP {
|
|
1019
|
-
constructor(init) {
|
|
1020
|
-
this[state$d] = new URLSearchParamsState();
|
|
1021
|
-
if (init !== undefined) {
|
|
1022
|
-
if (isObjectType("URLSearchParams", init) || isPolyfillType("URLSearchParams", init)) {
|
|
1023
|
-
init.forEach((value, name) => { this.append(name, value); }, this);
|
|
1024
|
-
}
|
|
1025
|
-
else if (init && typeof init === "object") {
|
|
1026
|
-
if (Array.isArray(init) || Symbol.iterator in init) {
|
|
1027
|
-
let _init = Array.isArray(init) ? init : Array.from(init);
|
|
1028
|
-
for (let i = 0; i < _init.length; ++i) {
|
|
1029
|
-
let item = _init[i];
|
|
1030
|
-
if (Array.isArray(item) || (item && typeof item === "object" && Symbol.iterator in item)) {
|
|
1031
|
-
let pair = Array.isArray(item) ? item : Array.from(item);
|
|
1032
|
-
if (pair.length === 2) {
|
|
1033
|
-
this.append(pair[0], pair[1]);
|
|
1034
|
-
}
|
|
1035
|
-
else {
|
|
1036
|
-
throw new TypeError("Failed to construct 'URLSearchParams': Sequence initializer must only contain pair elements");
|
|
1037
|
-
}
|
|
1038
|
-
}
|
|
1039
|
-
else {
|
|
1040
|
-
throw new TypeError("Failed to construct 'URLSearchParams': The provided value cannot be converted to a sequence.");
|
|
1041
|
-
}
|
|
1042
|
-
}
|
|
1043
|
-
}
|
|
1044
|
-
else {
|
|
1045
|
-
Object.getOwnPropertyNames(init).forEach(name => { this.append(name, init[name]); }, this);
|
|
1046
|
-
}
|
|
1047
|
-
}
|
|
1048
|
-
else {
|
|
1049
|
-
let _init = "" + init;
|
|
1050
|
-
if (_init.indexOf("?") === 0) {
|
|
1051
|
-
_init = _init.slice(1);
|
|
1052
|
-
}
|
|
1053
|
-
let pairs = _init.split("&");
|
|
1054
|
-
for (let i = 0; i < pairs.length; ++i) {
|
|
1055
|
-
let pair = pairs[i], separatorIndex = pair.indexOf("=");
|
|
1056
|
-
if (separatorIndex > -1) {
|
|
1057
|
-
this.append(decode(pair.slice(0, separatorIndex)), decode(pair.slice(separatorIndex + 1)));
|
|
1058
|
-
}
|
|
1059
|
-
else {
|
|
1060
|
-
if (pair) {
|
|
1061
|
-
this.append(decode(pair), "");
|
|
1062
|
-
}
|
|
1063
|
-
}
|
|
1064
|
-
}
|
|
1065
|
-
}
|
|
1066
|
-
}
|
|
1067
|
-
}
|
|
1068
|
-
get size() { return this[state$d][_urlspArray].length; }
|
|
1069
|
-
append(...args) {
|
|
1070
|
-
const [name, value] = args;
|
|
1071
|
-
checkArgsFn$2(args, 2, "append");
|
|
1072
|
-
this[state$d][_urlspArray].push(["" + name, normalizeValue$1(value)]);
|
|
1073
|
-
}
|
|
1074
|
-
delete(...args) {
|
|
1075
|
-
const [name, value] = args;
|
|
1076
|
-
checkArgsFn$2(args, 1, "delete");
|
|
1077
|
-
let _name = "" + name;
|
|
1078
|
-
let index = -1;
|
|
1079
|
-
let array = this[state$d][_urlspArray];
|
|
1080
|
-
let result = [];
|
|
1081
|
-
for (let i = 0; i < array.length; ++i) {
|
|
1082
|
-
let item = array[i];
|
|
1083
|
-
if (item[0] === _name) {
|
|
1084
|
-
if (args.length !== 1 && item[1] !== normalizeValue$1(value)) {
|
|
1085
|
-
result.push(item);
|
|
1086
|
-
}
|
|
1087
|
-
index = i;
|
|
1088
|
-
continue;
|
|
1089
|
-
}
|
|
1090
|
-
result.push(item);
|
|
1091
|
-
}
|
|
1092
|
-
if (index > -1) {
|
|
1093
|
-
this[state$d][_urlspArray] = result;
|
|
1094
|
-
}
|
|
1095
|
-
}
|
|
1096
|
-
get(...args) {
|
|
1097
|
-
const [name] = args;
|
|
1098
|
-
checkArgsFn$2(args, 1, "get");
|
|
1099
|
-
let _name = "" + name;
|
|
1100
|
-
let array = this[state$d][_urlspArray];
|
|
1101
|
-
for (let i = 0; i < array.length; ++i) {
|
|
1102
|
-
let item = array[i];
|
|
1103
|
-
if (item[0] === _name) {
|
|
1104
|
-
return item[1];
|
|
1105
|
-
}
|
|
1106
|
-
}
|
|
1107
|
-
return null;
|
|
1108
|
-
}
|
|
1109
|
-
getAll(...args) {
|
|
1110
|
-
const [name] = args;
|
|
1111
|
-
checkArgsFn$2(args, 1, "getAll");
|
|
1112
|
-
let _name = "" + name;
|
|
1113
|
-
let array = this[state$d][_urlspArray];
|
|
1114
|
-
let result = [];
|
|
1115
|
-
for (let i = 0; i < array.length; ++i) {
|
|
1116
|
-
let item = array[i];
|
|
1117
|
-
if (item[0] === _name) {
|
|
1118
|
-
result.push(item[1]);
|
|
1119
|
-
}
|
|
1120
|
-
}
|
|
1121
|
-
return result;
|
|
1122
|
-
}
|
|
1123
|
-
has(...args) {
|
|
1124
|
-
const [name, value] = args;
|
|
1125
|
-
checkArgsFn$2(args, 1, "has");
|
|
1126
|
-
let _name = "" + name;
|
|
1127
|
-
let array = this[state$d][_urlspArray];
|
|
1128
|
-
for (let i = 0; i < array.length; ++i) {
|
|
1129
|
-
let item = array[i];
|
|
1130
|
-
if (item[0] === _name) {
|
|
1131
|
-
if (args.length === 1) {
|
|
1132
|
-
return true;
|
|
1133
|
-
}
|
|
1134
|
-
else {
|
|
1135
|
-
if (item[1] === normalizeValue$1(value)) {
|
|
1136
|
-
return true;
|
|
1137
|
-
}
|
|
1138
|
-
}
|
|
1139
|
-
}
|
|
1140
|
-
}
|
|
1141
|
-
return false;
|
|
1142
|
-
}
|
|
1143
|
-
set(...args) {
|
|
1144
|
-
const [name, value] = args;
|
|
1145
|
-
checkArgsFn$2(args, 2, "set");
|
|
1146
|
-
let _name = "" + name;
|
|
1147
|
-
let _value = normalizeValue$1(value);
|
|
1148
|
-
let index = -1;
|
|
1149
|
-
let array = this[state$d][_urlspArray];
|
|
1150
|
-
let result = [];
|
|
1151
|
-
for (let i = 0; i < array.length; ++i) {
|
|
1152
|
-
let item = array[i];
|
|
1153
|
-
if (item[0] === _name) {
|
|
1154
|
-
if (index === -1) {
|
|
1155
|
-
index = i;
|
|
1156
|
-
result.push([_name, _value]);
|
|
1157
|
-
}
|
|
1158
|
-
continue;
|
|
1159
|
-
}
|
|
1160
|
-
result.push(item);
|
|
1161
|
-
}
|
|
1162
|
-
if (index === -1) {
|
|
1163
|
-
result.push([_name, _value]);
|
|
1164
|
-
}
|
|
1165
|
-
this[state$d][_urlspArray] = result;
|
|
1166
|
-
}
|
|
1167
|
-
sort() {
|
|
1168
|
-
this[state$d][_urlspArray].sort((a, b) => a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0);
|
|
1169
|
-
}
|
|
1170
|
-
forEach(...args) {
|
|
1171
|
-
const [callbackfn, thisArg] = args;
|
|
1172
|
-
checkArgsFn$2(args, 1, "forEach");
|
|
1173
|
-
if (typeof callbackfn !== "function") {
|
|
1174
|
-
throw new TypeError("Failed to execute 'forEach' on 'URLSearchParams': parameter 1 is not of type 'Function'.");
|
|
1175
|
-
}
|
|
1176
|
-
let array = this[state$d][_urlspArray];
|
|
1177
|
-
for (let i = 0; i < array.length; ++i) {
|
|
1178
|
-
let item = array[i];
|
|
1179
|
-
callbackfn.call(thisArg, item[1], item[0], this);
|
|
1180
|
-
}
|
|
1181
|
-
}
|
|
1182
|
-
entries() {
|
|
1183
|
-
return this[state$d][_urlspArray].map(x => [x[0], x[1]]).values();
|
|
1184
|
-
}
|
|
1185
|
-
keys() {
|
|
1186
|
-
return this[state$d][_urlspArray].map(x => x[0]).values();
|
|
1187
|
-
}
|
|
1188
|
-
values() {
|
|
1189
|
-
return this[state$d][_urlspArray].map(x => x[1]).values();
|
|
1190
|
-
}
|
|
1191
|
-
[Symbol.iterator]() {
|
|
1192
|
-
return this.entries();
|
|
1193
|
-
}
|
|
1194
|
-
toString() {
|
|
1195
|
-
let array = this[state$d][_urlspArray];
|
|
1196
|
-
let result = [];
|
|
1197
|
-
for (let i = 0; i < array.length; ++i) {
|
|
1198
|
-
let item = array[i];
|
|
1199
|
-
result.push(encode(item[0]) + "=" + encode(item[1]));
|
|
1200
|
-
}
|
|
1201
|
-
return result.join("&");
|
|
1202
|
-
}
|
|
1203
|
-
/** @internal */ get [Symbol.toStringTag]() { return "URLSearchParams"; }
|
|
1204
|
-
/** @internal */ get isPolyfill() { return { symbol: polyfill, hierarchy: ["URLSearchParams"] }; }
|
|
1205
|
-
}
|
|
1206
|
-
/** @internal */
|
|
1207
|
-
const _urlspArray = Symbol();
|
|
1208
|
-
/** @internal */
|
|
1209
|
-
class URLSearchParamsState {
|
|
1210
|
-
constructor() {
|
|
1211
|
-
this[_a$7] = [];
|
|
1212
|
-
}
|
|
1213
|
-
}
|
|
1214
|
-
_a$7 = _urlspArray;
|
|
1215
|
-
function normalizeValue$1(value) {
|
|
1216
|
-
return typeof value === "string" ? value : (value !== null && value !== undefined && typeof value.toString === "function"
|
|
1217
|
-
? value.toString()
|
|
1218
|
-
: JSON.stringify(value));
|
|
1219
|
-
}
|
|
1220
|
-
function encode(str) {
|
|
1221
|
-
const replace = {
|
|
1222
|
-
"!": "%21",
|
|
1223
|
-
"'": "%27",
|
|
1224
|
-
"(": "%28",
|
|
1225
|
-
")": "%29",
|
|
1226
|
-
"~": "%7E",
|
|
1227
|
-
"%20": "+",
|
|
1228
|
-
"%00": "\x00",
|
|
1229
|
-
};
|
|
1230
|
-
return encodeURIComponent(str).replace(/[!'\(\)~]|%20|%00/g, match => replace[match]);
|
|
1231
|
-
}
|
|
1232
|
-
function decode(str) {
|
|
1233
|
-
return str
|
|
1234
|
-
.replace(/[ +]/g, "%20")
|
|
1235
|
-
.replace(/(%[a-f0-9]{2})+/ig, match => decodeURIComponent(match));
|
|
1236
|
-
}
|
|
1237
|
-
const URLSearchParamsE = g["URLSearchParams"] || URLSearchParamsP;
|
|
1238
|
-
|
|
1239
|
-
var _a$6;
|
|
1240
|
-
/** @internal */ const state$c = Symbol( /* "FormDataState" */);
|
|
1241
|
-
const checkArgsFn$1 = (args, required, funcName) => { checkArgsLength(args, required, "FormData", funcName); };
|
|
1242
|
-
class FormDataP {
|
|
1243
|
-
constructor(form, submitter) {
|
|
1244
|
-
if (submitter === undefined) {
|
|
1245
|
-
if (form !== undefined) {
|
|
1246
|
-
console.error("TypeError: Failed to construct 'FormData': parameter 1 not implemented.");
|
|
1247
|
-
}
|
|
1248
|
-
}
|
|
1249
|
-
else {
|
|
1250
|
-
if (submitter !== null) {
|
|
1251
|
-
console.error("TypeError: Failed to construct 'FormData': parameter 1 and parameter 2 not implemented.");
|
|
1252
|
-
}
|
|
1253
|
-
}
|
|
1254
|
-
this[state$c] = new FormDataState();
|
|
1255
|
-
}
|
|
1256
|
-
append(...args) {
|
|
1257
|
-
const [name, value, filename] = args;
|
|
1258
|
-
checkArgsFn$1(args, 2, "append");
|
|
1259
|
-
this[state$c][_formData].push(normalizeArgs(name, value, filename));
|
|
1260
|
-
}
|
|
1261
|
-
delete(...args) {
|
|
1262
|
-
const [name] = args;
|
|
1263
|
-
checkArgsFn$1(args, 1, "delete");
|
|
1264
|
-
let _name = "" + name;
|
|
1265
|
-
let index = -1;
|
|
1266
|
-
let array = this[state$c][_formData];
|
|
1267
|
-
let result = [];
|
|
1268
|
-
for (let i = 0; i < array.length; ++i) {
|
|
1269
|
-
let item = array[i];
|
|
1270
|
-
if (item[0] === _name) {
|
|
1271
|
-
index = i;
|
|
1272
|
-
continue;
|
|
1273
|
-
}
|
|
1274
|
-
result.push(item);
|
|
1275
|
-
}
|
|
1276
|
-
if (index > -1) {
|
|
1277
|
-
this[state$c][_formData] = result;
|
|
1278
|
-
}
|
|
1279
|
-
}
|
|
1280
|
-
get(...args) {
|
|
1281
|
-
const [name] = args;
|
|
1282
|
-
checkArgsFn$1(args, 1, "get");
|
|
1283
|
-
let _name = "" + name;
|
|
1284
|
-
let array = this[state$c][_formData];
|
|
1285
|
-
for (let i = 0; i < array.length; ++i) {
|
|
1286
|
-
let item = array[i];
|
|
1287
|
-
if (item[0] === _name) {
|
|
1288
|
-
return item[1];
|
|
1289
|
-
}
|
|
1290
|
-
}
|
|
1291
|
-
return null;
|
|
1292
|
-
}
|
|
1293
|
-
getAll(...args) {
|
|
1294
|
-
const [name] = args;
|
|
1295
|
-
checkArgsFn$1(args, 1, "getAll");
|
|
1296
|
-
let _name = "" + name;
|
|
1297
|
-
let array = this[state$c][_formData];
|
|
1298
|
-
let result = [];
|
|
1299
|
-
for (let i = 0; i < array.length; ++i) {
|
|
1300
|
-
let item = array[i];
|
|
1301
|
-
if (item[0] === _name) {
|
|
1302
|
-
result.push(item[1]);
|
|
1303
|
-
}
|
|
1304
|
-
}
|
|
1305
|
-
return result;
|
|
1306
|
-
}
|
|
1307
|
-
has(...args) {
|
|
1308
|
-
const [name] = args;
|
|
1309
|
-
checkArgsFn$1(args, 1, "has");
|
|
1310
|
-
let _name = "" + name;
|
|
1311
|
-
let array = this[state$c][_formData];
|
|
1312
|
-
for (let i = 0; i < array.length; ++i) {
|
|
1313
|
-
let item = array[i];
|
|
1314
|
-
if (item[0] === _name) {
|
|
1315
|
-
return true;
|
|
1316
|
-
}
|
|
1317
|
-
}
|
|
1318
|
-
return false;
|
|
1319
|
-
}
|
|
1320
|
-
set(...args) {
|
|
1321
|
-
const [name, value, filename] = args;
|
|
1322
|
-
checkArgsFn$1(args, 2, "set");
|
|
1323
|
-
let _name = "" + name;
|
|
1324
|
-
let _args = normalizeArgs(name, value, filename);
|
|
1325
|
-
let index = -1;
|
|
1326
|
-
let array = this[state$c][_formData];
|
|
1327
|
-
let result = [];
|
|
1328
|
-
for (let i = 0; i < array.length; ++i) {
|
|
1329
|
-
let item = array[i];
|
|
1330
|
-
if (item[0] === _name) {
|
|
1331
|
-
if (index === -1) {
|
|
1332
|
-
index = i;
|
|
1333
|
-
result.push(_args);
|
|
1334
|
-
}
|
|
1335
|
-
continue;
|
|
1336
|
-
}
|
|
1337
|
-
result.push(item);
|
|
1338
|
-
}
|
|
1339
|
-
if (index === -1) {
|
|
1340
|
-
result.push(_args);
|
|
1341
|
-
}
|
|
1342
|
-
this[state$c][_formData] = result;
|
|
1343
|
-
}
|
|
1344
|
-
forEach(...args) {
|
|
1345
|
-
const [callbackfn, thisArg] = args;
|
|
1346
|
-
checkArgsFn$1(args, 1, "forEach");
|
|
1347
|
-
if (typeof callbackfn !== "function") {
|
|
1348
|
-
throw new TypeError("Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'.");
|
|
1349
|
-
}
|
|
1350
|
-
let array = this[state$c][_formData];
|
|
1351
|
-
for (let i = 0; i < array.length; ++i) {
|
|
1352
|
-
let item = array[i];
|
|
1353
|
-
callbackfn.call(thisArg, item[1], item[0], thisArg);
|
|
1354
|
-
}
|
|
1355
|
-
}
|
|
1356
|
-
entries() {
|
|
1357
|
-
return this[state$c][_formData].map(x => [x[0], x[1]]).values();
|
|
1358
|
-
}
|
|
1359
|
-
keys() {
|
|
1360
|
-
return this[state$c][_formData].map(x => x[0]).values();
|
|
1361
|
-
}
|
|
1362
|
-
values() {
|
|
1363
|
-
return this[state$c][_formData].map(x => x[1]).values();
|
|
1364
|
-
}
|
|
1365
|
-
[Symbol.iterator]() {
|
|
1366
|
-
return this.entries();
|
|
1367
|
-
}
|
|
1368
|
-
/** @internal */ toString() { return "[object FormData]"; }
|
|
1369
|
-
/** @internal */ get [Symbol.toStringTag]() { return "FormData"; }
|
|
1370
|
-
/** @internal */ get isPolyfill() { return { symbol: polyfill, hierarchy: ["FormData"] }; }
|
|
1371
|
-
}
|
|
1372
|
-
/** @internal */
|
|
1373
|
-
const _formData = Symbol();
|
|
1374
|
-
/** @internal */
|
|
1375
|
-
class FormDataState {
|
|
1376
|
-
constructor() {
|
|
1377
|
-
this[_a$6] = [];
|
|
1378
|
-
}
|
|
1379
|
-
}
|
|
1380
|
-
_a$6 = _formData;
|
|
1381
|
-
/** @internal */
|
|
1382
|
-
function FormData_toBlob(formData) {
|
|
1383
|
-
const boundary = "----formdata-mphttpx-" + Math.random();
|
|
1384
|
-
const p = `--${boundary}\r\nContent-Disposition: form-data; name="`;
|
|
1385
|
-
let chunks = [];
|
|
1386
|
-
for (let i = 0; i < formData[state$c][_formData].length; ++i) {
|
|
1387
|
-
let pair = formData[state$c][_formData][i];
|
|
1388
|
-
let name = pair[0];
|
|
1389
|
-
let value = pair[1];
|
|
1390
|
-
if (typeof value === "string") {
|
|
1391
|
-
chunks.push(p + escape(normalizeLinefeeds(name)) + `"\r\n\r\n${normalizeLinefeeds(value)}\r\n`);
|
|
1392
|
-
}
|
|
1393
|
-
else {
|
|
1394
|
-
chunks.push(p + escape(normalizeLinefeeds(name)) + `"; filename="${escape(value.name)}"\r\nContent-Type: ${value.type || "application/octet-stream"}\r\n\r\n`, value, `\r\n`);
|
|
1395
|
-
}
|
|
1396
|
-
}
|
|
1397
|
-
chunks.push(`--${boundary}--`);
|
|
1398
|
-
return new BlobP(chunks, { type: "multipart/form-data; boundary=" + boundary });
|
|
1399
|
-
}
|
|
1400
|
-
function normalizeArgs(name, value, filename) {
|
|
1401
|
-
if (isPolyfillType("Blob", value)) {
|
|
1402
|
-
filename = filename !== undefined
|
|
1403
|
-
? ("" + filename)
|
|
1404
|
-
: typeof value.name === "string"
|
|
1405
|
-
? value.name
|
|
1406
|
-
: "blob";
|
|
1407
|
-
if (value.name !== filename || isObjectType("Blob", value) || isPolyfillType("Blob", value, true)) {
|
|
1408
|
-
value = new FileP([value], filename);
|
|
1409
|
-
}
|
|
1410
|
-
return ["" + name, value];
|
|
1411
|
-
}
|
|
1412
|
-
return ["" + name, "" + value];
|
|
1413
|
-
}
|
|
1414
|
-
// normalize line feeds for textarea
|
|
1415
|
-
// https://html.spec.whatwg.org/multipage/form-elements.html#textarea-line-break-normalisation-transformation
|
|
1416
|
-
function normalizeLinefeeds(value) {
|
|
1417
|
-
return value.replace(/\r?\n|\r/g, "\r\n");
|
|
1418
|
-
}
|
|
1419
|
-
function escape(str) {
|
|
1420
|
-
return str.replace(/\n/g, '%0A').replace(/\r/g, '%0D').replace(/"/g, '%22');
|
|
1421
|
-
}
|
|
1422
|
-
/** @internal */
|
|
1423
|
-
function createFormDataFromBinaryText(text, boundary) {
|
|
1424
|
-
const throwParseError = () => {
|
|
1425
|
-
throw new TypeError("Could not parse content as FormData.");
|
|
1426
|
-
};
|
|
1427
|
-
if (typeof text !== "string" || text.trim() === "") {
|
|
1428
|
-
throwParseError();
|
|
1429
|
-
}
|
|
1430
|
-
let firstLineEnd = text.indexOf("\r\n");
|
|
1431
|
-
if (firstLineEnd === -1) {
|
|
1432
|
-
throwParseError();
|
|
1433
|
-
}
|
|
1434
|
-
let _boundary = text.substring(2, firstLineEnd).trim();
|
|
1435
|
-
if (!_boundary) {
|
|
1436
|
-
throwParseError();
|
|
1437
|
-
}
|
|
1438
|
-
if (boundary !== undefined && boundary !== _boundary) {
|
|
1439
|
-
throwParseError();
|
|
1440
|
-
}
|
|
1441
|
-
let parts = text.split(`--${_boundary}`).filter(part => {
|
|
1442
|
-
let trimmed = part.trim();
|
|
1443
|
-
return trimmed !== "" && trimmed !== "--";
|
|
1444
|
-
});
|
|
1445
|
-
if (parts.length === 0) {
|
|
1446
|
-
throwParseError();
|
|
1447
|
-
}
|
|
1448
|
-
let formData = new FormDataP();
|
|
1449
|
-
parts.forEach(part => {
|
|
1450
|
-
let separatorIndex = part.indexOf("\r\n\r\n");
|
|
1451
|
-
if (separatorIndex === -1) {
|
|
1452
|
-
throwParseError();
|
|
1453
|
-
}
|
|
1454
|
-
let headerRaw = part.substring(0, separatorIndex).trim();
|
|
1455
|
-
let nameMatch = headerRaw.match(/name="([^"]*)"/);
|
|
1456
|
-
if (!nameMatch || nameMatch.length < 2) {
|
|
1457
|
-
throwParseError();
|
|
1458
|
-
}
|
|
1459
|
-
let fieldName = nameMatch[1];
|
|
1460
|
-
let filenameMatch = headerRaw.match(/filename="([^"]*)"/);
|
|
1461
|
-
let contentRaw = part.substring(separatorIndex + 4);
|
|
1462
|
-
if (!filenameMatch) {
|
|
1463
|
-
formData.append(fieldName, contentRaw.replace(/^[\r\n]+|[\r\n]+$/g, ""));
|
|
1464
|
-
}
|
|
1465
|
-
else {
|
|
1466
|
-
let filename = filenameMatch[1] || "";
|
|
1467
|
-
let contentTypeMatch = headerRaw.match(/Content-Type: ([^\r\n]+)/);
|
|
1468
|
-
let mimeType = contentTypeMatch ? (contentTypeMatch[1] || "").trim() : "text/plain";
|
|
1469
|
-
let content = contentRaw.replace(/\r\n/g, "");
|
|
1470
|
-
formData.append(fieldName, new FileP([content], filename, { type: mimeType }));
|
|
1471
|
-
}
|
|
1472
|
-
});
|
|
1473
|
-
return formData;
|
|
1474
|
-
}
|
|
1475
|
-
const FormDataE = g["FormData"] || FormDataP;
|
|
1476
|
-
|
|
1477
|
-
var _a$5, _b$2;
|
|
1478
|
-
/** @internal */ const state$b = Symbol( /* "HeadersState" */);
|
|
1479
|
-
const checkArgsFn = (args, required, funcName) => { checkArgsLength(args, required, "Headers", funcName); };
|
|
1480
|
-
class HeadersP {
|
|
1481
|
-
constructor(init) {
|
|
1482
|
-
this[state$b] = new HeadersState();
|
|
1483
|
-
if (init !== undefined) {
|
|
1484
|
-
if (isObjectType("Headers", init) || isPolyfillType("Headers", init)) {
|
|
1485
|
-
init.forEach((value, name) => { Headers_append(this, name, value); }, this);
|
|
1486
|
-
}
|
|
1487
|
-
else if (Array.isArray(init) || (init && typeof init === "object" && Symbol.iterator in init)) {
|
|
1488
|
-
let _init = Array.isArray(init) ? init : Array.from(init);
|
|
1489
|
-
_init.forEach(item => {
|
|
1490
|
-
if (Array.isArray(item) || (item && typeof item === "object" && Symbol.iterator in item)) {
|
|
1491
|
-
let pair = Array.isArray(item) ? item : Array.from(item);
|
|
1492
|
-
if (pair.length === 2) {
|
|
1493
|
-
this.append(pair[0], pair[1]);
|
|
1494
|
-
}
|
|
1495
|
-
else {
|
|
1496
|
-
throw new TypeError("Failed to construct 'Headers': Invalid value");
|
|
1497
|
-
}
|
|
1498
|
-
}
|
|
1499
|
-
else {
|
|
1500
|
-
throw new TypeError("Failed to construct 'Headers': The provided value cannot be converted to a sequence.");
|
|
1501
|
-
}
|
|
1502
|
-
}, this);
|
|
1503
|
-
}
|
|
1504
|
-
else {
|
|
1505
|
-
if (init && typeof init === "object") {
|
|
1506
|
-
Object.getOwnPropertyNames(init).forEach(name => { this.append(name, init[name]); }, this);
|
|
1507
|
-
}
|
|
1508
|
-
else {
|
|
1509
|
-
throw new TypeError("Failed to construct 'Headers': The provided value is not of type '(record<ByteString, ByteString> or sequence<sequence<ByteString>>)'.");
|
|
1510
|
-
}
|
|
1511
|
-
}
|
|
1512
|
-
}
|
|
1513
|
-
this[state$b][_initialized] = true;
|
|
1514
|
-
}
|
|
1515
|
-
append(...args) {
|
|
1516
|
-
const [name, value] = args;
|
|
1517
|
-
checkArgsFn(args, 2, "append");
|
|
1518
|
-
let _name = normalizeName(name, throwsFn(this[state$b][_initialized] ? "append" : ""));
|
|
1519
|
-
let _value = normalizeValue(value);
|
|
1520
|
-
Headers_append(this, _name, _value);
|
|
1521
|
-
}
|
|
1522
|
-
delete(...args) {
|
|
1523
|
-
const [name] = args;
|
|
1524
|
-
checkArgsFn(args, 1, "delete");
|
|
1525
|
-
let _name = normalizeName(name, throwsFn("delete"));
|
|
1526
|
-
delete this[state$b][_headersDict][_name];
|
|
1527
|
-
}
|
|
1528
|
-
get(...args) {
|
|
1529
|
-
var _c;
|
|
1530
|
-
const [name] = args;
|
|
1531
|
-
checkArgsFn(args, 1, "get");
|
|
1532
|
-
let _name = normalizeName(name, throwsFn("get"));
|
|
1533
|
-
return (_c = this[state$b][_headersDict][_name]) !== null && _c !== void 0 ? _c : null;
|
|
1534
|
-
}
|
|
1535
|
-
getSetCookie() {
|
|
1536
|
-
let value = this.get("Set-Cookie");
|
|
1537
|
-
return value ? value.split(", ") : [];
|
|
1538
|
-
}
|
|
1539
|
-
has(...args) {
|
|
1540
|
-
const [name] = args;
|
|
1541
|
-
checkArgsFn(args, 1, "has");
|
|
1542
|
-
let _name = normalizeName(name, throwsFn("has"));
|
|
1543
|
-
return this[state$b][_headersDict].hasOwnProperty(_name);
|
|
1544
|
-
}
|
|
1545
|
-
set(...args) {
|
|
1546
|
-
const [name, value] = args;
|
|
1547
|
-
checkArgsFn(args, 2, "set");
|
|
1548
|
-
let _name = normalizeName(name, throwsFn("set"));
|
|
1549
|
-
let _value = normalizeValue(value);
|
|
1550
|
-
this[state$b][_headersDict][_name] = _value;
|
|
1551
|
-
}
|
|
1552
|
-
forEach(...args) {
|
|
1553
|
-
const [callbackfn, thisArg] = args;
|
|
1554
|
-
checkArgsFn(args, 1, "forEach");
|
|
1555
|
-
if (typeof callbackfn !== "function") {
|
|
1556
|
-
throw new TypeError("Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'.");
|
|
1557
|
-
}
|
|
1558
|
-
let names = Object.getOwnPropertyNames(this[state$b][_headersDict]);
|
|
1559
|
-
for (let i = 0; i < names.length; ++i) {
|
|
1560
|
-
let name = names[i];
|
|
1561
|
-
callbackfn.call(thisArg, this[state$b][_headersDict][name], name, this);
|
|
1562
|
-
}
|
|
1563
|
-
}
|
|
1564
|
-
entries() {
|
|
1565
|
-
let array = [];
|
|
1566
|
-
this.forEach((value, name) => { array.push([name, value]); });
|
|
1567
|
-
return array.values();
|
|
1568
|
-
}
|
|
1569
|
-
keys() {
|
|
1570
|
-
let array = [];
|
|
1571
|
-
this.forEach((value, name) => { array.push(name); });
|
|
1572
|
-
return array.values();
|
|
1573
|
-
}
|
|
1574
|
-
values() {
|
|
1575
|
-
let array = [];
|
|
1576
|
-
this.forEach((value, name) => { array.push(value); });
|
|
1577
|
-
return array.values();
|
|
1578
|
-
}
|
|
1579
|
-
[Symbol.iterator]() {
|
|
1580
|
-
return this.entries();
|
|
1581
|
-
}
|
|
1582
|
-
/** @internal */ toString() { return "[object Headers]"; }
|
|
1583
|
-
/** @internal */ get [Symbol.toStringTag]() { return "Headers"; }
|
|
1584
|
-
/** @internal */ get isPolyfill() { return { symbol: polyfill, hierarchy: ["Headers"] }; }
|
|
1585
|
-
}
|
|
1586
|
-
/** @internal */ const _initialized = Symbol();
|
|
1587
|
-
/** @internal */ const _headersDict = Symbol();
|
|
1588
|
-
/** @internal */
|
|
1589
|
-
class HeadersState {
|
|
1590
|
-
constructor() {
|
|
1591
|
-
this[_a$5] = false;
|
|
1592
|
-
this[_b$2] = {};
|
|
1593
|
-
}
|
|
1594
|
-
}
|
|
1595
|
-
_a$5 = _initialized, _b$2 = _headersDict;
|
|
1596
|
-
function Headers_append(headers, name, value) {
|
|
1597
|
-
let dict = headers[state$b][_headersDict];
|
|
1598
|
-
let oldValue = dict[name];
|
|
1599
|
-
dict[name] = oldValue !== undefined ? `${oldValue}, ${value}` : value;
|
|
1600
|
-
}
|
|
1601
|
-
function throwsFn(kind) {
|
|
1602
|
-
return () => {
|
|
1603
|
-
throw new TypeError(`Failed to ${kind ? ("execute '" + kind + "' on") : "construct"} 'Headers': Invalid name`);
|
|
1604
|
-
};
|
|
1605
|
-
}
|
|
1606
|
-
/** @internal */
|
|
1607
|
-
function normalizeName(name, throwError) {
|
|
1608
|
-
if (typeof name !== "string") {
|
|
1609
|
-
name = "" + name;
|
|
1610
|
-
}
|
|
1611
|
-
if (throwError && (/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(name) || name === "")) {
|
|
1612
|
-
throwError();
|
|
1613
|
-
}
|
|
1614
|
-
return name.toLowerCase();
|
|
1615
|
-
}
|
|
1616
|
-
/** @internal */
|
|
1617
|
-
function normalizeValue(value) {
|
|
1618
|
-
return typeof value === "string" ? value : ("" + value);
|
|
1619
|
-
}
|
|
1620
|
-
/** @internal */
|
|
1621
|
-
function parseHeaders(rawHeaders) {
|
|
1622
|
-
let headers = new HeadersP();
|
|
1623
|
-
let preProcessedHeaders = rawHeaders.replace(/\r?\n[\t ]+/g, " ");
|
|
1624
|
-
preProcessedHeaders
|
|
1625
|
-
.split("\r")
|
|
1626
|
-
.map(header => header.indexOf("\n") === 0 ? header.substring(1, header.length) : header)
|
|
1627
|
-
.forEach(line => {
|
|
1628
|
-
let parts = line.split(":");
|
|
1629
|
-
let name = parts.shift().trim();
|
|
1630
|
-
if (name) {
|
|
1631
|
-
let value = parts.join(":").trim();
|
|
1632
|
-
try {
|
|
1633
|
-
headers.append(name, value);
|
|
1634
|
-
}
|
|
1635
|
-
catch (e) {
|
|
1636
|
-
console.warn(`SyntaxError: Response.headers: '${name}' is not a valid HTTP header field name.`);
|
|
1637
|
-
}
|
|
1638
|
-
}
|
|
1639
|
-
});
|
|
1640
|
-
return headers;
|
|
1641
|
-
}
|
|
1642
|
-
const HeadersE = g["Headers"] || HeadersP;
|
|
1643
|
-
|
|
1644
|
-
var _a$4;
|
|
1645
|
-
/** @internal */ const state$a = Symbol( /* "BodyState" */);
|
|
1646
|
-
class BodyImpl {
|
|
1647
|
-
/** @internal */
|
|
1648
|
-
constructor() {
|
|
1649
|
-
if (new.target === BodyImpl) {
|
|
1650
|
-
throw new TypeError("Failed to construct 'Body': Illegal constructor");
|
|
1651
|
-
}
|
|
1652
|
-
this[state$a] = new BodyState();
|
|
1653
|
-
}
|
|
1654
|
-
get body() {
|
|
1655
|
-
if (!this[state$a][_body]) {
|
|
1656
|
-
return null;
|
|
1657
|
-
}
|
|
1658
|
-
throw new TypeError(`Failed to access 'body' on '${this[state$a].name}': property not implemented.`);
|
|
1659
|
-
}
|
|
1660
|
-
get bodyUsed() { return this[state$a].bodyUsed; }
|
|
1661
|
-
;
|
|
1662
|
-
arrayBuffer() {
|
|
1663
|
-
const kind = "arrayBuffer";
|
|
1664
|
-
return consumed(this, kind) || read(this, kind);
|
|
1665
|
-
}
|
|
1666
|
-
blob() {
|
|
1667
|
-
const kind = "blob";
|
|
1668
|
-
return consumed(this, kind) || read(this, kind);
|
|
1669
|
-
}
|
|
1670
|
-
bytes() {
|
|
1671
|
-
const kind = "bytes";
|
|
1672
|
-
return consumed(this, kind) || read(this, kind);
|
|
1673
|
-
}
|
|
1674
|
-
formData() {
|
|
1675
|
-
const kind = "formData";
|
|
1676
|
-
return consumed(this, kind) || read(this, kind);
|
|
1677
|
-
}
|
|
1678
|
-
json() {
|
|
1679
|
-
const kind = "json";
|
|
1680
|
-
return consumed(this, kind) || read(this, kind);
|
|
1681
|
-
}
|
|
1682
|
-
text() {
|
|
1683
|
-
const kind = "text";
|
|
1684
|
-
return consumed(this, kind) || read(this, kind);
|
|
1685
|
-
}
|
|
1686
|
-
/** @internal */ toString() { return "[object Body]"; }
|
|
1687
|
-
/** @internal */ get [Symbol.toStringTag]() { return "Body"; }
|
|
1688
|
-
/** @internal */ get isPolyfill() { return { symbol: polyfill, hierarchy: ["Body"] }; }
|
|
1689
|
-
}
|
|
1690
|
-
/** @internal */
|
|
1691
|
-
const _body = Symbol();
|
|
1692
|
-
/** @internal */
|
|
1693
|
-
class BodyState {
|
|
1694
|
-
constructor() {
|
|
1695
|
-
this.name = "Body";
|
|
1696
|
-
this.bodyUsed = false;
|
|
1697
|
-
this[_a$4] = "";
|
|
1698
|
-
}
|
|
1699
|
-
}
|
|
1700
|
-
_a$4 = _body;
|
|
1701
|
-
/** @internal */
|
|
1702
|
-
function Body_init(body, payload) {
|
|
1703
|
-
const b = body;
|
|
1704
|
-
if (isObjectType("ReadableStream", payload)) {
|
|
1705
|
-
throw new TypeError(`Failed to construct '${b[state$a].name}': ReadableStream not implemented.`);
|
|
1706
|
-
}
|
|
1707
|
-
b[state$a][_body] = convert(payload, true, type => { if (!b.headers.has("Content-Type")) {
|
|
1708
|
-
b.headers.set("Content-Type", type);
|
|
1709
|
-
} });
|
|
1710
|
-
}
|
|
1711
|
-
/** @internal */
|
|
1712
|
-
function Body_toPayload(body) {
|
|
1713
|
-
return body[state$a][_body];
|
|
1714
|
-
}
|
|
1715
|
-
function read(body, kind) {
|
|
1716
|
-
return new Promise((resolve, reject) => {
|
|
1717
|
-
try {
|
|
1718
|
-
resolve(readSync(body, kind));
|
|
1719
|
-
}
|
|
1720
|
-
catch (e) {
|
|
1721
|
-
reject(e);
|
|
1722
|
-
}
|
|
1723
|
-
});
|
|
1724
|
-
}
|
|
1725
|
-
function readSync(body, kind) {
|
|
1726
|
-
const payload = body[state$a][_body];
|
|
1727
|
-
if (kind === "arrayBuffer") {
|
|
1728
|
-
return convertBack("arraybuffer", payload);
|
|
1729
|
-
}
|
|
1730
|
-
else if (kind === "blob") {
|
|
1731
|
-
return convertBack("blob", payload);
|
|
1732
|
-
}
|
|
1733
|
-
else if (kind === "bytes") {
|
|
1734
|
-
let arrayBuffer = convertBack("arraybuffer", payload);
|
|
1735
|
-
return new Uint8Array(arrayBuffer);
|
|
1736
|
-
}
|
|
1737
|
-
else if (kind === "formData") {
|
|
1738
|
-
const extractBoundary = (contentType) => {
|
|
1739
|
-
if (!contentType) {
|
|
1740
|
-
return;
|
|
1741
|
-
}
|
|
1742
|
-
if (!/multipart\/form-data/i.test(contentType)) {
|
|
1743
|
-
return;
|
|
1744
|
-
}
|
|
1745
|
-
let boundaryMatch = contentType.match(/boundary\s*=\s*([^;]+)/i);
|
|
1746
|
-
if (boundaryMatch && boundaryMatch[1]) {
|
|
1747
|
-
let boundary = boundaryMatch[1].trim();
|
|
1748
|
-
return boundary.replace(/^["']|["']$/g, "");
|
|
1749
|
-
}
|
|
1750
|
-
};
|
|
1751
|
-
let text = convertBack("text", payload);
|
|
1752
|
-
let boundary = extractBoundary(body.headers.get("Content-Type")) || "";
|
|
1753
|
-
return createFormDataFromBinaryText(text, boundary);
|
|
1754
|
-
}
|
|
1755
|
-
else if (kind === "json") {
|
|
1756
|
-
return convertBack("json", payload);
|
|
1757
|
-
}
|
|
1758
|
-
else {
|
|
1759
|
-
return convertBack("text", payload);
|
|
1760
|
-
}
|
|
1761
|
-
}
|
|
1762
|
-
function consumed(body, kind) {
|
|
1763
|
-
const s = body[state$a];
|
|
1764
|
-
if (!s[_body])
|
|
1765
|
-
return;
|
|
1766
|
-
if (s.bodyUsed) {
|
|
1767
|
-
return Promise.reject(new TypeError(`Failed to execute '${kind}' on '${s.name}': body stream already read`));
|
|
1768
|
-
}
|
|
1769
|
-
s.bodyUsed = true;
|
|
1770
|
-
}
|
|
1771
|
-
/** @internal */
|
|
1772
|
-
function convert(body, cloneArrayBuffer = true, setContentType, setContentLength) {
|
|
1773
|
-
let result;
|
|
1774
|
-
if (typeof body === "string") {
|
|
1775
|
-
result = body;
|
|
1776
|
-
if (setContentType) {
|
|
1777
|
-
setContentType("text/plain;charset=UTF-8");
|
|
1778
|
-
}
|
|
1779
|
-
}
|
|
1780
|
-
else if (isObjectType("URLSearchParams", body) || isPolyfillType("URLSearchParams", body)) {
|
|
1781
|
-
result = body.toString();
|
|
1782
|
-
if (setContentType) {
|
|
1783
|
-
setContentType("application/x-www-form-urlencoded;charset=UTF-8");
|
|
1784
|
-
}
|
|
1785
|
-
}
|
|
1786
|
-
else if (isArrayBuffer(body)) {
|
|
1787
|
-
result = cloneArrayBuffer ? body.slice(0) : body;
|
|
1788
|
-
}
|
|
1789
|
-
else if (ArrayBuffer.isView(body)) {
|
|
1790
|
-
result = body.buffer.slice(body.byteOffset, body.byteOffset + body.byteLength);
|
|
1791
|
-
}
|
|
1792
|
-
else if (isPolyfillType("Blob", body)) {
|
|
1793
|
-
result = Blob_toUint8Array(body).buffer.slice(0);
|
|
1794
|
-
if (setContentType && body.type) {
|
|
1795
|
-
setContentType(body.type);
|
|
1796
|
-
}
|
|
1797
|
-
}
|
|
1798
|
-
else if (isPolyfillType("FormData", body)) {
|
|
1799
|
-
let blob = FormData_toBlob(body);
|
|
1800
|
-
result = Blob_toUint8Array(blob).buffer;
|
|
1801
|
-
if (setContentType) {
|
|
1802
|
-
setContentType(blob.type);
|
|
1803
|
-
}
|
|
1804
|
-
}
|
|
1805
|
-
else if (!body) {
|
|
1806
|
-
result = "";
|
|
1807
|
-
}
|
|
1808
|
-
else {
|
|
1809
|
-
result = "" + body;
|
|
1810
|
-
}
|
|
1811
|
-
if (setContentLength) {
|
|
1812
|
-
let calculated = false, contentLength = 0;
|
|
1813
|
-
setContentLength(() => {
|
|
1814
|
-
if (!calculated) {
|
|
1815
|
-
calculated = true;
|
|
1816
|
-
contentLength = (typeof result === "string" ? encode$1(result).buffer : result).byteLength;
|
|
1817
|
-
}
|
|
1818
|
-
return contentLength;
|
|
1819
|
-
});
|
|
1820
|
-
}
|
|
1821
|
-
return result;
|
|
1822
|
-
}
|
|
1823
|
-
/** @internal */
|
|
1824
|
-
function convertBack(type, data) {
|
|
1825
|
-
let temp = !!data ? (typeof data !== "string" && !isArrayBuffer(data) ? JSON.stringify(data) : data) : "";
|
|
1826
|
-
if (!type || type === "text") {
|
|
1827
|
-
return typeof temp === "string" ? temp : decode$1(temp);
|
|
1828
|
-
}
|
|
1829
|
-
else if (type === "json") {
|
|
1830
|
-
return JSON.parse(typeof temp === "string" ? temp : decode$1(temp));
|
|
1831
|
-
}
|
|
1832
|
-
else if (type === "arraybuffer") {
|
|
1833
|
-
return isArrayBuffer(temp) ? temp.slice(0) : encode$1(temp).buffer;
|
|
1834
|
-
}
|
|
1835
|
-
else if (type === "blob") {
|
|
1836
|
-
return new BlobP([temp]);
|
|
1837
|
-
}
|
|
1838
|
-
else {
|
|
1839
|
-
return temp;
|
|
1840
|
-
}
|
|
1841
|
-
}
|
|
1842
|
-
|
|
1843
|
-
var _a$3;
|
|
1844
|
-
/** @internal */
|
|
1845
|
-
const state$9 = Symbol( /* "AbortSignalState" */);
|
|
1846
|
-
class AbortSignalP extends EventTargetP {
|
|
1847
|
-
static abort(reason) {
|
|
1848
|
-
let signal = createAbortSignal();
|
|
1849
|
-
AbortSignal_abort(signal, reason, false);
|
|
1850
|
-
return signal;
|
|
1851
|
-
}
|
|
1852
|
-
static any(...args) {
|
|
1853
|
-
const [signals] = args;
|
|
1854
|
-
checkArgsLength(args, 1, "AbortSignal", "any");
|
|
1855
|
-
if (!(Array.isArray(signals) || (signals && typeof signals === "object" && Symbol.iterator in signals))) {
|
|
1856
|
-
throw new TypeError("Failed to execute 'any' on 'AbortSignal': The provided value cannot be converted to a sequence.");
|
|
1857
|
-
}
|
|
1858
|
-
let _signals = Array.isArray(signals) ? signals : Array.from(signals);
|
|
1859
|
-
_signals.forEach(sig => {
|
|
1860
|
-
if (!isPolyfillType("EventTarget", sig)) {
|
|
1861
|
-
throw new TypeError("Failed to execute 'any' on 'AbortSignal': Failed to convert value to 'AbortSignal'.");
|
|
1862
|
-
}
|
|
1863
|
-
});
|
|
1864
|
-
let signal = createAbortSignal();
|
|
1865
|
-
let abortedSignal = _signals.find(x => x.aborted);
|
|
1866
|
-
if (abortedSignal) {
|
|
1867
|
-
AbortSignal_abort(signal, abortedSignal.reason, false);
|
|
1868
|
-
}
|
|
1869
|
-
else {
|
|
1870
|
-
function abortFn(ev) {
|
|
1871
|
-
for (let i = 0; i < _signals.length; ++i) {
|
|
1872
|
-
let sig = _signals[i];
|
|
1873
|
-
sig.removeEventListener("abort", abortFn);
|
|
1874
|
-
}
|
|
1875
|
-
AbortSignal_abort(signal, this.reason, true, ev.isTrusted);
|
|
1876
|
-
}
|
|
1877
|
-
for (let i = 0; i < _signals.length; ++i) {
|
|
1878
|
-
let sig = _signals[i];
|
|
1879
|
-
sig.addEventListener("abort", abortFn);
|
|
1880
|
-
}
|
|
1881
|
-
}
|
|
1882
|
-
return signal;
|
|
1883
|
-
}
|
|
1884
|
-
static timeout(...args) {
|
|
1885
|
-
const [milliseconds] = args;
|
|
1886
|
-
checkArgsLength(args, 1, "AbortSignal", "timeout");
|
|
1887
|
-
if (!(milliseconds >= 0)) {
|
|
1888
|
-
throw new TypeError("Failed to execute 'timeout' on 'AbortSignal': Value is outside the 'unsigned long long' value range.");
|
|
1889
|
-
}
|
|
1890
|
-
let signal = createAbortSignal();
|
|
1891
|
-
setTimeout(() => {
|
|
1892
|
-
AbortSignal_abort(signal, new MPException("signal timed out", "TimeoutError"));
|
|
1893
|
-
}, milliseconds);
|
|
1894
|
-
return signal;
|
|
1895
|
-
}
|
|
1896
|
-
/** @internal */
|
|
1897
|
-
constructor() {
|
|
1898
|
-
if (new.target === AbortSignalP) {
|
|
1899
|
-
throw new TypeError("Failed to construct 'AbortSignal': Illegal constructor");
|
|
1900
|
-
}
|
|
1901
|
-
super();
|
|
1902
|
-
this[state$9] = new AbortSignalState(this);
|
|
1903
|
-
}
|
|
1904
|
-
get aborted() { return this[state$9].aborted; }
|
|
1905
|
-
get reason() { return this[state$9].reason; }
|
|
1906
|
-
throwIfAborted() {
|
|
1907
|
-
if (this.aborted) {
|
|
1908
|
-
throw this.reason;
|
|
1909
|
-
}
|
|
1910
|
-
}
|
|
1911
|
-
get onabort() { return this[state$9].onabort; }
|
|
1912
|
-
set onabort(value) {
|
|
1913
|
-
this[state$9].onabort = value;
|
|
1914
|
-
attachFn(this, "abort", value, this[state$9][_handlers$3].onabort);
|
|
1915
|
-
}
|
|
1916
|
-
/** @internal */ toString() { return "[object AbortSignal]"; }
|
|
1917
|
-
/** @internal */ get [Symbol.toStringTag]() { return "AbortSignal"; }
|
|
1918
|
-
/** @internal */ get isPolyfill() { return { symbol: polyfill, hierarchy: ["AbortSignal", "EventTarget"] }; }
|
|
1919
|
-
}
|
|
1920
|
-
/** @internal */
|
|
1921
|
-
const _handlers$3 = Symbol();
|
|
1922
|
-
/** @internal */
|
|
1923
|
-
class AbortSignalState {
|
|
1924
|
-
constructor(target) {
|
|
1925
|
-
this.aborted = false;
|
|
1926
|
-
this.reason = undefined;
|
|
1927
|
-
this[_a$3] = getHandlers$3(this);
|
|
1928
|
-
this.onabort = null;
|
|
1929
|
-
this.target = target;
|
|
1930
|
-
}
|
|
1931
|
-
}
|
|
1932
|
-
_a$3 = _handlers$3;
|
|
1933
|
-
/** @internal */
|
|
1934
|
-
function AbortSignal_abort(signal, reason, notify = true, isTrusted = true) {
|
|
1935
|
-
const s = signal[state$9];
|
|
1936
|
-
if (!s.aborted) {
|
|
1937
|
-
s.aborted = true;
|
|
1938
|
-
s.reason = reason !== null && reason !== void 0 ? reason : (new MPException("signal is aborted without reason", "AbortError"));
|
|
1939
|
-
if (notify) {
|
|
1940
|
-
let evt = createInnerEvent(signal, "abort", undefined, isTrusted);
|
|
1941
|
-
EventTarget_fire(signal, evt);
|
|
1942
|
-
}
|
|
1943
|
-
}
|
|
1944
|
-
}
|
|
1945
|
-
function getHandlers$3(s) {
|
|
1946
|
-
return {
|
|
1947
|
-
onabort: (ev) => { executeFn(s.target, s.onabort, ev); },
|
|
1948
|
-
};
|
|
1949
|
-
}
|
|
1950
|
-
/** @internal */
|
|
1951
|
-
function createAbortSignal() {
|
|
1952
|
-
let signal = Object.create(AbortSignalP.prototype);
|
|
1953
|
-
signal[state$g] = new EventTargetState(signal);
|
|
1954
|
-
signal[state$9] = new AbortSignalState(signal);
|
|
1955
|
-
return signal;
|
|
1956
|
-
}
|
|
1957
|
-
const AbortSignalE = g["AbortSignal"] || AbortSignalP;
|
|
1958
|
-
|
|
1959
|
-
/** @internal */
|
|
1960
|
-
const state$8 = Symbol( /* "AbortControllerState" */);
|
|
1961
|
-
class AbortControllerP {
|
|
1962
|
-
constructor() {
|
|
1963
|
-
this[state$8] = new AbortControllerState();
|
|
1964
|
-
}
|
|
1965
|
-
get signal() { return this[state$8].signal; }
|
|
1966
|
-
abort(reason) {
|
|
1967
|
-
AbortSignal_abort(this[state$8].signal, reason);
|
|
1968
|
-
}
|
|
1969
|
-
/** @internal */ toString() { return "[object AbortController]"; }
|
|
1970
|
-
/** @internal */ get [Symbol.toStringTag]() { return "AbortController"; }
|
|
1971
|
-
/** @internal */ get isPolyfill() { return { symbol: polyfill, hierarchy: ["AbortController"] }; }
|
|
1972
|
-
}
|
|
1973
|
-
/** @internal */
|
|
1974
|
-
class AbortControllerState {
|
|
1975
|
-
constructor() {
|
|
1976
|
-
this.signal = createAbortSignal();
|
|
1977
|
-
}
|
|
1978
|
-
}
|
|
1979
|
-
const AbortControllerE = g["AbortController"] || AbortControllerP;
|
|
1980
|
-
|
|
1981
|
-
/** @internal */ const state$7 = Symbol( /* "RequestState" */);
|
|
1982
|
-
class RequestP extends BodyImpl {
|
|
1983
|
-
constructor(...args) {
|
|
1984
|
-
const [input, init] = args;
|
|
1985
|
-
checkArgsLength(args, 1, "Request");
|
|
1986
|
-
super();
|
|
1987
|
-
this[state$a].name = "Request";
|
|
1988
|
-
this[state$7] = new RequestState();
|
|
1989
|
-
const s = this[state$7];
|
|
1990
|
-
let _init = init !== null && init !== void 0 ? init : {};
|
|
1991
|
-
if (typeof _init !== "object") {
|
|
1992
|
-
throw new TypeError("Failed to construct 'Request': The provided value is not of type 'RequestInit'.");
|
|
1993
|
-
}
|
|
1994
|
-
let body = _init.body;
|
|
1995
|
-
if (isPolyfillType("Request", input)) {
|
|
1996
|
-
if (input.bodyUsed) {
|
|
1997
|
-
throw new TypeError("Failed to construct 'Request': Cannot construct a Request with a Request object that has already been used.");
|
|
1998
|
-
}
|
|
1999
|
-
s.cache = input.cache;
|
|
2000
|
-
s.credentials = input.credentials;
|
|
2001
|
-
if (!_init.headers) {
|
|
2002
|
-
s.headers = new HeadersP(input.headers);
|
|
2003
|
-
}
|
|
2004
|
-
s.method = input.method;
|
|
2005
|
-
s.mode = input.mode;
|
|
2006
|
-
let inputSignal = input[state$7].signal;
|
|
2007
|
-
if (inputSignal) {
|
|
2008
|
-
s.signal = inputSignal;
|
|
2009
|
-
}
|
|
2010
|
-
s.url = input.url;
|
|
2011
|
-
let payload = Body_toPayload(input);
|
|
2012
|
-
if (!body && payload !== "") {
|
|
2013
|
-
body = payload;
|
|
2014
|
-
input[state$a].bodyUsed = true;
|
|
2015
|
-
}
|
|
2016
|
-
}
|
|
2017
|
-
else {
|
|
2018
|
-
s.url = "" + input;
|
|
2019
|
-
}
|
|
2020
|
-
if (_init.cache) {
|
|
2021
|
-
s.cache = _init.cache;
|
|
2022
|
-
}
|
|
2023
|
-
if (_init.credentials) {
|
|
2024
|
-
s.credentials = _init.credentials;
|
|
2025
|
-
}
|
|
2026
|
-
if (_init.headers) {
|
|
2027
|
-
s.headers = new HeadersP(_init.headers);
|
|
2028
|
-
}
|
|
2029
|
-
if (_init.method) {
|
|
2030
|
-
s.method = normalizeMethod(_init.method);
|
|
2031
|
-
}
|
|
2032
|
-
if (_init.mode) {
|
|
2033
|
-
s.mode = _init.mode;
|
|
2034
|
-
}
|
|
2035
|
-
if (_init.signal) {
|
|
2036
|
-
s.signal = _init.signal;
|
|
2037
|
-
}
|
|
2038
|
-
if ((this.method === "GET" || this.method === "HEAD") && body) {
|
|
2039
|
-
throw new TypeError("Failed to construct 'Request': Request with GET/HEAD method cannot have body.");
|
|
2040
|
-
}
|
|
2041
|
-
Body_init(this, body);
|
|
2042
|
-
if (this.method === "GET" || this.method === "HEAD") {
|
|
2043
|
-
if (_init.cache === "no-store" || _init.cache === "no-cache") {
|
|
2044
|
-
// Search for a '_' parameter in the query string
|
|
2045
|
-
let reParamSearch = /([?&])_=[^&]*/;
|
|
2046
|
-
if (reParamSearch.test(this.url)) {
|
|
2047
|
-
// If it already exists then set the value with the current time
|
|
2048
|
-
s.url = this.url.replace(reParamSearch, "$1_=" + (new Date()).getTime());
|
|
2049
|
-
}
|
|
2050
|
-
else {
|
|
2051
|
-
// Otherwise add a new '_' parameter to the end with the current time
|
|
2052
|
-
let reQueryString = /\?/;
|
|
2053
|
-
s.url += (reQueryString.test(this.url) ? "&" : "?") + "_=" + (new Date()).getTime();
|
|
2054
|
-
}
|
|
2055
|
-
}
|
|
2056
|
-
}
|
|
2057
|
-
}
|
|
2058
|
-
get cache() { return this[state$7].cache; }
|
|
2059
|
-
get credentials() { return this[state$7].credentials; }
|
|
2060
|
-
get destination() { return this[state$7].destination; }
|
|
2061
|
-
get headers() {
|
|
2062
|
-
const s = this[state$7];
|
|
2063
|
-
if (!s.headers) {
|
|
2064
|
-
s.headers = new HeadersP();
|
|
2065
|
-
}
|
|
2066
|
-
return s.headers;
|
|
2067
|
-
}
|
|
2068
|
-
get integrity() { return this[state$7].integrity; }
|
|
2069
|
-
get keepalive() { return this[state$7].keepalive; }
|
|
2070
|
-
get method() { return this[state$7].method; }
|
|
2071
|
-
get mode() { return this[state$7].mode; }
|
|
2072
|
-
get redirect() { return this[state$7].redirect; }
|
|
2073
|
-
get referrer() { return this[state$7].referrer; }
|
|
2074
|
-
get referrerPolicy() { return this[state$7].referrerPolicy; }
|
|
2075
|
-
get signal() {
|
|
2076
|
-
const s = this[state$7];
|
|
2077
|
-
if (!s.signal) {
|
|
2078
|
-
s.signal = (new AbortControllerP()).signal;
|
|
2079
|
-
}
|
|
2080
|
-
return s.signal;
|
|
2081
|
-
}
|
|
2082
|
-
get url() { return this[state$7].url; }
|
|
2083
|
-
clone() {
|
|
2084
|
-
var _a;
|
|
2085
|
-
if (this.bodyUsed) {
|
|
2086
|
-
throw new TypeError("Failed to execute 'clone' on 'Request': Request body is already used");
|
|
2087
|
-
}
|
|
2088
|
-
return new RequestP(this, { body: (_a = Body_toPayload(this)) !== null && _a !== void 0 ? _a : null });
|
|
2089
|
-
}
|
|
2090
|
-
/** @internal */ toString() { return "[object Request]"; }
|
|
2091
|
-
/** @internal */ get [Symbol.toStringTag]() { return "Request"; }
|
|
2092
|
-
/** @internal */ get isPolyfill() { return { symbol: polyfill, hierarchy: ["Request"] }; }
|
|
2093
|
-
}
|
|
2094
|
-
/** @internal */
|
|
2095
|
-
class RequestState {
|
|
2096
|
-
constructor() {
|
|
2097
|
-
this.cache = "default";
|
|
2098
|
-
this.credentials = "same-origin";
|
|
2099
|
-
this.destination = "";
|
|
2100
|
-
this.integrity = "";
|
|
2101
|
-
this.keepalive = false;
|
|
2102
|
-
this.method = "GET";
|
|
2103
|
-
this.mode = "cors";
|
|
2104
|
-
this.redirect = "follow";
|
|
2105
|
-
this.referrer = "about:client";
|
|
2106
|
-
this.referrerPolicy = "";
|
|
2107
|
-
this.url = "";
|
|
2108
|
-
}
|
|
2109
|
-
}
|
|
2110
|
-
// HTTP methods whose capitalization should be normalized
|
|
2111
|
-
const methods = ["CONNECT", "DELETE", "GET", "HEAD", "OPTIONS", "PATCH", "POST", "PUT", "TRACE"];
|
|
2112
|
-
/** @internal */
|
|
2113
|
-
function normalizeMethod(method) {
|
|
2114
|
-
let upcased = method.toUpperCase();
|
|
2115
|
-
return methods.indexOf(upcased) > -1 ? upcased : method;
|
|
2116
|
-
}
|
|
2117
|
-
const RequestE = g["Request"] || RequestP;
|
|
2118
|
-
|
|
2119
|
-
// @ts-nocheck
|
|
2120
|
-
function getPlatform() {
|
|
2121
|
-
let u = "undefined", r = "request", f = "function";
|
|
2122
|
-
let mp;
|
|
2123
|
-
mp =
|
|
2124
|
-
(typeof wx !== u && typeof (wx === null || wx === void 0 ? void 0 : wx[r]) === f && wx) || // 微信
|
|
2125
|
-
(typeof my !== u && typeof (my === null || my === void 0 ? void 0 : my[r]) === f && my) || // 支付宝
|
|
2126
|
-
(typeof qq !== u && typeof (qq === null || qq === void 0 ? void 0 : qq[r]) === f && qq) || // QQ
|
|
2127
|
-
(typeof jd !== u && typeof (jd === null || jd === void 0 ? void 0 : jd[r]) === f && jd) || // 京东
|
|
2128
|
-
(typeof swan !== u && typeof (swan === null || swan === void 0 ? void 0 : swan[r]) === f && swan) || // 百度
|
|
2129
|
-
(typeof tt !== u && typeof (tt === null || tt === void 0 ? void 0 : tt[r]) === f && tt) || // 抖音 | 飞书
|
|
2130
|
-
(typeof ks !== u && typeof (ks === null || ks === void 0 ? void 0 : ks[r]) === f && ks) || // 快手
|
|
2131
|
-
(typeof qh !== u && typeof (qh === null || qh === void 0 ? void 0 : qh[r]) === f && qh) || // 360
|
|
2132
|
-
(typeof xhs !== u && typeof (xhs === null || xhs === void 0 ? void 0 : xhs[r]) === f && xhs) || // 小红书
|
|
2133
|
-
undefined;
|
|
2134
|
-
if (typeof g["XMLHttpRequest"] === f) {
|
|
2135
|
-
return;
|
|
2136
|
-
}
|
|
2137
|
-
if (mp === undefined)
|
|
2138
|
-
mp =
|
|
2139
|
-
(typeof uni !== u && typeof (uni === null || uni === void 0 ? void 0 : uni[r]) === f && uni) || // UniApp
|
|
2140
|
-
(typeof Taro !== u && typeof (Taro === null || Taro === void 0 ? void 0 : Taro[r]) === f && Taro) || // Taro
|
|
2141
|
-
undefined;
|
|
2142
|
-
return mp;
|
|
2143
|
-
}
|
|
2144
|
-
/** @internal */
|
|
2145
|
-
const mp$3 = getPlatform();
|
|
2146
|
-
|
|
2147
|
-
const request = mp$3 ? mp$3.request : function errorRequest(options) {
|
|
2148
|
-
const errMsg = "NOT_SUPPORTED_ERR";
|
|
2149
|
-
const errno = 9;
|
|
2150
|
-
const err = {
|
|
2151
|
-
errMsg,
|
|
2152
|
-
errno,
|
|
2153
|
-
exception: {
|
|
2154
|
-
retryCount: 0,
|
|
2155
|
-
reasons: [{ errMsg, errno }],
|
|
2156
|
-
},
|
|
2157
|
-
useHttpDNS: false,
|
|
2158
|
-
};
|
|
2159
|
-
Promise.resolve(err)
|
|
2160
|
-
.then(err => { try {
|
|
2161
|
-
if (options.fail) {
|
|
2162
|
-
options.fail(err);
|
|
2163
|
-
}
|
|
2164
|
-
}
|
|
2165
|
-
catch (e) {
|
|
2166
|
-
console.error(e);
|
|
2167
|
-
} })
|
|
2168
|
-
.then(() => { if (options.complete) {
|
|
2169
|
-
options.complete(err);
|
|
2170
|
-
} });
|
|
2171
|
-
throw new ReferenceError("request is not defined");
|
|
2172
|
-
};
|
|
2173
|
-
|
|
2174
|
-
var _a$2;
|
|
2175
|
-
/** @internal */ const state$6 = Symbol( /* "XMLHttpRequestEventTargetState" */);
|
|
2176
|
-
class XMLHttpRequestEventTargetP extends EventTargetP {
|
|
2177
|
-
/** @internal */
|
|
2178
|
-
constructor() {
|
|
2179
|
-
if (new.target === XMLHttpRequestEventTargetP) {
|
|
2180
|
-
throw new TypeError("Failed to construct 'XMLHttpRequestEventTarget': Illegal constructor");
|
|
2181
|
-
}
|
|
2182
|
-
super();
|
|
2183
|
-
this[state$6] = new XMLHttpRequestEventTargetState(this);
|
|
2184
|
-
}
|
|
2185
|
-
get onabort() { return this[state$6].onabort; }
|
|
2186
|
-
set onabort(value) { this[state$6].onabort = value; attach$1(this, "abort"); }
|
|
2187
|
-
get onerror() { return this[state$6].onerror; }
|
|
2188
|
-
set onerror(value) { this[state$6].onerror = value; attach$1(this, "error"); }
|
|
2189
|
-
get onload() { return this[state$6].onload; }
|
|
2190
|
-
set onload(value) { this[state$6].onload = value; attach$1(this, "load"); }
|
|
2191
|
-
get onloadend() { return this[state$6].onloadend; }
|
|
2192
|
-
set onloadend(value) { this[state$6].onloadend = value; attach$1(this, "loadend"); }
|
|
2193
|
-
get onloadstart() { return this[state$6].onloadstart; }
|
|
2194
|
-
set onloadstart(value) { this[state$6].onloadstart = value; attach$1(this, "loadstart"); }
|
|
2195
|
-
get onprogress() { return this[state$6].onprogress; }
|
|
2196
|
-
set onprogress(value) { this[state$6].onprogress = value; attach$1(this, "progress"); }
|
|
2197
|
-
get ontimeout() { return this[state$6].ontimeout; }
|
|
2198
|
-
set ontimeout(value) { this[state$6].ontimeout = value; attach$1(this, "timeout"); }
|
|
2199
|
-
/** @internal */ toString() { return "[object XMLHttpRequestEventTarget]"; }
|
|
2200
|
-
/** @internal */ get [Symbol.toStringTag]() { return "XMLHttpRequestEventTarget"; }
|
|
2201
|
-
/** @internal */ get isPolyfill() { return { symbol: polyfill, hierarchy: ["XMLHttpRequestEventTarget", "EventTarget"] }; }
|
|
2202
|
-
}
|
|
2203
|
-
/** @internal */
|
|
2204
|
-
const _handlers$2 = Symbol();
|
|
2205
|
-
/** @internal */
|
|
2206
|
-
class XMLHttpRequestEventTargetState {
|
|
2207
|
-
/**
|
|
2208
|
-
* @param _target XMLHttpRequestEventTarget
|
|
2209
|
-
*/
|
|
2210
|
-
constructor(_target) {
|
|
2211
|
-
this[_a$2] = getHandlers$2(this);
|
|
2212
|
-
this.onabort = null;
|
|
2213
|
-
this.onerror = null;
|
|
2214
|
-
this.onload = null;
|
|
2215
|
-
this.onloadend = null;
|
|
2216
|
-
this.onloadstart = null;
|
|
2217
|
-
this.onprogress = null;
|
|
2218
|
-
this.ontimeout = null;
|
|
2219
|
-
this.target = _target;
|
|
2220
|
-
}
|
|
2221
|
-
}
|
|
2222
|
-
_a$2 = _handlers$2;
|
|
2223
|
-
function attach$1(target, type) {
|
|
2224
|
-
const s = target[state$6];
|
|
2225
|
-
const fnName = ("on" + type);
|
|
2226
|
-
const cb = s[fnName];
|
|
2227
|
-
const listener = s[_handlers$2][fnName];
|
|
2228
|
-
attachFn(target, type, cb, listener);
|
|
2229
|
-
}
|
|
2230
|
-
function getHandlers$2(s) {
|
|
2231
|
-
return {
|
|
2232
|
-
onabort: (ev) => { executeFn(s.target, s.onabort, ev); },
|
|
2233
|
-
onerror: (ev) => { executeFn(s.target, s.onerror, ev); },
|
|
2234
|
-
onload: (ev) => { executeFn(s.target, s.onload, ev); },
|
|
2235
|
-
onloadend: (ev) => { executeFn(s.target, s.onloadend, ev); },
|
|
2236
|
-
onloadstart: (ev) => { executeFn(s.target, s.onloadstart, ev); },
|
|
2237
|
-
onprogress: (ev) => { executeFn(s.target, s.onprogress, ev); },
|
|
2238
|
-
ontimeout: (ev) => { executeFn(s.target, s.ontimeout, ev); },
|
|
2239
|
-
};
|
|
2240
|
-
}
|
|
2241
|
-
const responseTypes = ["", "text", "json", "arraybuffer", "blob", "document"];
|
|
2242
|
-
/** @internal */
|
|
2243
|
-
function normalizeResponseType(responseType) {
|
|
2244
|
-
return responseTypes.indexOf(responseType) > -1 ? responseType : "";
|
|
2245
|
-
}
|
|
2246
|
-
const statusMessages = {
|
|
2247
|
-
100: "Continue",
|
|
2248
|
-
101: "Switching Protocols",
|
|
2249
|
-
102: "Processing",
|
|
2250
|
-
103: "Early Hints",
|
|
2251
|
-
200: "OK",
|
|
2252
|
-
201: "Created",
|
|
2253
|
-
202: "Accepted",
|
|
2254
|
-
203: "Non-Authoritative Information",
|
|
2255
|
-
204: "No Content",
|
|
2256
|
-
205: "Reset Content",
|
|
2257
|
-
206: "Partial Content",
|
|
2258
|
-
207: "Multi-Status",
|
|
2259
|
-
208: "Already Reported",
|
|
2260
|
-
226: "IM Used",
|
|
2261
|
-
300: "Multiple Choices",
|
|
2262
|
-
301: "Moved Permanently",
|
|
2263
|
-
302: "Found",
|
|
2264
|
-
303: "See Other",
|
|
2265
|
-
304: "Not Modified",
|
|
2266
|
-
307: "Temporary Redirect",
|
|
2267
|
-
308: "Permanent Redirect",
|
|
2268
|
-
400: "Bad Request",
|
|
2269
|
-
401: "Unauthorized",
|
|
2270
|
-
402: "Payment Required",
|
|
2271
|
-
403: "Forbidden",
|
|
2272
|
-
404: "Not Found",
|
|
2273
|
-
405: "Method Not Allowed",
|
|
2274
|
-
406: "Not Acceptable",
|
|
2275
|
-
407: "Proxy Authentication Required",
|
|
2276
|
-
408: "Request Timeout",
|
|
2277
|
-
409: "Conflict",
|
|
2278
|
-
410: "Gone",
|
|
2279
|
-
411: "Length Required",
|
|
2280
|
-
412: "Precondition Failed",
|
|
2281
|
-
413: "Content Too Large",
|
|
2282
|
-
414: "URI Too Long",
|
|
2283
|
-
415: "Unsupported Media Type",
|
|
2284
|
-
416: "Range Not Satisfiable",
|
|
2285
|
-
417: "Expectation Failed",
|
|
2286
|
-
418: "I'm a teapot",
|
|
2287
|
-
421: "Misdirected Request",
|
|
2288
|
-
422: "Unprocessable Entity",
|
|
2289
|
-
423: "Locked",
|
|
2290
|
-
424: "Failed Dependency",
|
|
2291
|
-
425: "Too Early",
|
|
2292
|
-
426: "Upgrade Required",
|
|
2293
|
-
428: "Precondition Required",
|
|
2294
|
-
429: "Too Many Requests",
|
|
2295
|
-
431: "Request Header Fields Too Large",
|
|
2296
|
-
451: "Unavailable For Legal Reasons",
|
|
2297
|
-
500: "Internal Server Error",
|
|
2298
|
-
501: "Not Implemented",
|
|
2299
|
-
502: "Bad Gateway",
|
|
2300
|
-
503: "Service Unavailable",
|
|
2301
|
-
504: "Gateway Timeout",
|
|
2302
|
-
505: "HTTP Version Not Supported",
|
|
2303
|
-
506: "Variant Also Negotiates",
|
|
2304
|
-
507: "Insufficient Storage",
|
|
2305
|
-
508: "Loop Detected",
|
|
2306
|
-
510: "Not Extended",
|
|
2307
|
-
511: "Network Authentication Required"
|
|
2308
|
-
};
|
|
2309
|
-
/** @internal */
|
|
2310
|
-
function statusTextMap(val) {
|
|
2311
|
-
return statusMessages[val] || "unknown";
|
|
2312
|
-
}
|
|
2313
|
-
|
|
2314
|
-
class XMLHttpRequestUploadP extends XMLHttpRequestEventTargetP {
|
|
2315
|
-
/** @internal */
|
|
2316
|
-
constructor() {
|
|
2317
|
-
if (new.target === XMLHttpRequestUploadP) {
|
|
2318
|
-
throw new TypeError("Failed to construct 'XMLHttpRequestUpload': Illegal constructor");
|
|
2319
|
-
}
|
|
2320
|
-
super();
|
|
2321
|
-
}
|
|
2322
|
-
/** @internal */ toString() { return "[object XMLHttpRequestUpload]"; }
|
|
2323
|
-
/** @internal */ get [Symbol.toStringTag]() { return "XMLHttpRequestUpload"; }
|
|
2324
|
-
/** @internal */ get isPolyfill() { return { symbol: polyfill, hierarchy: ["XMLHttpRequestUpload", "XMLHttpRequestEventTarget", "EventTarget"] }; }
|
|
2325
|
-
}
|
|
2326
|
-
/** @internal */
|
|
2327
|
-
function createXMLHttpRequestUpload() {
|
|
2328
|
-
let upload = Object.create(XMLHttpRequestUploadP.prototype);
|
|
2329
|
-
upload[state$g] = new EventTargetState(upload);
|
|
2330
|
-
upload[state$6] = new XMLHttpRequestEventTargetState(upload);
|
|
2331
|
-
return upload;
|
|
2332
|
-
}
|
|
2333
|
-
|
|
2334
|
-
var _a$1, _b$1, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
2335
|
-
const mp$2 = { request: request };
|
|
2336
|
-
const setRequest = (request) => { mp$2.request = request; };
|
|
2337
|
-
/** @internal */ const state$5 = Symbol( /* "XMLHttpRequestState" */);
|
|
2338
|
-
class XMLHttpRequestImpl extends XMLHttpRequestEventTargetP {
|
|
2339
|
-
static get UNSENT() { return 0; }
|
|
2340
|
-
static get OPENED() { return 1; }
|
|
2341
|
-
static get HEADERS_RECEIVED() { return 2; }
|
|
2342
|
-
static get LOADING() { return 3; }
|
|
2343
|
-
static get DONE() { return 4; }
|
|
2344
|
-
constructor() {
|
|
2345
|
-
super();
|
|
2346
|
-
this[state$5] = new XMLHttpRequestState(this);
|
|
2347
|
-
}
|
|
2348
|
-
get UNSENT() { return 0; }
|
|
2349
|
-
get OPENED() { return 1; }
|
|
2350
|
-
get HEADERS_RECEIVED() { return 2; }
|
|
2351
|
-
get LOADING() { return 3; }
|
|
2352
|
-
get DONE() { return 4; }
|
|
2353
|
-
get readyState() { return this[state$5].readyState; }
|
|
2354
|
-
get response() { return this[state$5].response; }
|
|
2355
|
-
get responseText() { return (!this.responseType || this.responseType === "text") ? this.response : ""; }
|
|
2356
|
-
get responseType() { return this[state$5].responseType; }
|
|
2357
|
-
set responseType(value) { this[state$5].responseType = normalizeResponseType(value); }
|
|
2358
|
-
get responseURL() { return this[state$5].responseURL; }
|
|
2359
|
-
get responseXML() { return null; }
|
|
2360
|
-
get status() { return this[state$5].status; }
|
|
2361
|
-
get statusText() {
|
|
2362
|
-
if (this.readyState === 0 /* UNSENT */ || this.readyState === 1 /* OPENED */)
|
|
2363
|
-
return "";
|
|
2364
|
-
return this[state$5].statusText || statusTextMap(this.status);
|
|
2365
|
-
}
|
|
2366
|
-
get timeout() { return this[state$5].timeout; }
|
|
2367
|
-
set timeout(value) { this[state$5].timeout = value > 0 ? value : 0; }
|
|
2368
|
-
get upload() {
|
|
2369
|
-
const s = this[state$5];
|
|
2370
|
-
if (!s.upload) {
|
|
2371
|
-
s.upload = createXMLHttpRequestUpload();
|
|
2372
|
-
}
|
|
2373
|
-
return s.upload;
|
|
2374
|
-
}
|
|
2375
|
-
get withCredentials() { return this[state$5].withCredentials; }
|
|
2376
|
-
set withCredentials(value) { this[state$5].withCredentials = !!value; }
|
|
2377
|
-
abort() {
|
|
2378
|
-
clearRequest(this);
|
|
2379
|
-
}
|
|
2380
|
-
getAllResponseHeaders() {
|
|
2381
|
-
const headers = this[state$5][_responseHeaders];
|
|
2382
|
-
if (!headers)
|
|
2383
|
-
return "";
|
|
2384
|
-
let result = [];
|
|
2385
|
-
headers.forEach((value, name) => { result.push(`${name}: ${value}\r\n`); });
|
|
2386
|
-
return result.join("");
|
|
2387
|
-
}
|
|
2388
|
-
getResponseHeader(...args) {
|
|
2389
|
-
const [name] = args;
|
|
2390
|
-
checkArgsLength(args, 1, "XMLHttpRequest", "getResponseHeader");
|
|
2391
|
-
if (!this[state$5][_responseHeaders])
|
|
2392
|
-
return null;
|
|
2393
|
-
return this[state$5][_responseHeaders].get(name);
|
|
2394
|
-
}
|
|
2395
|
-
open(...args) {
|
|
2396
|
-
const [method, url, async = true, username = null, password = null] = args;
|
|
2397
|
-
checkArgsLength(args, 2, "XMLHttpRequest", "open");
|
|
2398
|
-
if (!async) {
|
|
2399
|
-
console.warn("Synchronous XMLHttpRequest is not supported because of its detrimental effects to the end user's experience.");
|
|
2400
|
-
}
|
|
2401
|
-
const s = this[state$5];
|
|
2402
|
-
clearRequest(this, false);
|
|
2403
|
-
s[_method] = normalizeMethod(method);
|
|
2404
|
-
s[_requestURL] = "" + url;
|
|
2405
|
-
if (username !== null || password !== null) {
|
|
2406
|
-
let _username = "" + (username !== null && username !== void 0 ? username : "");
|
|
2407
|
-
let _password = "" + (password !== null && password !== void 0 ? password : "");
|
|
2408
|
-
if (_username.length > 0 || _password.length > 0) {
|
|
2409
|
-
let auth = `Basic ${Uint8Array_toBase64(encode$1(_username + ":" + _password))}`;
|
|
2410
|
-
this.setRequestHeader("Authorization", auth);
|
|
2411
|
-
}
|
|
2412
|
-
}
|
|
2413
|
-
s[_inAfterOpenBeforeSend] = true;
|
|
2414
|
-
setReadyStateAndNotify(this, 1 /* OPENED */);
|
|
2415
|
-
}
|
|
2416
|
-
overrideMimeType(...args) {
|
|
2417
|
-
const [mime] = args;
|
|
2418
|
-
checkArgsLength(args, 1, "XMLHttpRequest", "overrideMimeType");
|
|
2419
|
-
if (this[state$5][_inAfterOpenBeforeSend]) {
|
|
2420
|
-
console.error(`TypeError: Failed to execute 'overrideMimeType' on 'XMLHttpRequest': mimeType ('${mime}') not implemented.`);
|
|
2421
|
-
}
|
|
2422
|
-
}
|
|
2423
|
-
send(body) {
|
|
2424
|
-
const s = this[state$5];
|
|
2425
|
-
if (!s[_inAfterOpenBeforeSend] || s.readyState !== 1 /* OPENED */) {
|
|
2426
|
-
throw new MPException("Failed to execute 'send' on 'XMLHttpRequest': The object's state must be OPENED.", "InvalidStateError");
|
|
2427
|
-
}
|
|
2428
|
-
s[_inAfterOpenBeforeSend] = false;
|
|
2429
|
-
const allowsRequestBody = s[_method] !== "GET" && s[_method] !== "HEAD";
|
|
2430
|
-
const processHeaders = allowsRequestBody && !s[_requestHeaders].has("Content-Type");
|
|
2431
|
-
const processContentLength = allowsRequestBody && !!body;
|
|
2432
|
-
let headers = () => { let dict = {}; s[_requestHeaders].forEach((value, name) => { dict[name] = value; }); return dict; };
|
|
2433
|
-
let contentLength = () => 0;
|
|
2434
|
-
const processHeadersFn = processHeaders ? (v) => { s[_requestHeaders].set("Content-Type", v); } : void 0;
|
|
2435
|
-
const processContentLengthFn = processContentLength ? (v) => { contentLength = v; } : void 0;
|
|
2436
|
-
let data = body;
|
|
2437
|
-
try {
|
|
2438
|
-
data = convert(body, false, processHeadersFn, processContentLengthFn);
|
|
2439
|
-
}
|
|
2440
|
-
catch (e) {
|
|
2441
|
-
console.warn(e);
|
|
2442
|
-
}
|
|
2443
|
-
let options = {
|
|
2444
|
-
url: s[_requestURL],
|
|
2445
|
-
method: s[_method],
|
|
2446
|
-
header: headers(),
|
|
2447
|
-
data: data !== "" ? data : void 0,
|
|
2448
|
-
dataType: s.responseType === "json" ? "json" : normalizeDataType(s.responseType),
|
|
2449
|
-
responseType: normalizeDataType(s.responseType),
|
|
2450
|
-
withCredentials: s.withCredentials,
|
|
2451
|
-
success: requestSuccess.bind(this),
|
|
2452
|
-
fail: requestFail.bind(this),
|
|
2453
|
-
complete: requestComplete.bind(this),
|
|
2454
|
-
};
|
|
2455
|
-
// Alipay Mini Program
|
|
2456
|
-
options.headers = options.header;
|
|
2457
|
-
s[_requestTask] = mp$2.request(options);
|
|
2458
|
-
emitProcessEvent(this, "loadstart");
|
|
2459
|
-
if (processContentLength && s.upload) {
|
|
2460
|
-
emitProcessEvent(this.upload, "loadstart", 0, contentLength);
|
|
2461
|
-
}
|
|
2462
|
-
setTimeout(() => {
|
|
2463
|
-
if (s.upload) {
|
|
2464
|
-
const _aborted = s[_inAfterOpenBeforeSend] || s.readyState !== 1 /* OPENED */;
|
|
2465
|
-
const _contentLength = _aborted ? 0 : contentLength;
|
|
2466
|
-
if (_aborted) {
|
|
2467
|
-
emitProcessEvent(this.upload, "abort");
|
|
2468
|
-
}
|
|
2469
|
-
else {
|
|
2470
|
-
if (processContentLength) {
|
|
2471
|
-
emitProcessEvent(this.upload, "load", _contentLength, _contentLength);
|
|
2472
|
-
}
|
|
2473
|
-
}
|
|
2474
|
-
if (_aborted || processContentLength) {
|
|
2475
|
-
emitProcessEvent(this.upload, "loadend", _contentLength, _contentLength);
|
|
2476
|
-
}
|
|
2477
|
-
}
|
|
2478
|
-
});
|
|
2479
|
-
checkRequestTimeout(this);
|
|
2480
|
-
}
|
|
2481
|
-
setRequestHeader(...args) {
|
|
2482
|
-
const [name, value] = args;
|
|
2483
|
-
checkArgsLength(args, 2, "XMLHttpRequest", "setRequestHeader");
|
|
2484
|
-
const s = this[state$5];
|
|
2485
|
-
if (!s[_inAfterOpenBeforeSend] || s.readyState !== 1 /* OPENED */) {
|
|
2486
|
-
throw new MPException("Failed to execute 'setRequestHeader' on 'XMLHttpRequest': The object's state must be OPENED.", "InvalidStateError");
|
|
2487
|
-
}
|
|
2488
|
-
let _name = "" + name;
|
|
2489
|
-
let _value = "" + value;
|
|
2490
|
-
try {
|
|
2491
|
-
s[_requestHeaders].append(_name, _value);
|
|
2492
|
-
}
|
|
2493
|
-
catch (e) {
|
|
2494
|
-
throw new SyntaxError(`Failed to execute 'setRequestHeader' on 'XMLHttpRequest': '${_name}' is not a valid HTTP header field name.`);
|
|
2495
|
-
}
|
|
2496
|
-
}
|
|
2497
|
-
get onreadystatechange() { return this[state$5].onreadystatechange; }
|
|
2498
|
-
set onreadystatechange(value) {
|
|
2499
|
-
this[state$5].onreadystatechange = value;
|
|
2500
|
-
attachFn(this, "readystatechange", value, this[state$5][_handlers$1].onreadystatechange);
|
|
2501
|
-
}
|
|
2502
|
-
/** @internal */ toString() { return "[object XMLHttpRequest]"; }
|
|
2503
|
-
/** @internal */ get [Symbol.toStringTag]() { return "XMLHttpRequest"; }
|
|
2504
|
-
/** @internal */ get isPolyfill() { return { symbol: polyfill, hierarchy: ["XMLHttpRequest", "XMLHttpRequestEventTarget", "EventTarget"] }; }
|
|
2505
|
-
}
|
|
2506
|
-
/** @internal */ const _handlers$1 = Symbol();
|
|
2507
|
-
/** @internal */ const _inAfterOpenBeforeSend = Symbol();
|
|
2508
|
-
/** @internal */ const _resetPending = Symbol();
|
|
2509
|
-
/** @internal */ const _timeoutId = Symbol();
|
|
2510
|
-
/** @internal */ const _requestURL = Symbol();
|
|
2511
|
-
/** @internal */ const _method = Symbol();
|
|
2512
|
-
/** @internal */ const _requestHeaders = Symbol();
|
|
2513
|
-
/** @internal */ const _responseHeaders = Symbol();
|
|
2514
|
-
/** @internal */ const _responseContentLength = Symbol();
|
|
2515
|
-
/** @internal */ const _requestTask = Symbol();
|
|
2516
|
-
/** @internal */
|
|
2517
|
-
class XMLHttpRequestState {
|
|
2518
|
-
constructor(target) {
|
|
2519
|
-
this.readyState = 0 /* UNSENT */;
|
|
2520
|
-
this.response = "";
|
|
2521
|
-
this.responseType = "";
|
|
2522
|
-
this.responseURL = "";
|
|
2523
|
-
this.status = 0;
|
|
2524
|
-
this.statusText = "";
|
|
2525
|
-
this.timeout = 0;
|
|
2526
|
-
this.withCredentials = false;
|
|
2527
|
-
this[_a$1] = getHandlers$1(this);
|
|
2528
|
-
this.onreadystatechange = null;
|
|
2529
|
-
this[_b$1] = false;
|
|
2530
|
-
this[_c] = false;
|
|
2531
|
-
this[_d] = 0;
|
|
2532
|
-
this[_e] = "";
|
|
2533
|
-
this[_f] = "GET";
|
|
2534
|
-
this[_g] = new HeadersP();
|
|
2535
|
-
this[_h] = null;
|
|
2536
|
-
this[_j] = () => 0;
|
|
2537
|
-
this[_k] = null;
|
|
2538
|
-
this.target = target;
|
|
2539
|
-
}
|
|
2540
|
-
}
|
|
2541
|
-
_a$1 = _handlers$1, _b$1 = _inAfterOpenBeforeSend, _c = _resetPending, _d = _timeoutId, _e = _requestURL, _f = _method, _g = _requestHeaders, _h = _responseHeaders, _j = _responseContentLength, _k = _requestTask;
|
|
2542
|
-
function getHandlers$1(s) {
|
|
2543
|
-
return {
|
|
2544
|
-
onreadystatechange: (ev) => { executeFn(s.target, s.onreadystatechange, ev); },
|
|
2545
|
-
};
|
|
2546
|
-
}
|
|
2547
|
-
function normalizeDataType(responseType) {
|
|
2548
|
-
return (responseType === "blob" || responseType === "arraybuffer") ? "arraybuffer" : "text";
|
|
2549
|
-
}
|
|
2550
|
-
function requestSuccess(res) {
|
|
2551
|
-
const s = this[state$5];
|
|
2552
|
-
s.responseURL = s[_requestURL];
|
|
2553
|
-
s.status = "statusCode" in res ? res.statusCode : "status" in res ? res.status : 200;
|
|
2554
|
-
s[_responseHeaders] = new HeadersP(("header" in res ? res.header : "headers" in res ? res.headers : {}));
|
|
2555
|
-
let lengthStr = s[_responseHeaders].get("Content-Length");
|
|
2556
|
-
s[_responseContentLength] = () => { return lengthStr ? parseInt(lengthStr) : 0; };
|
|
2557
|
-
if (s.readyState === 1 /* OPENED */) {
|
|
2558
|
-
setReadyStateAndNotify(this, 2 /* HEADERS_RECEIVED */);
|
|
2559
|
-
setReadyStateAndNotify(this, 3 /* LOADING */);
|
|
2560
|
-
setTimeout(() => {
|
|
2561
|
-
if (!s[_inAfterOpenBeforeSend]) {
|
|
2562
|
-
let l = s[_responseContentLength];
|
|
2563
|
-
try {
|
|
2564
|
-
s.response = convertBack(s.responseType, res.data);
|
|
2565
|
-
emitProcessEvent(this, "load", l, l);
|
|
2566
|
-
}
|
|
2567
|
-
catch (e) {
|
|
2568
|
-
console.error(e);
|
|
2569
|
-
emitProcessEvent(this, "error");
|
|
2570
|
-
}
|
|
2571
|
-
}
|
|
2572
|
-
});
|
|
2573
|
-
}
|
|
2574
|
-
}
|
|
2575
|
-
function requestFail(err) {
|
|
2576
|
-
// Alipay Mini Program
|
|
2577
|
-
// error: 14 --- JSON parse data error
|
|
2578
|
-
// error: 19 --- http status error
|
|
2579
|
-
// At this point, the error data object will contain three pieces of information
|
|
2580
|
-
// returned from the server: status, headers, and data.
|
|
2581
|
-
// In the browser's XMLHttpRequest, these two errors (Error 14 and Error 19)
|
|
2582
|
-
// differ from those in Alipay Mini Programs and should instead return normally.
|
|
2583
|
-
// Therefore, this scenario is also handled here as a successful request response.
|
|
2584
|
-
if (("header" in err && "statusCode" in err) || ("headers" in err && "status" in err)) {
|
|
2585
|
-
requestSuccess.call(this, {
|
|
2586
|
-
statusCode: "statusCode" in err ? err.statusCode : err.status || 0,
|
|
2587
|
-
header: "header" in err ? err.header : err.headers || {},
|
|
2588
|
-
data: "data" in err ? err.data || "" : "",
|
|
2589
|
-
});
|
|
2590
|
-
return;
|
|
2591
|
-
}
|
|
2592
|
-
const s = this[state$5];
|
|
2593
|
-
s.status = 0;
|
|
2594
|
-
s.statusText = "errMsg" in err ? err.errMsg : "errorMessage" in err ? err.errorMessage : "";
|
|
2595
|
-
if (!s[_inAfterOpenBeforeSend] && s.readyState !== 0 /* UNSENT */ && s.readyState !== 4 /* DONE */) {
|
|
2596
|
-
emitProcessEvent(this, "error");
|
|
2597
|
-
resetRequestTimeout(this);
|
|
2598
|
-
}
|
|
2599
|
-
}
|
|
2600
|
-
function requestComplete() {
|
|
2601
|
-
const s = this[state$5];
|
|
2602
|
-
s[_requestTask] = null;
|
|
2603
|
-
if (!s[_inAfterOpenBeforeSend] && (s.readyState === 1 /* OPENED */ || s.readyState === 3 /* LOADING */)) {
|
|
2604
|
-
setReadyStateAndNotify(this, 4 /* DONE */);
|
|
2605
|
-
}
|
|
2606
|
-
setTimeout(() => {
|
|
2607
|
-
if (!s[_inAfterOpenBeforeSend]) {
|
|
2608
|
-
let l = s[_responseContentLength];
|
|
2609
|
-
emitProcessEvent(this, "loadend", l, l);
|
|
2610
|
-
}
|
|
2611
|
-
});
|
|
2612
|
-
}
|
|
2613
|
-
// Alipay Mini Program
|
|
2614
|
-
function safeAbort(task) {
|
|
2615
|
-
if ("abort" in task && typeof task.abort === "function") {
|
|
2616
|
-
task.abort();
|
|
2617
|
-
}
|
|
2618
|
-
}
|
|
2619
|
-
function clearRequest(xhr, delay = true) {
|
|
2620
|
-
const s = xhr[state$5];
|
|
2621
|
-
const timerFn = delay ? setTimeout : (f) => { f(); };
|
|
2622
|
-
s[_resetPending] = true;
|
|
2623
|
-
if (s[_requestTask] && s.readyState !== 4 /* DONE */) {
|
|
2624
|
-
if (delay) {
|
|
2625
|
-
setReadyStateAndNotify(xhr, 4 /* DONE */);
|
|
2626
|
-
}
|
|
2627
|
-
timerFn(() => {
|
|
2628
|
-
const requestTask = s[_requestTask];
|
|
2629
|
-
if (requestTask) {
|
|
2630
|
-
safeAbort(requestTask);
|
|
2631
|
-
}
|
|
2632
|
-
if (delay) {
|
|
2633
|
-
emitProcessEvent(xhr, "abort");
|
|
2634
|
-
}
|
|
2635
|
-
if (delay && !requestTask) {
|
|
2636
|
-
emitProcessEvent(xhr, "loadend");
|
|
2637
|
-
}
|
|
2638
|
-
});
|
|
2639
|
-
}
|
|
2640
|
-
timerFn(() => {
|
|
2641
|
-
if (s[_resetPending]) {
|
|
2642
|
-
if (delay) {
|
|
2643
|
-
s.readyState = 0 /* UNSENT */;
|
|
2644
|
-
}
|
|
2645
|
-
resetXHR(xhr);
|
|
2646
|
-
}
|
|
2647
|
-
});
|
|
2648
|
-
}
|
|
2649
|
-
function checkRequestTimeout(xhr) {
|
|
2650
|
-
const s = xhr[state$5];
|
|
2651
|
-
if (s.timeout) {
|
|
2652
|
-
s[_timeoutId] = setTimeout(() => {
|
|
2653
|
-
if (!s.status && s.readyState !== 4 /* DONE */) {
|
|
2654
|
-
if (s[_requestTask])
|
|
2655
|
-
safeAbort(s[_requestTask]);
|
|
2656
|
-
setReadyStateAndNotify(xhr, 4 /* DONE */);
|
|
2657
|
-
emitProcessEvent(xhr, "timeout");
|
|
2658
|
-
}
|
|
2659
|
-
}, s.timeout);
|
|
2660
|
-
}
|
|
2661
|
-
}
|
|
2662
|
-
function resetXHR(xhr) {
|
|
2663
|
-
const s = xhr[state$5];
|
|
2664
|
-
s[_resetPending] = false;
|
|
2665
|
-
resetRequestTimeout(xhr);
|
|
2666
|
-
s.response = "";
|
|
2667
|
-
s.responseURL = "";
|
|
2668
|
-
s.status = 0;
|
|
2669
|
-
s.statusText = "";
|
|
2670
|
-
s[_requestHeaders] = new HeadersP();
|
|
2671
|
-
s[_responseHeaders] = null;
|
|
2672
|
-
s[_responseContentLength] = () => 0;
|
|
2673
|
-
}
|
|
2674
|
-
function resetRequestTimeout(xhr) {
|
|
2675
|
-
const s = xhr[state$5];
|
|
2676
|
-
if (s[_timeoutId]) {
|
|
2677
|
-
clearTimeout(s[_timeoutId]);
|
|
2678
|
-
s[_timeoutId] = 0;
|
|
2679
|
-
}
|
|
2680
|
-
}
|
|
2681
|
-
function setReadyStateAndNotify(xhr, value) {
|
|
2682
|
-
const s = xhr[state$5];
|
|
2683
|
-
let hasChanged = value !== s.readyState;
|
|
2684
|
-
s.readyState = value;
|
|
2685
|
-
if (hasChanged) {
|
|
2686
|
-
let evt = createInnerEvent(xhr, "readystatechange");
|
|
2687
|
-
EventTarget_fire(xhr, evt);
|
|
2688
|
-
}
|
|
2689
|
-
}
|
|
2690
|
-
|
|
2691
|
-
const XMLHttpRequestP = XMLHttpRequestImpl;
|
|
2692
|
-
const XMLHttpRequestE = (typeof XMLHttpRequest !== "undefined" && XMLHttpRequest) || XMLHttpRequestP;
|
|
2693
|
-
|
|
2694
|
-
/** @internal */ const state$4 = Symbol( /* "ResponseState" */);
|
|
2695
|
-
class ResponseP extends BodyImpl {
|
|
2696
|
-
constructor(body, init) {
|
|
2697
|
-
super();
|
|
2698
|
-
this[state$a].name = "Response";
|
|
2699
|
-
this[state$4] = new ResponseState();
|
|
2700
|
-
const s = this[state$4];
|
|
2701
|
-
let _init = init !== null && init !== void 0 ? init : {};
|
|
2702
|
-
if (typeof _init !== "object") {
|
|
2703
|
-
throw new TypeError("Failed to construct 'Response': The provided value is not of type 'ResponseInit'.");
|
|
2704
|
-
}
|
|
2705
|
-
let status = _init.status === undefined ? 200 : _init.status;
|
|
2706
|
-
if (status < 200 || status > 500) {
|
|
2707
|
-
throw new RangeError(`Failed to construct 'Response': The status provided (${+status}) is outside the range [200, 599].`);
|
|
2708
|
-
}
|
|
2709
|
-
if (_init.headers) {
|
|
2710
|
-
s.headers = new HeadersP(_init.headers);
|
|
2711
|
-
}
|
|
2712
|
-
s.ok = status >= 200 && status < 300;
|
|
2713
|
-
s.status = status;
|
|
2714
|
-
s.statusText = _init.statusText === undefined ? "" : "" + _init.statusText;
|
|
2715
|
-
Body_init(this, body);
|
|
2716
|
-
}
|
|
2717
|
-
get headers() {
|
|
2718
|
-
const s = this[state$4];
|
|
2719
|
-
if (!s.headers) {
|
|
2720
|
-
s.headers = new HeadersP();
|
|
2721
|
-
}
|
|
2722
|
-
return s.headers;
|
|
2723
|
-
}
|
|
2724
|
-
get ok() { return this[state$4].ok; }
|
|
2725
|
-
get redirected() { return this[state$4].redirected; }
|
|
2726
|
-
get status() { return this[state$4].status; }
|
|
2727
|
-
get statusText() { return this[state$4].statusText; }
|
|
2728
|
-
get type() { return this[state$4].type; }
|
|
2729
|
-
get url() { return this[state$4].url; }
|
|
2730
|
-
clone() {
|
|
2731
|
-
if (this.bodyUsed) {
|
|
2732
|
-
throw new TypeError("Failed to execute 'clone' on 'Response': Response body is already used");
|
|
2733
|
-
}
|
|
2734
|
-
let response = new ResponseP(Body_toPayload(this), {
|
|
2735
|
-
headers: new HeadersP(this.headers),
|
|
2736
|
-
status: this.status,
|
|
2737
|
-
statusText: this.statusText,
|
|
2738
|
-
});
|
|
2739
|
-
response[state$4].url = this.url;
|
|
2740
|
-
return response;
|
|
2741
|
-
}
|
|
2742
|
-
static json(...args) {
|
|
2743
|
-
const [data, init] = args;
|
|
2744
|
-
checkArgsLength(args, 1, "Response", "json");
|
|
2745
|
-
let response = new ResponseP(typeof data === "string" ? data : JSON.stringify(data), init);
|
|
2746
|
-
response.headers.set("Content-Type", "application/json");
|
|
2747
|
-
return response;
|
|
2748
|
-
}
|
|
2749
|
-
static error() {
|
|
2750
|
-
let response = new ResponseP(null, { status: 200, statusText: "" });
|
|
2751
|
-
response[state$4].ok = false;
|
|
2752
|
-
response[state$4].status = 0;
|
|
2753
|
-
response[state$4].type = "error";
|
|
2754
|
-
return response;
|
|
2755
|
-
}
|
|
2756
|
-
static redirect(...args) {
|
|
2757
|
-
const [url, status = 301] = args;
|
|
2758
|
-
checkArgsLength(args, 1, "Response", "redirect");
|
|
2759
|
-
if ([301, 302, 303, 307, 308].indexOf(status) === -1) {
|
|
2760
|
-
throw new RangeError("Failed to execute 'redirect' on 'Response': Invalid status code");
|
|
2761
|
-
}
|
|
2762
|
-
return new ResponseP(null, { status, headers: { location: "" + url } });
|
|
2763
|
-
}
|
|
2764
|
-
/** @internal */ toString() { return "[object Response]"; }
|
|
2765
|
-
/** @internal */ get [Symbol.toStringTag]() { return "Response"; }
|
|
2766
|
-
/** @internal */ get isPolyfill() { return { symbol: polyfill, hierarchy: ["Response"] }; }
|
|
2767
|
-
}
|
|
2768
|
-
/** @internal */
|
|
2769
|
-
class ResponseState {
|
|
2770
|
-
constructor() {
|
|
2771
|
-
this.ok = true;
|
|
2772
|
-
this.redirected = false;
|
|
2773
|
-
this.status = 200;
|
|
2774
|
-
this.statusText = "";
|
|
2775
|
-
this.type = "default";
|
|
2776
|
-
this.url = "";
|
|
2777
|
-
}
|
|
2778
|
-
}
|
|
2779
|
-
const ResponseE = g["Response"] || ResponseP;
|
|
2780
|
-
|
|
2781
|
-
const mp$1 = { XMLHttpRequest: XMLHttpRequestE };
|
|
2782
|
-
const setXMLHttpRequest = (XHR) => { mp$1.XMLHttpRequest = XHR; };
|
|
2783
|
-
function fetchP(...args) {
|
|
2784
|
-
if (new.target === fetchP) {
|
|
2785
|
-
throw new TypeError("fetch is not a constructor");
|
|
2786
|
-
}
|
|
2787
|
-
const [input, init] = args;
|
|
2788
|
-
checkArgsLength(args, 1, "Window", "fetch");
|
|
2789
|
-
return new Promise((resolve, reject) => {
|
|
2790
|
-
const request = new RequestP(input, init);
|
|
2791
|
-
const signal = request[state$7].signal;
|
|
2792
|
-
if (signal && signal.aborted) {
|
|
2793
|
-
return reject(signal.reason);
|
|
2794
|
-
}
|
|
2795
|
-
let xhr = new mp$1.XMLHttpRequest();
|
|
2796
|
-
xhr.onload = function () {
|
|
2797
|
-
let options = {
|
|
2798
|
-
headers: parseHeaders(xhr.getAllResponseHeaders() || ""),
|
|
2799
|
-
status: xhr.status,
|
|
2800
|
-
statusText: xhr.statusText,
|
|
2801
|
-
};
|
|
2802
|
-
// This check if specifically for when a user fetches a file locally from the file system
|
|
2803
|
-
// Only if the status is out of a normal range
|
|
2804
|
-
if (request.url.indexOf("file://") === 0 && (xhr.status < 200 || xhr.status > 599)) {
|
|
2805
|
-
options.status = 200;
|
|
2806
|
-
}
|
|
2807
|
-
setTimeout(() => {
|
|
2808
|
-
let response = new ResponseP("response" in xhr ? xhr.response : xhr.responseText, options);
|
|
2809
|
-
response[state$4].url = "responseURL" in xhr ? xhr.responseURL : (options.headers.get("X-Request-URL") || "");
|
|
2810
|
-
resolve(response);
|
|
2811
|
-
});
|
|
2812
|
-
};
|
|
2813
|
-
xhr.onerror = function () {
|
|
2814
|
-
setTimeout(function () {
|
|
2815
|
-
reject(new TypeError("Failed to fetch"));
|
|
2816
|
-
});
|
|
2817
|
-
};
|
|
2818
|
-
xhr.ontimeout = function () {
|
|
2819
|
-
setTimeout(function () {
|
|
2820
|
-
reject(new MPException("request:fail timeout", "TimeoutError"));
|
|
2821
|
-
});
|
|
2822
|
-
};
|
|
2823
|
-
xhr.onabort = function () {
|
|
2824
|
-
setTimeout(function () {
|
|
2825
|
-
reject(new MPException("request:fail abort", "AbortError"));
|
|
2826
|
-
});
|
|
2827
|
-
};
|
|
2828
|
-
xhr.open(request.method, request.url, true);
|
|
2829
|
-
if (request.credentials === "include") {
|
|
2830
|
-
xhr.withCredentials = true;
|
|
2831
|
-
}
|
|
2832
|
-
else if (request.credentials === "omit") {
|
|
2833
|
-
xhr.withCredentials = false;
|
|
2834
|
-
}
|
|
2835
|
-
if ("responseType" in xhr) {
|
|
2836
|
-
xhr.responseType = "arraybuffer";
|
|
2837
|
-
}
|
|
2838
|
-
if (init && typeof init === "object" && typeof init.headers === "object" && !(isObjectType("Headers", init.headers) || isPolyfillType("Headers", init.headers))) {
|
|
2839
|
-
let headers = init.headers;
|
|
2840
|
-
let names = [];
|
|
2841
|
-
Object.getOwnPropertyNames(headers).forEach(name => {
|
|
2842
|
-
names.push(normalizeName(name));
|
|
2843
|
-
xhr.setRequestHeader(name, normalizeValue(headers[name]));
|
|
2844
|
-
});
|
|
2845
|
-
request.headers.forEach((value, name) => {
|
|
2846
|
-
if (names.indexOf(name) === -1) {
|
|
2847
|
-
xhr.setRequestHeader(name, value);
|
|
2848
|
-
}
|
|
2849
|
-
});
|
|
2850
|
-
}
|
|
2851
|
-
else {
|
|
2852
|
-
request.headers.forEach((value, name) => {
|
|
2853
|
-
xhr.setRequestHeader(name, value);
|
|
2854
|
-
});
|
|
2855
|
-
}
|
|
2856
|
-
if (signal) {
|
|
2857
|
-
const abortXHR = () => { xhr.abort(); };
|
|
2858
|
-
signal.addEventListener("abort", abortXHR);
|
|
2859
|
-
xhr.onreadystatechange = function () {
|
|
2860
|
-
// success or failure
|
|
2861
|
-
if (xhr.readyState === 4 /* DONE */) {
|
|
2862
|
-
signal.removeEventListener("abort", abortXHR);
|
|
2863
|
-
}
|
|
2864
|
-
};
|
|
2865
|
-
}
|
|
2866
|
-
let body = Body_toPayload(request);
|
|
2867
|
-
xhr.send(body !== "" ? body : void 0);
|
|
2868
|
-
});
|
|
2869
|
-
}
|
|
2870
|
-
const fetchE = g["fetch"] || fetchP;
|
|
2871
|
-
|
|
2872
|
-
const dispatched$1 = 1;
|
|
2873
|
-
/** @internal */
|
|
2874
|
-
const state$3 = Symbol( /* "CustomEventState" */);
|
|
2875
|
-
class CustomEventP extends EventP {
|
|
2876
|
-
constructor(type, eventInitDict) {
|
|
2877
|
-
var _a;
|
|
2878
|
-
super(type, eventInitDict);
|
|
2879
|
-
this[state$3] = new CustomEventState();
|
|
2880
|
-
this[state$3].detail = (_a = eventInitDict === null || eventInitDict === void 0 ? void 0 : eventInitDict.detail) !== null && _a !== void 0 ? _a : null;
|
|
2881
|
-
}
|
|
2882
|
-
get detail() { return this[state$3].detail; }
|
|
2883
|
-
initCustomEvent(...args) {
|
|
2884
|
-
const [type, bubbles, cancelable, detail] = args;
|
|
2885
|
-
checkArgsLength(args, 1, "CustomEvent", "initCustomEvent");
|
|
2886
|
-
if (Event_getEtField(this, dispatched$1))
|
|
2887
|
-
return;
|
|
2888
|
-
this.initEvent(type, bubbles, cancelable);
|
|
2889
|
-
this[state$3].detail = detail !== null && detail !== void 0 ? detail : null;
|
|
2890
|
-
}
|
|
2891
|
-
/** @internal */ toString() { return "[object CustomEvent]"; }
|
|
2892
|
-
/** @internal */ get [Symbol.toStringTag]() { return "CustomEvent"; }
|
|
2893
|
-
/** @internal */ get isPolyfill() { return { symbol: polyfill, hierarchy: ["CustomEvent", "Event"] }; }
|
|
2894
|
-
}
|
|
2895
|
-
/** @internal */
|
|
2896
|
-
class CustomEventState {
|
|
2897
|
-
}
|
|
2898
|
-
const CustomEventE = g["EventTarget"] ? g["CustomEvent"] : CustomEventP;
|
|
2899
|
-
|
|
2900
|
-
/** @internal */
|
|
2901
|
-
const state$2 = Symbol( /* "CloseEventState" */);
|
|
2902
|
-
class CloseEventP extends EventP {
|
|
2903
|
-
constructor(type, eventInitDict) {
|
|
2904
|
-
var _a;
|
|
2905
|
-
super(type, eventInitDict);
|
|
2906
|
-
this[state$2] = new CloseEventState();
|
|
2907
|
-
const s = this[state$2];
|
|
2908
|
-
let _code = Number((_a = eventInitDict === null || eventInitDict === void 0 ? void 0 : eventInitDict.code) !== null && _a !== void 0 ? _a : 0);
|
|
2909
|
-
s.code = isNaN(_code) ? 0 : _code;
|
|
2910
|
-
if ((eventInitDict === null || eventInitDict === void 0 ? void 0 : eventInitDict.reason) !== undefined)
|
|
2911
|
-
s.reason = "" + eventInitDict.reason;
|
|
2912
|
-
s.wasClean = !!(eventInitDict === null || eventInitDict === void 0 ? void 0 : eventInitDict.wasClean);
|
|
2913
|
-
}
|
|
2914
|
-
get code() { return this[state$2].code; }
|
|
2915
|
-
get reason() { return this[state$2].reason; }
|
|
2916
|
-
get wasClean() { return this[state$2].wasClean; }
|
|
2917
|
-
/** @internal */ toString() { return "[object CloseEvent]"; }
|
|
2918
|
-
/** @internal */ get [Symbol.toStringTag]() { return "CloseEvent"; }
|
|
2919
|
-
/** @internal */ get isPolyfill() { return { symbol: polyfill, hierarchy: ["CloseEvent", "Event"] }; }
|
|
2920
|
-
}
|
|
2921
|
-
/** @internal */
|
|
2922
|
-
class CloseEventState {
|
|
2923
|
-
constructor() {
|
|
2924
|
-
this.code = 0;
|
|
2925
|
-
this.reason = "";
|
|
2926
|
-
this.wasClean = false;
|
|
2927
|
-
}
|
|
2928
|
-
}
|
|
2929
|
-
g["EventTarget"] ? g["CloseEvent"] : CloseEventP;
|
|
2930
|
-
|
|
2931
|
-
const dispatched = 1;
|
|
2932
|
-
/** @internal */
|
|
2933
|
-
const state$1 = Symbol( /* "MessageEventState" */);
|
|
2934
|
-
class MessageEventP extends EventP {
|
|
2935
|
-
constructor(type, eventInitDict) {
|
|
2936
|
-
var _a;
|
|
2937
|
-
super(type, eventInitDict);
|
|
2938
|
-
this[state$1] = new MessageEventState();
|
|
2939
|
-
const s = this[state$1];
|
|
2940
|
-
s.data = (_a = eventInitDict === null || eventInitDict === void 0 ? void 0 : eventInitDict.data) !== null && _a !== void 0 ? _a : null;
|
|
2941
|
-
if ((eventInitDict === null || eventInitDict === void 0 ? void 0 : eventInitDict.origin) !== undefined)
|
|
2942
|
-
s.origin = "" + eventInitDict.origin;
|
|
2943
|
-
if ((eventInitDict === null || eventInitDict === void 0 ? void 0 : eventInitDict.lastEventId) !== undefined)
|
|
2944
|
-
s.lastEventId = "" + eventInitDict.lastEventId;
|
|
2945
|
-
if ((eventInitDict === null || eventInitDict === void 0 ? void 0 : eventInitDict.source) !== undefined)
|
|
2946
|
-
s.source = eventInitDict.source;
|
|
2947
|
-
if ((eventInitDict === null || eventInitDict === void 0 ? void 0 : eventInitDict.ports) !== undefined)
|
|
2948
|
-
s.ports = eventInitDict.ports;
|
|
2949
|
-
}
|
|
2950
|
-
get data() { return this[state$1].data; }
|
|
2951
|
-
get lastEventId() { return this[state$1].lastEventId; }
|
|
2952
|
-
get origin() { return this[state$1].origin; }
|
|
2953
|
-
get ports() { return this[state$1].ports; }
|
|
2954
|
-
get source() { return this[state$1].source; }
|
|
2955
|
-
initMessageEvent(...args) {
|
|
2956
|
-
const [type, bubbles, cancelable, data, origin, lastEventId, source, ports] = args;
|
|
2957
|
-
checkArgsLength(args, 1, "MessageEvent", "initMessageEvent");
|
|
2958
|
-
if (Event_getEtField(this, dispatched))
|
|
2959
|
-
return;
|
|
2960
|
-
this.initEvent(type, bubbles, cancelable);
|
|
2961
|
-
const s = this[state$1];
|
|
2962
|
-
s.data = data !== null && data !== void 0 ? data : null;
|
|
2963
|
-
if (origin !== undefined)
|
|
2964
|
-
s.origin = "" + origin;
|
|
2965
|
-
if (lastEventId !== undefined)
|
|
2966
|
-
s.lastEventId = "" + lastEventId;
|
|
2967
|
-
if (source !== undefined)
|
|
2968
|
-
s.source = source;
|
|
2969
|
-
if (ports !== undefined)
|
|
2970
|
-
s.ports = ports;
|
|
2971
|
-
}
|
|
2972
|
-
/** @internal */ toString() { return "[object MessageEvent]"; }
|
|
2973
|
-
/** @internal */ get [Symbol.toStringTag]() { return "MessageEvent"; }
|
|
2974
|
-
/** @internal */ get isPolyfill() { return { symbol: polyfill, hierarchy: ["MessageEvent", "Event"] }; }
|
|
2975
|
-
}
|
|
2976
|
-
/** @internal */
|
|
2977
|
-
class MessageEventState {
|
|
2978
|
-
constructor() {
|
|
2979
|
-
this.data = null;
|
|
2980
|
-
this.lastEventId = "";
|
|
2981
|
-
this.origin = "";
|
|
2982
|
-
this.ports = [];
|
|
2983
|
-
this.source = null;
|
|
2984
|
-
}
|
|
2985
|
-
}
|
|
2986
|
-
g["EventTarget"] ? g["MessageEvent"] : MessageEventP;
|
|
2987
|
-
|
|
2988
|
-
const connectSocket = mp$3 ? mp$3.connectSocket : function errorConnectSocket(options) {
|
|
2989
|
-
return {
|
|
2990
|
-
send(obj) { },
|
|
2991
|
-
close(obj) { },
|
|
2992
|
-
onOpen(listener) { },
|
|
2993
|
-
onMessage(listener) { },
|
|
2994
|
-
onError(listener) {
|
|
2995
|
-
if (typeof listener === "function") {
|
|
2996
|
-
listener({ errMsg: "NOT_SUPPORTED_ERR" });
|
|
2997
|
-
}
|
|
2998
|
-
},
|
|
2999
|
-
onClose(listener) {
|
|
3000
|
-
if (typeof listener === "function") {
|
|
3001
|
-
setTimeout(() => { listener({ code: 3009, reason: "NOT_SUPPORTED_ERR" }); });
|
|
3002
|
-
}
|
|
3003
|
-
},
|
|
3004
|
-
};
|
|
3005
|
-
};
|
|
3006
|
-
|
|
3007
|
-
var _a, _b;
|
|
3008
|
-
const mp = { connectSocket: connectSocket };
|
|
3009
|
-
const setConnectSocket = (connectSocket) => { mp.connectSocket = connectSocket; };
|
|
3010
|
-
/** @internal */
|
|
3011
|
-
const state = Symbol( /* "WebSocketState" */);
|
|
3012
|
-
class WebSocketImpl extends EventTargetP {
|
|
3013
|
-
static get CONNECTING() { return 0; }
|
|
3014
|
-
static get OPEN() { return 1; }
|
|
3015
|
-
static get CLOSING() { return 2; }
|
|
3016
|
-
static get CLOSED() { return 3; }
|
|
3017
|
-
constructor(...args) {
|
|
3018
|
-
const [url, protocols] = args;
|
|
3019
|
-
checkArgsLength(args, 1, "WebSocket");
|
|
3020
|
-
super();
|
|
3021
|
-
this[state] = new WebSocketState(this, {
|
|
3022
|
-
url: "" + url,
|
|
3023
|
-
protocols: protocols !== undefined
|
|
3024
|
-
? (Array.isArray(protocols) || (protocols && typeof protocols === "object" && Symbol.iterator in protocols))
|
|
3025
|
-
? Array.isArray(protocols) ? protocols : Array.from(protocols)
|
|
3026
|
-
: ["" + protocols]
|
|
3027
|
-
: [],
|
|
3028
|
-
multiple: true, // Alipay Mini Program
|
|
3029
|
-
fail(err) { console.error(err); },
|
|
3030
|
-
});
|
|
3031
|
-
let socketTask = this[state][_socketTask];
|
|
3032
|
-
if (socketTask && typeof socketTask === "object") {
|
|
3033
|
-
onOpen(this);
|
|
3034
|
-
onClose(this);
|
|
3035
|
-
onError(this);
|
|
3036
|
-
onMessage(this);
|
|
3037
|
-
}
|
|
3038
|
-
else {
|
|
3039
|
-
throw new Error(`connectSocket can't establish a connection to the server at ${"" + url}.`);
|
|
3040
|
-
}
|
|
3041
|
-
}
|
|
3042
|
-
get CONNECTING() { return 0; }
|
|
3043
|
-
get OPEN() { return 1; }
|
|
3044
|
-
get CLOSING() { return 2; }
|
|
3045
|
-
get CLOSED() { return 3; }
|
|
3046
|
-
get binaryType() { return this[state].binaryType; }
|
|
3047
|
-
set binaryType(value) { if (value === "blob" || value === "arraybuffer") {
|
|
3048
|
-
this[state].binaryType = value;
|
|
3049
|
-
} }
|
|
3050
|
-
get bufferedAmount() { return this[state].bufferedAmount; }
|
|
3051
|
-
get extensions() { return this[state].extensions; }
|
|
3052
|
-
get protocol() { return this[state].protocol; }
|
|
3053
|
-
get readyState() { return this[state].readyState; }
|
|
3054
|
-
get url() { return this[state].url; }
|
|
3055
|
-
close(code, reason) {
|
|
3056
|
-
if (this.readyState === 2 /* CLOSING */ || this.readyState === 3 /* CLOSED */)
|
|
3057
|
-
return;
|
|
3058
|
-
this[state].readyState = 2 /* CLOSING */;
|
|
3059
|
-
this[state][_socketTask].close({
|
|
3060
|
-
code: code,
|
|
3061
|
-
reason: reason,
|
|
3062
|
-
fail(err) { console.error(err); },
|
|
3063
|
-
complete: (function () {
|
|
3064
|
-
this[state].readyState = 3 /* CLOSED */;
|
|
3065
|
-
}).bind(this),
|
|
3066
|
-
});
|
|
3067
|
-
}
|
|
3068
|
-
send(...args) {
|
|
3069
|
-
const [data] = args;
|
|
3070
|
-
checkArgsLength(args, 1, "WebSocket", "send");
|
|
3071
|
-
if (this.readyState === 0 /* CONNECTING */) {
|
|
3072
|
-
throw new MPException("Failed to execute 'send' on 'WebSocket': Still in CONNECTING state.", "InvalidStateError");
|
|
3073
|
-
}
|
|
3074
|
-
if (this.readyState === 2 /* CLOSING */ || this.readyState === 3 /* CLOSED */) {
|
|
3075
|
-
return console.error("WebSocket is already in CLOSING or CLOSED state.");
|
|
3076
|
-
}
|
|
3077
|
-
let _data;
|
|
3078
|
-
if (isArrayBuffer(data)) {
|
|
3079
|
-
_data = data;
|
|
3080
|
-
}
|
|
3081
|
-
else if (ArrayBuffer.isView(data)) {
|
|
3082
|
-
_data = data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength);
|
|
3083
|
-
}
|
|
3084
|
-
else if (isPolyfillType("Blob", data)) {
|
|
3085
|
-
_data = Blob_toUint8Array(data).buffer.slice(0);
|
|
3086
|
-
}
|
|
3087
|
-
else {
|
|
3088
|
-
_data = "" + data;
|
|
3089
|
-
}
|
|
3090
|
-
this[state][_socketTask].send({
|
|
3091
|
-
data: _data,
|
|
3092
|
-
fail(err) { console.error(err); },
|
|
3093
|
-
});
|
|
3094
|
-
}
|
|
3095
|
-
get onclose() { return this[state].onclose; }
|
|
3096
|
-
set onclose(value) { this[state].onclose = value; attach(this, "close"); }
|
|
3097
|
-
get onerror() { return this[state].onerror; }
|
|
3098
|
-
set onerror(value) { this[state].onerror = value; attach(this, "error"); }
|
|
3099
|
-
get onmessage() { return this[state].onmessage; }
|
|
3100
|
-
set onmessage(value) { this[state].onmessage = value; attach(this, "message"); }
|
|
3101
|
-
get onopen() { return this[state].onopen; }
|
|
3102
|
-
set onopen(value) { this[state].onopen = value; attach(this, "open"); }
|
|
3103
|
-
/** @internal */ toString() { return "[object WebSocket]"; }
|
|
3104
|
-
/** @internal */ get [Symbol.toStringTag]() { return "WebSocket"; }
|
|
3105
|
-
/** @internal */ get isPolyfill() { return { symbol: polyfill, hierarchy: ["WebSocket", "EventTarget"] }; }
|
|
3106
|
-
}
|
|
3107
|
-
/** @internal */ const _socketTask = Symbol();
|
|
3108
|
-
/** @internal */ const _error = Symbol();
|
|
3109
|
-
/** @internal */ const _handlers = Symbol();
|
|
3110
|
-
/** @internal */
|
|
3111
|
-
class WebSocketState {
|
|
3112
|
-
constructor(target, opts) {
|
|
3113
|
-
this.binaryType = "blob";
|
|
3114
|
-
this.bufferedAmount = 0;
|
|
3115
|
-
this.extensions = "";
|
|
3116
|
-
this.protocol = "";
|
|
3117
|
-
this.readyState = 0;
|
|
3118
|
-
this[_a] = null;
|
|
3119
|
-
this[_b] = getHandlers(this);
|
|
3120
|
-
this.onclose = null;
|
|
3121
|
-
this.onerror = null;
|
|
3122
|
-
this.onmessage = null;
|
|
3123
|
-
this.onopen = null;
|
|
3124
|
-
this.target = target;
|
|
3125
|
-
this.url = opts.url;
|
|
3126
|
-
this[_socketTask] = mp.connectSocket(opts);
|
|
3127
|
-
}
|
|
3128
|
-
}
|
|
3129
|
-
_a = _error, _b = _handlers;
|
|
3130
|
-
function attach(target, type) {
|
|
3131
|
-
const s = target[state];
|
|
3132
|
-
const fnName = ("on" + type);
|
|
3133
|
-
const cb = s[fnName];
|
|
3134
|
-
const listener = s[_handlers][fnName];
|
|
3135
|
-
attachFn(target, type, cb, listener);
|
|
3136
|
-
}
|
|
3137
|
-
function getHandlers(s) {
|
|
3138
|
-
return {
|
|
3139
|
-
onclose: (ev) => { executeFn(s.target, s.onclose, ev); },
|
|
3140
|
-
onerror: (ev) => { executeFn(s.target, s.onerror, ev); },
|
|
3141
|
-
onmessage: (ev) => { executeFn(s.target, s.onmessage, ev); },
|
|
3142
|
-
onopen: (ev) => { executeFn(s.target, s.onopen, ev); },
|
|
3143
|
-
};
|
|
3144
|
-
}
|
|
3145
|
-
function onOpen(ws) {
|
|
3146
|
-
let socket = ws;
|
|
3147
|
-
socket[state][_socketTask].onOpen(res => {
|
|
3148
|
-
if ("header" in res && res.header && typeof res.header === "object") {
|
|
3149
|
-
let headers = new HeadersP(res.header);
|
|
3150
|
-
socket[state].protocol = headers.get("Sec-WebSocket-Protocol") || "";
|
|
3151
|
-
}
|
|
3152
|
-
socket[state].readyState = 1 /* OPEN */;
|
|
3153
|
-
EventTarget_fire(socket, createInnerEvent(socket, "open"));
|
|
3154
|
-
});
|
|
3155
|
-
}
|
|
3156
|
-
function onClose(ws) {
|
|
3157
|
-
let socket = ws;
|
|
3158
|
-
socket[state][_socketTask].onClose(res => {
|
|
3159
|
-
socket[state].readyState = 3 /* CLOSED */;
|
|
3160
|
-
let event = new CloseEventP("close", {
|
|
3161
|
-
wasClean: !socket[state][_error],
|
|
3162
|
-
code: res.code,
|
|
3163
|
-
reason: res.reason,
|
|
3164
|
-
});
|
|
3165
|
-
Event_setTrusted(event, true);
|
|
3166
|
-
EventTarget_fire(socket, event);
|
|
3167
|
-
});
|
|
3168
|
-
}
|
|
3169
|
-
function onError(ws) {
|
|
3170
|
-
let socket = ws;
|
|
3171
|
-
socket[state][_socketTask].onError(res => {
|
|
3172
|
-
console.error(res);
|
|
3173
|
-
socket[state][_error] = res;
|
|
3174
|
-
socket[state].readyState = 3 /* CLOSED */;
|
|
3175
|
-
EventTarget_fire(socket, createInnerEvent(socket, "error"));
|
|
3176
|
-
});
|
|
3177
|
-
}
|
|
3178
|
-
function onMessage(ws) {
|
|
3179
|
-
let socket = ws;
|
|
3180
|
-
socket[state][_socketTask].onMessage(res => {
|
|
3181
|
-
let data = res.data;
|
|
3182
|
-
let _data;
|
|
3183
|
-
// Alipay Mini Program
|
|
3184
|
-
if (data && typeof data === "object" && "data" in data) {
|
|
3185
|
-
_data = data.data;
|
|
3186
|
-
if ("isBuffer" in data && data.isBuffer && typeof _data === "string") {
|
|
3187
|
-
// @ts-ignore
|
|
3188
|
-
try {
|
|
3189
|
-
_data = my.base64ToArrayBuffer(_data);
|
|
3190
|
-
}
|
|
3191
|
-
catch (e) { }
|
|
3192
|
-
}
|
|
3193
|
-
}
|
|
3194
|
-
else {
|
|
3195
|
-
_data = data;
|
|
3196
|
-
}
|
|
3197
|
-
if (isArrayBuffer(_data) && socket.binaryType === "blob") {
|
|
3198
|
-
_data = new BlobP([_data]);
|
|
3199
|
-
}
|
|
3200
|
-
let event = new MessageEventP("message", {
|
|
3201
|
-
data: _data,
|
|
3202
|
-
origin: socket.url,
|
|
3203
|
-
});
|
|
3204
|
-
Event_setTrusted(event, true);
|
|
3205
|
-
EventTarget_fire(socket, event);
|
|
3206
|
-
});
|
|
3207
|
-
}
|
|
3208
|
-
|
|
3209
|
-
const WebSocketP = WebSocketImpl;
|
|
3210
|
-
const WebSocketE = (typeof WebSocket !== "undefined" && WebSocket) || WebSocketP;
|
|
3211
|
-
|
|
3212
|
-
export { AbortControllerE as AbortController, AbortControllerP, AbortSignalE as AbortSignal, AbortSignalP, BlobE as Blob, BlobP, CustomEventE as CustomEvent, CustomEventP, EventE as Event, EventP, EventTargetE as EventTarget, EventTargetP, FileE as File, FileP, FileReaderE as FileReader, FileReaderP, FormDataE as FormData, FormDataP, HeadersE as Headers, HeadersP, RequestE as Request, RequestP, ResponseE as Response, ResponseP, TextDecoderE as TextDecoder, TextDecoderP, TextEncoderE as TextEncoder, TextEncoderP, URLSearchParamsE as URLSearchParams, URLSearchParamsP, WebSocketE as WebSocket, WebSocketP, XMLHttpRequestE as XMLHttpRequest, XMLHttpRequestP, fetchE as fetch, fetchP, setConnectSocket, setRequest, setXMLHttpRequest };
|