@common.js/fetch-blob 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js ADDED
@@ -0,0 +1,1007 @@
1
+ /*! fetch-blob. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> */ // TODO (jimmywarting): in the feature use conditional loading with top level await (requires 14.x)
2
+ // Node has recently added whatwg stream into core
3
+ "use strict";
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ function _export(target, all) {
8
+ for(var name in all)Object.defineProperty(target, name, {
9
+ enumerable: true,
10
+ get: all[name]
11
+ });
12
+ }
13
+ _export(exports, {
14
+ Blob: function() {
15
+ return Blob;
16
+ },
17
+ default: function() {
18
+ return _default;
19
+ }
20
+ });
21
+ require("./streams.cjs");
22
+ function AsyncGenerator(gen) {
23
+ var front, back;
24
+ function send(key, arg) {
25
+ return new Promise(function(resolve, reject) {
26
+ var request = {
27
+ key: key,
28
+ arg: arg,
29
+ resolve: resolve,
30
+ reject: reject,
31
+ next: null
32
+ };
33
+ if (back) {
34
+ back = back.next = request;
35
+ } else {
36
+ front = back = request;
37
+ resume(key, arg);
38
+ }
39
+ });
40
+ }
41
+ function resume(key, arg) {
42
+ try {
43
+ var result = gen[key](arg);
44
+ var value = result.value;
45
+ var wrappedAwait = value instanceof _AwaitValue;
46
+ Promise.resolve(wrappedAwait ? value.wrapped : value).then(function(arg) {
47
+ if (wrappedAwait) {
48
+ resume("next", arg);
49
+ return;
50
+ }
51
+ settle(result.done ? "return" : "normal", arg);
52
+ }, function(err) {
53
+ resume("throw", err);
54
+ });
55
+ } catch (err) {
56
+ settle("throw", err);
57
+ }
58
+ }
59
+ function settle(type, value) {
60
+ switch(type){
61
+ case "return":
62
+ front.resolve({
63
+ value: value,
64
+ done: true
65
+ });
66
+ break;
67
+ case "throw":
68
+ front.reject(value);
69
+ break;
70
+ default:
71
+ front.resolve({
72
+ value: value,
73
+ done: false
74
+ });
75
+ break;
76
+ }
77
+ front = front.next;
78
+ if (front) {
79
+ resume(front.key, front.arg);
80
+ } else {
81
+ back = null;
82
+ }
83
+ }
84
+ this._invoke = send;
85
+ if (typeof gen.return !== "function") {
86
+ this.return = undefined;
87
+ }
88
+ }
89
+ if (typeof Symbol === "function" && Symbol.asyncIterator) {
90
+ AsyncGenerator.prototype[Symbol.asyncIterator] = function() {
91
+ return this;
92
+ };
93
+ }
94
+ AsyncGenerator.prototype.next = function(arg) {
95
+ return this._invoke("next", arg);
96
+ };
97
+ AsyncGenerator.prototype.throw = function(arg) {
98
+ return this._invoke("throw", arg);
99
+ };
100
+ AsyncGenerator.prototype.return = function(arg) {
101
+ return this._invoke("return", arg);
102
+ };
103
+ function _asyncGeneratorDelegate(inner, awaitWrap) {
104
+ var iter = {}, waiting = false;
105
+ function pump(key, value) {
106
+ waiting = true;
107
+ value = new Promise(function(resolve) {
108
+ resolve(inner[key](value));
109
+ });
110
+ return {
111
+ done: false,
112
+ value: awaitWrap(value)
113
+ };
114
+ }
115
+ ;
116
+ if (typeof Symbol === "function" && Symbol.iterator) {
117
+ iter[Symbol.iterator] = function() {
118
+ return this;
119
+ };
120
+ }
121
+ iter.next = function(value) {
122
+ if (waiting) {
123
+ waiting = false;
124
+ return value;
125
+ }
126
+ return pump("next", value);
127
+ };
128
+ if (typeof inner.throw === "function") {
129
+ iter.throw = function(value) {
130
+ if (waiting) {
131
+ waiting = false;
132
+ throw value;
133
+ }
134
+ return pump("throw", value);
135
+ };
136
+ }
137
+ if (typeof inner.return === "function") {
138
+ iter.return = function(value) {
139
+ return pump("return", value);
140
+ };
141
+ }
142
+ return iter;
143
+ }
144
+ function _asyncIterator(iterable) {
145
+ var method, async, sync, retry = 2;
146
+ for("undefined" != typeof Symbol && (async = Symbol.asyncIterator, sync = Symbol.iterator); retry--;){
147
+ if (async && null != (method = iterable[async])) return method.call(iterable);
148
+ if (sync && null != (method = iterable[sync])) return new AsyncFromSyncIterator(method.call(iterable));
149
+ async = "@@asyncIterator", sync = "@@iterator";
150
+ }
151
+ throw new TypeError("Object is not async iterable");
152
+ }
153
+ function AsyncFromSyncIterator(s) {
154
+ function AsyncFromSyncIteratorContinuation(r) {
155
+ if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object."));
156
+ var done = r.done;
157
+ return Promise.resolve(r.value).then(function(value) {
158
+ return {
159
+ value: value,
160
+ done: done
161
+ };
162
+ });
163
+ }
164
+ return AsyncFromSyncIterator = function(s) {
165
+ this.s = s, this.n = s.next;
166
+ }, AsyncFromSyncIterator.prototype = {
167
+ s: null,
168
+ n: null,
169
+ next: function() {
170
+ return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments));
171
+ },
172
+ return: function(value) {
173
+ var ret = this.s.return;
174
+ return void 0 === ret ? Promise.resolve({
175
+ value: value,
176
+ done: !0
177
+ }) : AsyncFromSyncIteratorContinuation(ret.apply(this.s, arguments));
178
+ },
179
+ throw: function(value) {
180
+ var thr = this.s.return;
181
+ return void 0 === thr ? Promise.reject(value) : AsyncFromSyncIteratorContinuation(thr.apply(this.s, arguments));
182
+ }
183
+ }, new AsyncFromSyncIterator(s);
184
+ }
185
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
186
+ try {
187
+ var info = gen[key](arg);
188
+ var value = info.value;
189
+ } catch (error) {
190
+ reject(error);
191
+ return;
192
+ }
193
+ if (info.done) {
194
+ resolve(value);
195
+ } else {
196
+ Promise.resolve(value).then(_next, _throw);
197
+ }
198
+ }
199
+ function _asyncToGenerator(fn) {
200
+ return function() {
201
+ var self = this, args = arguments;
202
+ return new Promise(function(resolve, reject) {
203
+ var gen = fn.apply(self, args);
204
+ function _next(value) {
205
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
206
+ }
207
+ function _throw(err) {
208
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
209
+ }
210
+ _next(undefined);
211
+ });
212
+ };
213
+ }
214
+ function _awaitAsyncGenerator(value) {
215
+ return new _AwaitValue(value);
216
+ }
217
+ function _AwaitValue(value) {
218
+ this.wrapped = value;
219
+ }
220
+ function _checkPrivateRedeclaration(obj, privateCollection) {
221
+ if (privateCollection.has(obj)) {
222
+ throw new TypeError("Cannot initialize the same private elements twice on an object");
223
+ }
224
+ }
225
+ function _classApplyDescriptorGet(receiver, descriptor) {
226
+ if (descriptor.get) {
227
+ return descriptor.get.call(receiver);
228
+ }
229
+ return descriptor.value;
230
+ }
231
+ function _classApplyDescriptorSet(receiver, descriptor, value) {
232
+ if (descriptor.set) {
233
+ descriptor.set.call(receiver, value);
234
+ } else {
235
+ if (!descriptor.writable) {
236
+ throw new TypeError("attempted to set read only private field");
237
+ }
238
+ descriptor.value = value;
239
+ }
240
+ }
241
+ function _classCallCheck(instance, Constructor) {
242
+ if (!(instance instanceof Constructor)) {
243
+ throw new TypeError("Cannot call a class as a function");
244
+ }
245
+ }
246
+ function _classExtractFieldDescriptor(receiver, privateMap, action) {
247
+ if (!privateMap.has(receiver)) {
248
+ throw new TypeError("attempted to " + action + " private field on non-instance");
249
+ }
250
+ return privateMap.get(receiver);
251
+ }
252
+ function _classPrivateFieldGet(receiver, privateMap) {
253
+ var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get");
254
+ return _classApplyDescriptorGet(receiver, descriptor);
255
+ }
256
+ function _classPrivateFieldInit(obj, privateMap, value) {
257
+ _checkPrivateRedeclaration(obj, privateMap);
258
+ privateMap.set(obj, value);
259
+ }
260
+ function _classPrivateFieldSet(receiver, privateMap, value) {
261
+ var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set");
262
+ _classApplyDescriptorSet(receiver, descriptor, value);
263
+ return value;
264
+ }
265
+ function _defineProperties(target, props) {
266
+ for(var i = 0; i < props.length; i++){
267
+ var descriptor = props[i];
268
+ descriptor.enumerable = descriptor.enumerable || false;
269
+ descriptor.configurable = true;
270
+ if ("value" in descriptor) descriptor.writable = true;
271
+ Object.defineProperty(target, descriptor.key, descriptor);
272
+ }
273
+ }
274
+ function _createClass(Constructor, protoProps, staticProps) {
275
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
276
+ if (staticProps) _defineProperties(Constructor, staticProps);
277
+ return Constructor;
278
+ }
279
+ function _instanceof(left, right) {
280
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
281
+ return !!right[Symbol.hasInstance](left);
282
+ } else {
283
+ return left instanceof right;
284
+ }
285
+ }
286
+ function _wrapAsyncGenerator(fn) {
287
+ return function() {
288
+ return new AsyncGenerator(fn.apply(this, arguments));
289
+ };
290
+ }
291
+ var __generator = (void 0) && (void 0).__generator || function(thisArg, body) {
292
+ var f, y, t, g, _ = {
293
+ label: 0,
294
+ sent: function() {
295
+ if (t[0] & 1) throw t[1];
296
+ return t[1];
297
+ },
298
+ trys: [],
299
+ ops: []
300
+ };
301
+ return g = {
302
+ next: verb(0),
303
+ "throw": verb(1),
304
+ "return": verb(2)
305
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
306
+ return this;
307
+ }), g;
308
+ function verb(n) {
309
+ return function(v) {
310
+ return step([
311
+ n,
312
+ v
313
+ ]);
314
+ };
315
+ }
316
+ function step(op) {
317
+ if (f) throw new TypeError("Generator is already executing.");
318
+ while(_)try {
319
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
320
+ if (y = 0, t) op = [
321
+ op[0] & 2,
322
+ t.value
323
+ ];
324
+ switch(op[0]){
325
+ case 0:
326
+ case 1:
327
+ t = op;
328
+ break;
329
+ case 4:
330
+ _.label++;
331
+ return {
332
+ value: op[1],
333
+ done: false
334
+ };
335
+ case 5:
336
+ _.label++;
337
+ y = op[1];
338
+ op = [
339
+ 0
340
+ ];
341
+ continue;
342
+ case 7:
343
+ op = _.ops.pop();
344
+ _.trys.pop();
345
+ continue;
346
+ default:
347
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
348
+ _ = 0;
349
+ continue;
350
+ }
351
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
352
+ _.label = op[1];
353
+ break;
354
+ }
355
+ if (op[0] === 6 && _.label < t[1]) {
356
+ _.label = t[1];
357
+ t = op;
358
+ break;
359
+ }
360
+ if (t && _.label < t[2]) {
361
+ _.label = t[2];
362
+ _.ops.push(op);
363
+ break;
364
+ }
365
+ if (t[2]) _.ops.pop();
366
+ _.trys.pop();
367
+ continue;
368
+ }
369
+ op = body.call(thisArg, _);
370
+ } catch (e) {
371
+ op = [
372
+ 6,
373
+ e
374
+ ];
375
+ y = 0;
376
+ } finally{
377
+ f = t = 0;
378
+ }
379
+ if (op[0] & 5) throw op[1];
380
+ return {
381
+ value: op[0] ? op[1] : void 0,
382
+ done: true
383
+ };
384
+ }
385
+ };
386
+ var __values = (void 0) && (void 0).__values || function(o) {
387
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
388
+ if (m) return m.call(o);
389
+ if (o && typeof o.length === "number") return {
390
+ next: function() {
391
+ if (o && i >= o.length) o = void 0;
392
+ return {
393
+ value: o && o[i++],
394
+ done: !o
395
+ };
396
+ }
397
+ };
398
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
399
+ };
400
+ var _toStringTag, _hasInstance;
401
+ var /** @type {Array.<(Blob|Uint8Array)>} */ _parts, _type, _size, _endings;
402
+ // 64 KiB (same size chrome slice theirs blob into Uint8array's)
403
+ var POOL_SIZE = 65536;
404
+ function toIterator(parts) {
405
+ return _toIterator.apply(this, arguments);
406
+ }
407
+ function _toIterator() {
408
+ _toIterator = /** @param {(Blob | Uint8Array)[]} parts */ _wrapAsyncGenerator(function(parts) {
409
+ var clone, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, part, position, end, size, chunk, position1, b, chunk1, buffer, err;
410
+ var _arguments = arguments;
411
+ return __generator(this, function(_state) {
412
+ switch(_state.label){
413
+ case 0:
414
+ clone = _arguments.length > 1 && _arguments[1] !== void 0 ? _arguments[1] : true;
415
+ _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
416
+ _state.label = 1;
417
+ case 1:
418
+ _state.trys.push([
419
+ 1,
420
+ 17,
421
+ 18,
422
+ 19
423
+ ]);
424
+ _iterator = parts[Symbol.iterator]();
425
+ _state.label = 2;
426
+ case 2:
427
+ if (!!(_iteratorNormalCompletion = (_step = _iterator.next()).done)) return [
428
+ 3,
429
+ 16
430
+ ];
431
+ part = _step.value;
432
+ if (!("stream" in part)) return [
433
+ 3,
434
+ 4
435
+ ];
436
+ return [
437
+ 5,
438
+ __values(_asyncGeneratorDelegate(_asyncIterator(/** @type {AsyncIterableIterator<Uint8Array>} */ part.stream()), _awaitAsyncGenerator))
439
+ ];
440
+ case 3:
441
+ _state.sent();
442
+ return [
443
+ 3,
444
+ 15
445
+ ];
446
+ case 4:
447
+ if (!ArrayBuffer.isView(part)) return [
448
+ 3,
449
+ 11
450
+ ];
451
+ if (!clone) return [
452
+ 3,
453
+ 8
454
+ ];
455
+ position = part.byteOffset;
456
+ end = part.byteOffset + part.byteLength;
457
+ _state.label = 5;
458
+ case 5:
459
+ if (!(position !== end)) return [
460
+ 3,
461
+ 7
462
+ ];
463
+ size = Math.min(end - position, POOL_SIZE);
464
+ chunk = part.buffer.slice(position, position + size);
465
+ position += chunk.byteLength;
466
+ return [
467
+ 4,
468
+ new Uint8Array(chunk)
469
+ ];
470
+ case 6:
471
+ _state.sent();
472
+ return [
473
+ 3,
474
+ 5
475
+ ];
476
+ case 7:
477
+ return [
478
+ 3,
479
+ 10
480
+ ];
481
+ case 8:
482
+ return [
483
+ 4,
484
+ part
485
+ ];
486
+ case 9:
487
+ _state.sent();
488
+ _state.label = 10;
489
+ case 10:
490
+ return [
491
+ 3,
492
+ 15
493
+ ];
494
+ case 11:
495
+ position1 = 0, b = /** @type {Blob} */ part;
496
+ _state.label = 12;
497
+ case 12:
498
+ if (!(position1 !== b.size)) return [
499
+ 3,
500
+ 15
501
+ ];
502
+ chunk1 = b.slice(position1, Math.min(b.size, position1 + POOL_SIZE));
503
+ return [
504
+ 4,
505
+ _awaitAsyncGenerator(chunk1.arrayBuffer())
506
+ ];
507
+ case 13:
508
+ buffer = _state.sent();
509
+ position1 += buffer.byteLength;
510
+ return [
511
+ 4,
512
+ new Uint8Array(buffer)
513
+ ];
514
+ case 14:
515
+ _state.sent();
516
+ return [
517
+ 3,
518
+ 12
519
+ ];
520
+ case 15:
521
+ _iteratorNormalCompletion = true;
522
+ return [
523
+ 3,
524
+ 2
525
+ ];
526
+ case 16:
527
+ return [
528
+ 3,
529
+ 19
530
+ ];
531
+ case 17:
532
+ err = _state.sent();
533
+ _didIteratorError = true;
534
+ _iteratorError = err;
535
+ return [
536
+ 3,
537
+ 19
538
+ ];
539
+ case 18:
540
+ try {
541
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
542
+ _iterator.return();
543
+ }
544
+ } finally{
545
+ if (_didIteratorError) {
546
+ throw _iteratorError;
547
+ }
548
+ }
549
+ return [
550
+ 7
551
+ ];
552
+ case 19:
553
+ return [
554
+ 2
555
+ ];
556
+ }
557
+ });
558
+ });
559
+ return _toIterator.apply(this, arguments);
560
+ }
561
+ var _Blob = (_parts = /*#__PURE__*/ new WeakMap(), _type = /*#__PURE__*/ new WeakMap(), _size = /*#__PURE__*/ new WeakMap(), _endings = /*#__PURE__*/ new WeakMap(), _toStringTag = Symbol.toStringTag, _hasInstance = Symbol.hasInstance, /*#__PURE__*/ function() {
562
+ "use strict";
563
+ function Blob() {
564
+ var blobParts = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [], options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
565
+ _classCallCheck(this, Blob);
566
+ _classPrivateFieldInit(this, _parts, {
567
+ writable: true,
568
+ value: []
569
+ });
570
+ _classPrivateFieldInit(this, _type, {
571
+ writable: true,
572
+ value: ""
573
+ });
574
+ _classPrivateFieldInit(this, _size, {
575
+ writable: true,
576
+ value: 0
577
+ });
578
+ _classPrivateFieldInit(this, _endings, {
579
+ writable: true,
580
+ value: "transparent"
581
+ });
582
+ if (typeof blobParts !== "object" || blobParts === null) {
583
+ throw new TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence.");
584
+ }
585
+ if (typeof blobParts[Symbol.iterator] !== "function") {
586
+ throw new TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property.");
587
+ }
588
+ if (typeof options !== "object" && typeof options !== "function") {
589
+ throw new TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary.");
590
+ }
591
+ if (options === null) options = {};
592
+ var encoder = new TextEncoder();
593
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
594
+ try {
595
+ for(var _iterator = blobParts[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
596
+ var element = _step.value;
597
+ var part = void 0;
598
+ if (ArrayBuffer.isView(element)) {
599
+ part = new Uint8Array(element.buffer.slice(element.byteOffset, element.byteOffset + element.byteLength));
600
+ } else if (_instanceof(element, ArrayBuffer)) {
601
+ part = new Uint8Array(element.slice(0));
602
+ } else if (_instanceof(element, Blob)) {
603
+ part = element;
604
+ } else {
605
+ part = encoder.encode("".concat(element));
606
+ }
607
+ _classPrivateFieldSet(this, _size, _classPrivateFieldGet(this, _size) + (ArrayBuffer.isView(part) ? part.byteLength : part.size));
608
+ _classPrivateFieldGet(this, _parts).push(part);
609
+ }
610
+ } catch (err) {
611
+ _didIteratorError = true;
612
+ _iteratorError = err;
613
+ } finally{
614
+ try {
615
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
616
+ _iterator.return();
617
+ }
618
+ } finally{
619
+ if (_didIteratorError) {
620
+ throw _iteratorError;
621
+ }
622
+ }
623
+ }
624
+ _classPrivateFieldSet(this, _endings, "".concat(options.endings === undefined ? "transparent" : options.endings));
625
+ var type = options.type === undefined ? "" : String(options.type);
626
+ _classPrivateFieldSet(this, _type, /^[\x20-\x7E]*$/.test(type) ? type : "");
627
+ }
628
+ _createClass(Blob, [
629
+ {
630
+ key: "size",
631
+ get: /**
632
+ * The Blob interface's size property returns the
633
+ * size of the Blob in bytes.
634
+ */ function get() {
635
+ return _classPrivateFieldGet(this, _size);
636
+ }
637
+ },
638
+ {
639
+ key: "type",
640
+ get: /**
641
+ * The type property of a Blob object returns the MIME type of the file.
642
+ */ function get() {
643
+ return _classPrivateFieldGet(this, _type);
644
+ }
645
+ },
646
+ {
647
+ key: "text",
648
+ value: /**
649
+ * The text() method in the Blob interface returns a Promise
650
+ * that resolves with a string containing the contents of
651
+ * the blob, interpreted as UTF-8.
652
+ *
653
+ * @return {Promise<string>}
654
+ */ function text() {
655
+ var _this = this;
656
+ return _asyncToGenerator(function() {
657
+ var decoder, str, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, part, err;
658
+ return __generator(this, function(_state) {
659
+ switch(_state.label){
660
+ case 0:
661
+ decoder = new TextDecoder();
662
+ str = "";
663
+ _iteratorAbruptCompletion = false, _didIteratorError = false;
664
+ _state.label = 1;
665
+ case 1:
666
+ _state.trys.push([
667
+ 1,
668
+ 6,
669
+ 7,
670
+ 12
671
+ ]);
672
+ _iterator = _asyncIterator(toIterator(_classPrivateFieldGet(_this, _parts), false));
673
+ _state.label = 2;
674
+ case 2:
675
+ return [
676
+ 4,
677
+ _iterator.next()
678
+ ];
679
+ case 3:
680
+ if (!(_iteratorAbruptCompletion = !(_step = _state.sent()).done)) return [
681
+ 3,
682
+ 5
683
+ ];
684
+ _value = _step.value;
685
+ part = _value;
686
+ str += decoder.decode(part, {
687
+ stream: true
688
+ });
689
+ _state.label = 4;
690
+ case 4:
691
+ _iteratorAbruptCompletion = false;
692
+ return [
693
+ 3,
694
+ 2
695
+ ];
696
+ case 5:
697
+ return [
698
+ 3,
699
+ 12
700
+ ];
701
+ case 6:
702
+ err = _state.sent();
703
+ _didIteratorError = true;
704
+ _iteratorError = err;
705
+ return [
706
+ 3,
707
+ 12
708
+ ];
709
+ case 7:
710
+ _state.trys.push([
711
+ 7,
712
+ ,
713
+ 10,
714
+ 11
715
+ ]);
716
+ if (!(_iteratorAbruptCompletion && _iterator.return != null)) return [
717
+ 3,
718
+ 9
719
+ ];
720
+ return [
721
+ 4,
722
+ _iterator.return()
723
+ ];
724
+ case 8:
725
+ _state.sent();
726
+ _state.label = 9;
727
+ case 9:
728
+ return [
729
+ 3,
730
+ 11
731
+ ];
732
+ case 10:
733
+ if (_didIteratorError) {
734
+ throw _iteratorError;
735
+ }
736
+ return [
737
+ 7
738
+ ];
739
+ case 11:
740
+ return [
741
+ 7
742
+ ];
743
+ case 12:
744
+ // Remaining
745
+ str += decoder.decode();
746
+ return [
747
+ 2,
748
+ str
749
+ ];
750
+ }
751
+ });
752
+ })();
753
+ }
754
+ },
755
+ {
756
+ key: "arrayBuffer",
757
+ value: /**
758
+ * The arrayBuffer() method in the Blob interface returns a
759
+ * Promise that resolves with the contents of the blob as
760
+ * binary data contained in an ArrayBuffer.
761
+ *
762
+ * @return {Promise<ArrayBuffer>}
763
+ */ function arrayBuffer() {
764
+ var _this = this;
765
+ return _asyncToGenerator(function() {
766
+ var data, offset, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, chunk, err;
767
+ return __generator(this, function(_state) {
768
+ switch(_state.label){
769
+ case 0:
770
+ data = new Uint8Array(_this.size);
771
+ offset = 0;
772
+ _iteratorAbruptCompletion = false, _didIteratorError = false;
773
+ _state.label = 1;
774
+ case 1:
775
+ _state.trys.push([
776
+ 1,
777
+ 6,
778
+ 7,
779
+ 12
780
+ ]);
781
+ _iterator = _asyncIterator(toIterator(_classPrivateFieldGet(_this, _parts), false));
782
+ _state.label = 2;
783
+ case 2:
784
+ return [
785
+ 4,
786
+ _iterator.next()
787
+ ];
788
+ case 3:
789
+ if (!(_iteratorAbruptCompletion = !(_step = _state.sent()).done)) return [
790
+ 3,
791
+ 5
792
+ ];
793
+ _value = _step.value;
794
+ chunk = _value;
795
+ data.set(chunk, offset);
796
+ offset += chunk.length;
797
+ _state.label = 4;
798
+ case 4:
799
+ _iteratorAbruptCompletion = false;
800
+ return [
801
+ 3,
802
+ 2
803
+ ];
804
+ case 5:
805
+ return [
806
+ 3,
807
+ 12
808
+ ];
809
+ case 6:
810
+ err = _state.sent();
811
+ _didIteratorError = true;
812
+ _iteratorError = err;
813
+ return [
814
+ 3,
815
+ 12
816
+ ];
817
+ case 7:
818
+ _state.trys.push([
819
+ 7,
820
+ ,
821
+ 10,
822
+ 11
823
+ ]);
824
+ if (!(_iteratorAbruptCompletion && _iterator.return != null)) return [
825
+ 3,
826
+ 9
827
+ ];
828
+ return [
829
+ 4,
830
+ _iterator.return()
831
+ ];
832
+ case 8:
833
+ _state.sent();
834
+ _state.label = 9;
835
+ case 9:
836
+ return [
837
+ 3,
838
+ 11
839
+ ];
840
+ case 10:
841
+ if (_didIteratorError) {
842
+ throw _iteratorError;
843
+ }
844
+ return [
845
+ 7
846
+ ];
847
+ case 11:
848
+ return [
849
+ 7
850
+ ];
851
+ case 12:
852
+ return [
853
+ 2,
854
+ data.buffer
855
+ ];
856
+ }
857
+ });
858
+ })();
859
+ }
860
+ },
861
+ {
862
+ key: "stream",
863
+ value: function stream() {
864
+ var it = toIterator(_classPrivateFieldGet(this, _parts), true);
865
+ return new globalThis.ReadableStream({
866
+ // @ts-ignore
867
+ type: "bytes",
868
+ pull: function pull(ctrl) {
869
+ return _asyncToGenerator(function() {
870
+ var chunk;
871
+ return __generator(this, function(_state) {
872
+ switch(_state.label){
873
+ case 0:
874
+ return [
875
+ 4,
876
+ it.next()
877
+ ];
878
+ case 1:
879
+ chunk = _state.sent();
880
+ chunk.done ? ctrl.close() : ctrl.enqueue(chunk.value);
881
+ return [
882
+ 2
883
+ ];
884
+ }
885
+ });
886
+ })();
887
+ },
888
+ cancel: function cancel() {
889
+ return _asyncToGenerator(function() {
890
+ return __generator(this, function(_state) {
891
+ switch(_state.label){
892
+ case 0:
893
+ return [
894
+ 4,
895
+ it.return()
896
+ ];
897
+ case 1:
898
+ _state.sent();
899
+ return [
900
+ 2
901
+ ];
902
+ }
903
+ });
904
+ })();
905
+ }
906
+ });
907
+ }
908
+ },
909
+ {
910
+ /**
911
+ * The Blob interface's slice() method creates and returns a
912
+ * new Blob object which contains data from a subset of the
913
+ * blob on which it's called.
914
+ *
915
+ * @param {number} [start]
916
+ * @param {number} [end]
917
+ * @param {string} [type]
918
+ */ key: "slice",
919
+ value: function slice() {
920
+ var start = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0, end = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : this.size, type = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "";
921
+ var size = this.size;
922
+ var relativeStart = start < 0 ? Math.max(size + start, 0) : Math.min(start, size);
923
+ var relativeEnd = end < 0 ? Math.max(size + end, 0) : Math.min(end, size);
924
+ var span = Math.max(relativeEnd - relativeStart, 0);
925
+ var parts = _classPrivateFieldGet(this, _parts);
926
+ var blobParts = [];
927
+ var added = 0;
928
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
929
+ try {
930
+ for(var _iterator = parts[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
931
+ var part = _step.value;
932
+ // don't add the overflow to new blobParts
933
+ if (added >= span) {
934
+ break;
935
+ }
936
+ var size1 = ArrayBuffer.isView(part) ? part.byteLength : part.size;
937
+ if (relativeStart && size1 <= relativeStart) {
938
+ // Skip the beginning and change the relative
939
+ // start & end position as we skip the unwanted parts
940
+ relativeStart -= size1;
941
+ relativeEnd -= size1;
942
+ } else {
943
+ var chunk = void 0;
944
+ if (ArrayBuffer.isView(part)) {
945
+ chunk = part.subarray(relativeStart, Math.min(size1, relativeEnd));
946
+ added += chunk.byteLength;
947
+ } else {
948
+ chunk = part.slice(relativeStart, Math.min(size1, relativeEnd));
949
+ added += chunk.size;
950
+ }
951
+ relativeEnd -= size1;
952
+ blobParts.push(chunk);
953
+ relativeStart = 0 // All next sequential parts should start at 0
954
+ ;
955
+ }
956
+ }
957
+ } catch (err) {
958
+ _didIteratorError = true;
959
+ _iteratorError = err;
960
+ } finally{
961
+ try {
962
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
963
+ _iterator.return();
964
+ }
965
+ } finally{
966
+ if (_didIteratorError) {
967
+ throw _iteratorError;
968
+ }
969
+ }
970
+ }
971
+ var blob = new Blob([], {
972
+ type: String(type).toLowerCase()
973
+ });
974
+ _classPrivateFieldSet(blob, _size, span);
975
+ _classPrivateFieldSet(blob, _parts, blobParts);
976
+ return blob;
977
+ }
978
+ },
979
+ {
980
+ key: _toStringTag,
981
+ get: function get() {
982
+ return "Blob";
983
+ }
984
+ }
985
+ ], [
986
+ {
987
+ key: _hasInstance,
988
+ value: function value(object) {
989
+ return object && typeof object === "object" && typeof object.constructor === "function" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
990
+ }
991
+ }
992
+ ]);
993
+ return Blob;
994
+ }());
995
+ Object.defineProperties(_Blob.prototype, {
996
+ size: {
997
+ enumerable: true
998
+ },
999
+ type: {
1000
+ enumerable: true
1001
+ },
1002
+ slice: {
1003
+ enumerable: true
1004
+ }
1005
+ });
1006
+ var Blob = _Blob;
1007
+ var _default = Blob;