@loaders.gl/polyfills 3.1.0-beta.7 → 3.1.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.
Files changed (54) hide show
  1. package/dist/bundle.js +5 -3994
  2. package/dist/dist.min.js +3994 -0
  3. package/dist/es5/bundle.js +1 -1
  4. package/dist/es5/bundle.js.map +1 -1
  5. package/dist/es5/index.js +11 -9
  6. package/dist/es5/index.js.map +1 -1
  7. package/dist/es5/lib/encoding.js +20 -14
  8. package/dist/es5/lib/encoding.js.map +1 -1
  9. package/dist/es5/node/buffer/to-array-buffer.node.js +1 -1
  10. package/dist/es5/node/buffer/to-array-buffer.node.js.map +1 -1
  11. package/dist/es5/node/fetch/fetch.node.js +103 -61
  12. package/dist/es5/node/fetch/fetch.node.js.map +1 -1
  13. package/dist/es5/node/fetch/headers.node.js +112 -73
  14. package/dist/es5/node/fetch/headers.node.js.map +1 -1
  15. package/dist/es5/node/fetch/response.node.js +182 -47
  16. package/dist/es5/node/fetch/response.node.js.map +1 -1
  17. package/dist/es5/node/fetch/utils/decode-data-uri.node.js +18 -12
  18. package/dist/es5/node/fetch/utils/decode-data-uri.node.js.map +1 -1
  19. package/dist/es5/node/fetch/utils/stream-utils.node.js +156 -50
  20. package/dist/es5/node/fetch/utils/stream-utils.node.js.map +1 -1
  21. package/dist/es5/node/file/blob-stream-controller.js +82 -37
  22. package/dist/es5/node/file/blob-stream-controller.js.map +1 -1
  23. package/dist/es5/node/file/blob-stream.js +67 -12
  24. package/dist/es5/node/file/blob-stream.js.map +1 -1
  25. package/dist/es5/node/file/blob.js +209 -100
  26. package/dist/es5/node/file/blob.js.map +1 -1
  27. package/dist/es5/node/file/file-reader.js +147 -40
  28. package/dist/es5/node/file/file-reader.js.map +1 -1
  29. package/dist/es5/node/file/file.js +41 -13
  30. package/dist/es5/node/file/file.js.map +1 -1
  31. package/dist/es5/node/file/readable-stream.js +26 -1
  32. package/dist/es5/node/file/readable-stream.js.map +1 -1
  33. package/dist/es5/node/images/encode-image.node.js +10 -8
  34. package/dist/es5/node/images/encode-image.node.js.map +1 -1
  35. package/dist/es5/node/images/parse-image.node.js +44 -17
  36. package/dist/es5/node/images/parse-image.node.js.map +1 -1
  37. package/dist/es5/promise/all-settled.js +7 -7
  38. package/dist/es5/promise/all-settled.js.map +1 -1
  39. package/dist/es5/utils/globals.js +8 -3
  40. package/dist/es5/utils/globals.js.map +1 -1
  41. package/dist/esm/node/fetch/utils/decode-data-uri.node.js +1 -3
  42. package/dist/esm/node/fetch/utils/decode-data-uri.node.js.map +1 -1
  43. package/dist/esm/node/fetch/utils/stream-utils.node.js +21 -12
  44. package/dist/esm/node/fetch/utils/stream-utils.node.js.map +1 -1
  45. package/dist/lib/encoding.js +1 -1
  46. package/dist/node/fetch/utils/decode-data-uri.node.d.ts +4 -4
  47. package/dist/node/fetch/utils/decode-data-uri.node.d.ts.map +1 -1
  48. package/dist/node/fetch/utils/decode-data-uri.node.js +4 -2
  49. package/dist/node/fetch/utils/stream-utils.node.d.ts +8 -2
  50. package/dist/node/fetch/utils/stream-utils.node.d.ts.map +1 -1
  51. package/dist/node/fetch/utils/stream-utils.node.js +31 -13
  52. package/package.json +3 -3
  53. package/src/node/fetch/utils/decode-data-uri.node.ts +7 -6
  54. package/src/node/fetch/utils/stream-utils.node.ts +38 -15
@@ -7,144 +7,253 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.BlobPolyfill = void 0;
9
9
 
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
+
16
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
+
18
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
19
+
10
20
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
21
 
12
22
  var _blobStream = require("./blob-stream");
13
23
 
14
- let _Symbol$toStringTag;
24
+ var _Symbol$toStringTag;
25
+
26
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
27
+
28
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
29
+
30
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
15
31
 
16
32
  _Symbol$toStringTag = Symbol.toStringTag;
17
33
 
18
- class BlobPolyfill {
19
- constructor(init = [], options = {}) {
34
+ var BlobPolyfill = function () {
35
+ function BlobPolyfill() {
36
+ var init = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
37
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
38
+ (0, _classCallCheck2.default)(this, BlobPolyfill);
20
39
  (0, _defineProperty2.default)(this, "type", void 0);
21
40
  (0, _defineProperty2.default)(this, "size", void 0);
22
41
  (0, _defineProperty2.default)(this, "parts", void 0);
23
42
  this.parts = [];
24
43
  this.size = 0;
25
44
 
26
- for (const part of init) {
27
- if (typeof part === 'string') {
28
- const bytes = new TextEncoder().encode(part);
29
- this.parts.push(bytes);
30
- this.size += bytes.byteLength;
31
- } else if (part instanceof BlobPolyfill) {
32
- this.size += part.size;
33
- this.parts.push(...part.parts);
34
- } else if (part instanceof ArrayBuffer) {
35
- this.parts.push(new Uint8Array(part));
36
- this.size += part.byteLength;
37
- } else if (part instanceof Uint8Array) {
38
- this.parts.push(part);
39
- this.size += part.byteLength;
40
- } else if (ArrayBuffer.isView(part)) {
41
- const {
42
- buffer,
43
- byteOffset,
44
- byteLength
45
- } = part;
46
- this.parts.push(new Uint8Array(buffer, byteOffset, byteLength));
47
- this.size += byteLength;
48
- } else {
49
- const bytes = new TextEncoder().encode(String(part));
50
- this.parts.push(bytes);
51
- this.size += bytes.byteLength;
45
+ var _iterator = _createForOfIteratorHelper(init),
46
+ _step;
47
+
48
+ try {
49
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
50
+ var part = _step.value;
51
+
52
+ if (typeof part === 'string') {
53
+ var bytes = new TextEncoder().encode(part);
54
+ this.parts.push(bytes);
55
+ this.size += bytes.byteLength;
56
+ } else if (part instanceof BlobPolyfill) {
57
+ var _this$parts;
58
+
59
+ this.size += part.size;
60
+
61
+ (_this$parts = this.parts).push.apply(_this$parts, (0, _toConsumableArray2.default)(part.parts));
62
+ } else if (part instanceof ArrayBuffer) {
63
+ this.parts.push(new Uint8Array(part));
64
+ this.size += part.byteLength;
65
+ } else if (part instanceof Uint8Array) {
66
+ this.parts.push(part);
67
+ this.size += part.byteLength;
68
+ } else if (ArrayBuffer.isView(part)) {
69
+ var buffer = part.buffer,
70
+ byteOffset = part.byteOffset,
71
+ byteLength = part.byteLength;
72
+ this.parts.push(new Uint8Array(buffer, byteOffset, byteLength));
73
+ this.size += byteLength;
74
+ } else {
75
+ var _bytes = new TextEncoder().encode(String(part));
76
+
77
+ this.parts.push(_bytes);
78
+ this.size += _bytes.byteLength;
79
+ }
52
80
  }
81
+ } catch (err) {
82
+ _iterator.e(err);
83
+ } finally {
84
+ _iterator.f();
53
85
  }
54
86
 
55
87
  this.type = readType(options.type);
56
88
  }
57
89
 
58
- slice(start = 0, end = this.size, type = '') {
59
- const {
60
- size,
61
- parts: parts
62
- } = this;
63
- let offset = start < 0 ? Math.max(size + start, 0) : Math.min(start, size);
64
- let limit = end < 0 ? Math.max(size + end, 0) : Math.min(end, size);
65
- const span = Math.max(limit - offset, 0);
66
- const blob = new BlobPolyfill([], {
67
- type
68
- });
69
-
70
- if (span === 0) {
71
- return blob;
72
- }
90
+ (0, _createClass2.default)(BlobPolyfill, [{
91
+ key: "slice",
92
+ value: function slice() {
93
+ var start = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
94
+ var end = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.size;
95
+ var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
96
+ var size = this.size,
97
+ parts = this.parts;
98
+ var offset = start < 0 ? Math.max(size + start, 0) : Math.min(start, size);
99
+ var limit = end < 0 ? Math.max(size + end, 0) : Math.min(end, size);
100
+ var span = Math.max(limit - offset, 0);
101
+ var blob = new BlobPolyfill([], {
102
+ type: type
103
+ });
73
104
 
74
- let blobSize = 0;
75
- const blobParts = [];
76
-
77
- for (const part of parts) {
78
- const {
79
- byteLength
80
- } = part;
81
-
82
- if (offset > 0 && byteLength <= offset) {
83
- offset -= byteLength;
84
- limit -= byteLength;
85
- } else {
86
- const chunk = part.subarray(offset, Math.min(byteLength, limit));
87
- blobParts.push(chunk);
88
- blobSize += chunk.byteLength;
89
- offset = 0;
90
-
91
- if (blobSize >= span) {
92
- break;
93
- }
105
+ if (span === 0) {
106
+ return blob;
94
107
  }
95
- }
96
108
 
97
- blob.parts = blobParts;
98
- blob.size = blobSize;
99
- return blob;
100
- }
109
+ var blobSize = 0;
110
+ var blobParts = [];
101
111
 
102
- async arrayBuffer() {
103
- return this._toArrayBuffer();
104
- }
112
+ var _iterator2 = _createForOfIteratorHelper(parts),
113
+ _step2;
114
+
115
+ try {
116
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
117
+ var part = _step2.value;
118
+ var byteLength = part.byteLength;
105
119
 
106
- async text() {
107
- const decoder = new TextDecoder();
108
- let text = '';
120
+ if (offset > 0 && byteLength <= offset) {
121
+ offset -= byteLength;
122
+ limit -= byteLength;
123
+ } else {
124
+ var chunk = part.subarray(offset, Math.min(byteLength, limit));
125
+ blobParts.push(chunk);
126
+ blobSize += chunk.byteLength;
127
+ offset = 0;
109
128
 
110
- for (const part of this.parts) {
111
- text += decoder.decode(part);
129
+ if (blobSize >= span) {
130
+ break;
131
+ }
132
+ }
133
+ }
134
+ } catch (err) {
135
+ _iterator2.e(err);
136
+ } finally {
137
+ _iterator2.f();
138
+ }
139
+
140
+ blob.parts = blobParts;
141
+ blob.size = blobSize;
142
+ return blob;
112
143
  }
144
+ }, {
145
+ key: "arrayBuffer",
146
+ value: function () {
147
+ var _arrayBuffer = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() {
148
+ return _regenerator.default.wrap(function _callee$(_context) {
149
+ while (1) {
150
+ switch (_context.prev = _context.next) {
151
+ case 0:
152
+ return _context.abrupt("return", this._toArrayBuffer());
113
153
 
114
- return text;
115
- }
154
+ case 1:
155
+ case "end":
156
+ return _context.stop();
157
+ }
158
+ }
159
+ }, _callee, this);
160
+ }));
116
161
 
117
- stream() {
118
- return new _blobStream.BlobStream(this.parts);
119
- }
162
+ function arrayBuffer() {
163
+ return _arrayBuffer.apply(this, arguments);
164
+ }
120
165
 
121
- toString() {
122
- return '[object Blob]';
123
- }
166
+ return arrayBuffer;
167
+ }()
168
+ }, {
169
+ key: "text",
170
+ value: function () {
171
+ var _text = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2() {
172
+ var decoder, text, _iterator3, _step3, part;
124
173
 
125
- get [_Symbol$toStringTag]() {
126
- return 'Blob';
127
- }
174
+ return _regenerator.default.wrap(function _callee2$(_context2) {
175
+ while (1) {
176
+ switch (_context2.prev = _context2.next) {
177
+ case 0:
178
+ decoder = new TextDecoder();
179
+ text = '';
180
+ _iterator3 = _createForOfIteratorHelper(this.parts);
181
+
182
+ try {
183
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
184
+ part = _step3.value;
185
+ text += decoder.decode(part);
186
+ }
187
+ } catch (err) {
188
+ _iterator3.e(err);
189
+ } finally {
190
+ _iterator3.f();
191
+ }
192
+
193
+ return _context2.abrupt("return", text);
128
194
 
129
- _toArrayBuffer() {
130
- const buffer = new ArrayBuffer(this.size);
131
- const bytes = new Uint8Array(buffer);
132
- let offset = 0;
195
+ case 5:
196
+ case "end":
197
+ return _context2.stop();
198
+ }
199
+ }
200
+ }, _callee2, this);
201
+ }));
133
202
 
134
- for (const part of this.parts) {
135
- bytes.set(part, offset);
136
- offset += part.byteLength;
203
+ function text() {
204
+ return _text.apply(this, arguments);
205
+ }
206
+
207
+ return text;
208
+ }()
209
+ }, {
210
+ key: "stream",
211
+ value: function stream() {
212
+ return new _blobStream.BlobStream(this.parts);
213
+ }
214
+ }, {
215
+ key: "toString",
216
+ value: function toString() {
217
+ return '[object Blob]';
137
218
  }
219
+ }, {
220
+ key: _Symbol$toStringTag,
221
+ get: function get() {
222
+ return 'Blob';
223
+ }
224
+ }, {
225
+ key: "_toArrayBuffer",
226
+ value: function _toArrayBuffer() {
227
+ var buffer = new ArrayBuffer(this.size);
228
+ var bytes = new Uint8Array(buffer);
229
+ var offset = 0;
138
230
 
139
- return buffer;
140
- }
231
+ var _iterator4 = _createForOfIteratorHelper(this.parts),
232
+ _step4;
141
233
 
142
- }
234
+ try {
235
+ for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
236
+ var part = _step4.value;
237
+ bytes.set(part, offset);
238
+ offset += part.byteLength;
239
+ }
240
+ } catch (err) {
241
+ _iterator4.e(err);
242
+ } finally {
243
+ _iterator4.f();
244
+ }
245
+
246
+ return buffer;
247
+ }
248
+ }]);
249
+ return BlobPolyfill;
250
+ }();
143
251
 
144
252
  exports.BlobPolyfill = BlobPolyfill;
145
253
 
146
- function readType(input = '') {
147
- const type = String(input).toLowerCase();
254
+ function readType() {
255
+ var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
256
+ var type = String(input).toLowerCase();
148
257
  return /[^\u0020-\u007E]/.test(type) ? '' : type;
149
258
  }
150
259
  //# sourceMappingURL=blob.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/node/file/blob.ts"],"names":["Symbol","toStringTag","BlobPolyfill","constructor","init","options","parts","size","part","bytes","TextEncoder","encode","push","byteLength","ArrayBuffer","Uint8Array","isView","buffer","byteOffset","String","type","readType","slice","start","end","offset","Math","max","min","limit","span","blob","blobSize","blobParts","chunk","subarray","arrayBuffer","_toArrayBuffer","text","decoder","TextDecoder","decode","stream","BlobStream","toString","set","input","toLowerCase","test"],"mappings":"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","sourcesContent":["// Forked from @gozala's web-blob under MIT license https://github.com/Gozala/web-blob\nimport {BlobStream} from './blob-stream';\n\n/**\n * Forked from @gozala's web-blob under MIT license\n * @see https://github.com/Gozala/web-blob\n */\nexport class BlobPolyfill {\n // implements Blob {\n /** The MIME type of the data contained in the Blob. If type is unknown, string is empty. */\n readonly type: string;\n /** The size, in bytes, of the data contained in the Blob object. */\n size: number;\n private parts: Uint8Array[];\n /**\n * @param [init]\n * @param [options]\n */\n constructor(init: BlobPart[] = [], options: BlobPropertyBag = {}) {\n this.parts = [];\n\n this.size = 0;\n for (const part of init) {\n if (typeof part === 'string') {\n const bytes = new TextEncoder().encode(part);\n this.parts.push(bytes);\n this.size += bytes.byteLength;\n } else if (part instanceof BlobPolyfill) {\n this.size += part.size;\n // @ts-ignore - `parts` is marked private so TS will complain about\n // accessing it.\n this.parts.push(...part.parts);\n } else if (part instanceof ArrayBuffer) {\n this.parts.push(new Uint8Array(part));\n this.size += part.byteLength;\n } else if (part instanceof Uint8Array) {\n this.parts.push(part);\n this.size += part.byteLength;\n } else if (ArrayBuffer.isView(part)) {\n const {buffer, byteOffset, byteLength} = part;\n this.parts.push(new Uint8Array(buffer, byteOffset, byteLength));\n this.size += byteLength;\n } else {\n const bytes = new TextEncoder().encode(String(part));\n this.parts.push(bytes);\n this.size += bytes.byteLength;\n }\n }\n\n /** @private */\n this.type = readType(options.type);\n }\n\n /**\n * Returns a new Blob object containing the data in the specified range of\n * bytes of the blob on which it's called.\n * @param start=0 - An index into the Blob indicating the first\n * byte to include in the new Blob. If you specify a negative value, it's\n * treated as an offset from the end of the Blob toward the beginning. For\n * example, `-10` would be the 10th from last byte in the Blob. The default\n * value is `0`. If you specify a value for start that is larger than the\n * size of the source Blob, the returned Blob has size 0 and contains no\n * data.\n * @param end - An index into the `Blob` indicating the first byte\n * that will *not* be included in the new `Blob` (i.e. the byte exactly at\n * this index is not included). If you specify a negative value, it's treated\n * as an offset from the end of the Blob toward the beginning. For example,\n * `-10` would be the 10th from last byte in the `Blob`. The default value is\n * size.\n * @param type - The content type to assign to the new Blob;\n * this will be the value of its type property. The default value is an empty\n * string.\n */\n slice(start: number = 0, end: number = this.size, type: string = ''): Blob {\n const {size, parts: parts} = this;\n let offset = start < 0 ? Math.max(size + start, 0) : Math.min(start, size);\n\n let limit = end < 0 ? Math.max(size + end, 0) : Math.min(end, size);\n const span = Math.max(limit - offset, 0);\n const blob = new BlobPolyfill([], {type});\n\n if (span === 0) {\n // @ts-ignore\n return blob;\n }\n\n let blobSize = 0;\n const blobParts: Uint8Array[] = [];\n for (const part of parts) {\n const {byteLength} = part;\n if (offset > 0 && byteLength <= offset) {\n offset -= byteLength;\n limit -= byteLength;\n } else {\n const chunk = part.subarray(offset, Math.min(byteLength, limit));\n blobParts.push(chunk);\n blobSize += chunk.byteLength;\n // no longer need to take that into account\n offset = 0;\n\n // don't add the overflow to new blobParts\n if (blobSize >= span) {\n break;\n }\n }\n }\n\n blob.parts = blobParts;\n blob.size = blobSize;\n\n // @ts-ignore\n return blob;\n }\n\n /**\n * Returns a promise that resolves with an ArrayBuffer containing the entire\n * contents of the Blob as binary data.\n */\n // eslint-disable-next-line require-await\n async arrayBuffer(): Promise<ArrayBuffer> {\n return this._toArrayBuffer();\n }\n\n /**\n * Returns a promise that resolves with a USVString containing the entire\n * contents of the Blob interpreted as UTF-8 text.\n */\n // eslint-disable-next-line require-await\n async text(): Promise<string> {\n const decoder = new TextDecoder();\n let text = '';\n for (const part of this.parts) {\n text += decoder.decode(part);\n }\n return text;\n }\n\n /**\n */\n // @ts-ignore\n stream(): BlobStream<any> {\n return new BlobStream<any>(this.parts);\n }\n\n /**\n * @returns {string}\n */\n toString() {\n return '[object Blob]';\n }\n\n get [Symbol.toStringTag]() {\n return 'Blob';\n }\n\n _toArrayBuffer(): ArrayBuffer {\n const buffer = new ArrayBuffer(this.size);\n const bytes = new Uint8Array(buffer);\n let offset = 0;\n for (const part of this.parts) {\n bytes.set(part, offset);\n offset += part.byteLength;\n }\n return buffer;\n }\n}\n\n/**\n */\nfunction readType(input: string = ''): string {\n const type = String(input).toLowerCase();\n return /[^\\u0020-\\u007E]/.test(type) ? '' : type;\n}\n"],"file":"blob.js"}
1
+ {"version":3,"sources":["../../../../src/node/file/blob.ts"],"names":["Symbol","toStringTag","BlobPolyfill","init","options","parts","size","part","bytes","TextEncoder","encode","push","byteLength","ArrayBuffer","Uint8Array","isView","buffer","byteOffset","String","type","readType","start","end","offset","Math","max","min","limit","span","blob","blobSize","blobParts","chunk","subarray","_toArrayBuffer","decoder","TextDecoder","text","decode","BlobStream","set","input","toLowerCase","test"],"mappings":"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","sourcesContent":["// Forked from @gozala's web-blob under MIT license https://github.com/Gozala/web-blob\nimport {BlobStream} from './blob-stream';\n\n/**\n * Forked from @gozala's web-blob under MIT license\n * @see https://github.com/Gozala/web-blob\n */\nexport class BlobPolyfill {\n // implements Blob {\n /** The MIME type of the data contained in the Blob. If type is unknown, string is empty. */\n readonly type: string;\n /** The size, in bytes, of the data contained in the Blob object. */\n size: number;\n private parts: Uint8Array[];\n /**\n * @param [init]\n * @param [options]\n */\n constructor(init: BlobPart[] = [], options: BlobPropertyBag = {}) {\n this.parts = [];\n\n this.size = 0;\n for (const part of init) {\n if (typeof part === 'string') {\n const bytes = new TextEncoder().encode(part);\n this.parts.push(bytes);\n this.size += bytes.byteLength;\n } else if (part instanceof BlobPolyfill) {\n this.size += part.size;\n // @ts-ignore - `parts` is marked private so TS will complain about\n // accessing it.\n this.parts.push(...part.parts);\n } else if (part instanceof ArrayBuffer) {\n this.parts.push(new Uint8Array(part));\n this.size += part.byteLength;\n } else if (part instanceof Uint8Array) {\n this.parts.push(part);\n this.size += part.byteLength;\n } else if (ArrayBuffer.isView(part)) {\n const {buffer, byteOffset, byteLength} = part;\n this.parts.push(new Uint8Array(buffer, byteOffset, byteLength));\n this.size += byteLength;\n } else {\n const bytes = new TextEncoder().encode(String(part));\n this.parts.push(bytes);\n this.size += bytes.byteLength;\n }\n }\n\n /** @private */\n this.type = readType(options.type);\n }\n\n /**\n * Returns a new Blob object containing the data in the specified range of\n * bytes of the blob on which it's called.\n * @param start=0 - An index into the Blob indicating the first\n * byte to include in the new Blob. If you specify a negative value, it's\n * treated as an offset from the end of the Blob toward the beginning. For\n * example, `-10` would be the 10th from last byte in the Blob. The default\n * value is `0`. If you specify a value for start that is larger than the\n * size of the source Blob, the returned Blob has size 0 and contains no\n * data.\n * @param end - An index into the `Blob` indicating the first byte\n * that will *not* be included in the new `Blob` (i.e. the byte exactly at\n * this index is not included). If you specify a negative value, it's treated\n * as an offset from the end of the Blob toward the beginning. For example,\n * `-10` would be the 10th from last byte in the `Blob`. The default value is\n * size.\n * @param type - The content type to assign to the new Blob;\n * this will be the value of its type property. The default value is an empty\n * string.\n */\n slice(start: number = 0, end: number = this.size, type: string = ''): Blob {\n const {size, parts: parts} = this;\n let offset = start < 0 ? Math.max(size + start, 0) : Math.min(start, size);\n\n let limit = end < 0 ? Math.max(size + end, 0) : Math.min(end, size);\n const span = Math.max(limit - offset, 0);\n const blob = new BlobPolyfill([], {type});\n\n if (span === 0) {\n // @ts-ignore\n return blob;\n }\n\n let blobSize = 0;\n const blobParts: Uint8Array[] = [];\n for (const part of parts) {\n const {byteLength} = part;\n if (offset > 0 && byteLength <= offset) {\n offset -= byteLength;\n limit -= byteLength;\n } else {\n const chunk = part.subarray(offset, Math.min(byteLength, limit));\n blobParts.push(chunk);\n blobSize += chunk.byteLength;\n // no longer need to take that into account\n offset = 0;\n\n // don't add the overflow to new blobParts\n if (blobSize >= span) {\n break;\n }\n }\n }\n\n blob.parts = blobParts;\n blob.size = blobSize;\n\n // @ts-ignore\n return blob;\n }\n\n /**\n * Returns a promise that resolves with an ArrayBuffer containing the entire\n * contents of the Blob as binary data.\n */\n // eslint-disable-next-line require-await\n async arrayBuffer(): Promise<ArrayBuffer> {\n return this._toArrayBuffer();\n }\n\n /**\n * Returns a promise that resolves with a USVString containing the entire\n * contents of the Blob interpreted as UTF-8 text.\n */\n // eslint-disable-next-line require-await\n async text(): Promise<string> {\n const decoder = new TextDecoder();\n let text = '';\n for (const part of this.parts) {\n text += decoder.decode(part);\n }\n return text;\n }\n\n /**\n */\n // @ts-ignore\n stream(): BlobStream<any> {\n return new BlobStream<any>(this.parts);\n }\n\n /**\n * @returns {string}\n */\n toString() {\n return '[object Blob]';\n }\n\n get [Symbol.toStringTag]() {\n return 'Blob';\n }\n\n _toArrayBuffer(): ArrayBuffer {\n const buffer = new ArrayBuffer(this.size);\n const bytes = new Uint8Array(buffer);\n let offset = 0;\n for (const part of this.parts) {\n bytes.set(part, offset);\n offset += part.byteLength;\n }\n return buffer;\n }\n}\n\n/**\n */\nfunction readType(input: string = ''): string {\n const type = String(input).toLowerCase();\n return /[^\\u0020-\\u007E]/.test(type) ? '' : type;\n}\n"],"file":"blob.js"}
@@ -7,12 +7,21 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.FileReaderPolyfill = void 0;
9
9
 
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
16
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
10
18
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
19
 
12
20
  var _btoa = require("../buffer/btoa.node");
13
21
 
14
- class FileReaderPolyfill {
15
- constructor() {
22
+ var FileReaderPolyfill = function () {
23
+ function FileReaderPolyfill() {
24
+ (0, _classCallCheck2.default)(this, FileReaderPolyfill);
16
25
  (0, _defineProperty2.default)(this, "onload", void 0);
17
26
  (0, _defineProperty2.default)(this, "onabort", void 0);
18
27
  (0, _defineProperty2.default)(this, "onerror", void 0);
@@ -31,52 +40,150 @@ class FileReaderPolyfill {
31
40
  this.onload = null;
32
41
  }
33
42
 
34
- abort() {
35
- return;
36
- }
43
+ (0, _createClass2.default)(FileReaderPolyfill, [{
44
+ key: "abort",
45
+ value: function abort() {
46
+ return;
47
+ }
48
+ }, {
49
+ key: "readAsArrayBuffer",
50
+ value: function () {
51
+ var _readAsArrayBuffer = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(blob) {
52
+ var arrayBuffer;
53
+ return _regenerator.default.wrap(function _callee$(_context) {
54
+ while (1) {
55
+ switch (_context.prev = _context.next) {
56
+ case 0:
57
+ _context.next = 2;
58
+ return blob.arrayBuffer();
37
59
 
38
- async readAsArrayBuffer(blob) {
39
- const arrayBuffer = await blob.arrayBuffer();
60
+ case 2:
61
+ arrayBuffer = _context.sent;
40
62
 
41
- if (this.onload) {
42
- this.onload({
43
- target: {
44
- result: arrayBuffer
45
- }
46
- });
47
- }
48
- }
63
+ if (this.onload) {
64
+ this.onload({
65
+ target: {
66
+ result: arrayBuffer
67
+ }
68
+ });
69
+ }
49
70
 
50
- async readAsBinaryString(blob) {
51
- throw Error('Not implemented');
52
- }
71
+ case 4:
72
+ case "end":
73
+ return _context.stop();
74
+ }
75
+ }
76
+ }, _callee, this);
77
+ }));
53
78
 
54
- async readAsDataURL(blob) {
55
- const text = await blob.text();
56
- const dataUrl = "data://;base64,".concat((0, _btoa.atob)(text));
79
+ function readAsArrayBuffer(_x) {
80
+ return _readAsArrayBuffer.apply(this, arguments);
81
+ }
57
82
 
58
- if (this.onload) {
59
- this.onload({
60
- target: {
61
- result: dataUrl
62
- }
63
- });
64
- }
65
- }
83
+ return readAsArrayBuffer;
84
+ }()
85
+ }, {
86
+ key: "readAsBinaryString",
87
+ value: function () {
88
+ var _readAsBinaryString = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(blob) {
89
+ return _regenerator.default.wrap(function _callee2$(_context2) {
90
+ while (1) {
91
+ switch (_context2.prev = _context2.next) {
92
+ case 0:
93
+ throw Error('Not implemented');
66
94
 
67
- async readAsText(blob) {
68
- const text = await blob.text();
95
+ case 1:
96
+ case "end":
97
+ return _context2.stop();
98
+ }
99
+ }
100
+ }, _callee2);
101
+ }));
69
102
 
70
- if (this.onload) {
71
- this.onload({
72
- target: {
73
- result: text
74
- }
75
- });
76
- }
77
- }
103
+ function readAsBinaryString(_x2) {
104
+ return _readAsBinaryString.apply(this, arguments);
105
+ }
106
+
107
+ return readAsBinaryString;
108
+ }()
109
+ }, {
110
+ key: "readAsDataURL",
111
+ value: function () {
112
+ var _readAsDataURL = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(blob) {
113
+ var text, dataUrl;
114
+ return _regenerator.default.wrap(function _callee3$(_context3) {
115
+ while (1) {
116
+ switch (_context3.prev = _context3.next) {
117
+ case 0:
118
+ _context3.next = 2;
119
+ return blob.text();
120
+
121
+ case 2:
122
+ text = _context3.sent;
123
+ dataUrl = "data://;base64,".concat((0, _btoa.atob)(text));
124
+
125
+ if (this.onload) {
126
+ this.onload({
127
+ target: {
128
+ result: dataUrl
129
+ }
130
+ });
131
+ }
132
+
133
+ case 5:
134
+ case "end":
135
+ return _context3.stop();
136
+ }
137
+ }
138
+ }, _callee3, this);
139
+ }));
140
+
141
+ function readAsDataURL(_x3) {
142
+ return _readAsDataURL.apply(this, arguments);
143
+ }
144
+
145
+ return readAsDataURL;
146
+ }()
147
+ }, {
148
+ key: "readAsText",
149
+ value: function () {
150
+ var _readAsText = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(blob) {
151
+ var text;
152
+ return _regenerator.default.wrap(function _callee4$(_context4) {
153
+ while (1) {
154
+ switch (_context4.prev = _context4.next) {
155
+ case 0:
156
+ _context4.next = 2;
157
+ return blob.text();
158
+
159
+ case 2:
160
+ text = _context4.sent;
161
+
162
+ if (this.onload) {
163
+ this.onload({
164
+ target: {
165
+ result: text
166
+ }
167
+ });
168
+ }
169
+
170
+ case 4:
171
+ case "end":
172
+ return _context4.stop();
173
+ }
174
+ }
175
+ }, _callee4, this);
176
+ }));
177
+
178
+ function readAsText(_x4) {
179
+ return _readAsText.apply(this, arguments);
180
+ }
78
181
 
79
- }
182
+ return readAsText;
183
+ }()
184
+ }]);
185
+ return FileReaderPolyfill;
186
+ }();
80
187
 
81
188
  exports.FileReaderPolyfill = FileReaderPolyfill;
82
189
  //# sourceMappingURL=file-reader.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/node/file/file-reader.ts"],"names":["FileReaderPolyfill","constructor","onload","abort","readAsArrayBuffer","blob","arrayBuffer","target","result","readAsBinaryString","Error","readAsDataURL","text","dataUrl","readAsText"],"mappings":";;;;;;;;;;;AAAA;;AAEO,MAAMA,kBAAN,CAA+C;AAmBpDC,EAAAA,WAAW,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACZ,SAAKC,MAAL,GAAc,IAAd;AACD;;AAEDC,EAAAA,KAAK,GAAS;AACZ;AACD;;AAEsB,QAAjBC,iBAAiB,CAACC,IAAD,EAA4B;AACjD,UAAMC,WAAW,GAAG,MAAMD,IAAI,CAACC,WAAL,EAA1B;;AACA,QAAI,KAAKJ,MAAT,EAAiB;AACf,WAAKA,MAAL,CAAY;AAACK,QAAAA,MAAM,EAAE;AAACC,UAAAA,MAAM,EAAEF;AAAT;AAAT,OAAZ;AACD;AACF;;AAEuB,QAAlBG,kBAAkB,CAACJ,IAAD,EAAO;AAC7B,UAAMK,KAAK,CAAC,iBAAD,CAAX;AACD;;AAEkB,QAAbC,aAAa,CAACN,IAAD,EAAO;AACxB,UAAMO,IAAI,GAAG,MAAMP,IAAI,CAACO,IAAL,EAAnB;AACA,UAAMC,OAAO,4BAAqB,gBAAKD,IAAL,CAArB,CAAb;;AACA,QAAI,KAAKV,MAAT,EAAiB;AACf,WAAKA,MAAL,CAAY;AAACK,QAAAA,MAAM,EAAE;AAACC,UAAAA,MAAM,EAAEK;AAAT;AAAT,OAAZ;AACD;AACF;;AAEe,QAAVC,UAAU,CAACT,IAAD,EAAO;AACrB,UAAMO,IAAI,GAAG,MAAMP,IAAI,CAACO,IAAL,EAAnB;;AACA,QAAI,KAAKV,MAAT,EAAiB;AACf,WAAKA,MAAL,CAAY;AAACK,QAAAA,MAAM,EAAE;AAACC,UAAAA,MAAM,EAAEI;AAAT;AAAT,OAAZ;AACD;AACF;;AAnDmD","sourcesContent":["import {atob} from '../buffer/btoa.node';\n\nexport class FileReaderPolyfill implements FileReader {\n // onload: ({result: any}) => void;\n onload;\n onabort;\n onerror;\n error;\n onloadstart;\n onloadend;\n onprogress;\n\n readyState;\n result;\n DONE;\n EMPTY;\n LOADING;\n addEventListener;\n removeEventListener;\n dispatchEvent;\n\n constructor() {\n this.onload = null;\n }\n\n abort(): void {\n return;\n }\n\n async readAsArrayBuffer(blob: Blob): Promise<void> {\n const arrayBuffer = await blob.arrayBuffer();\n if (this.onload) {\n this.onload({target: {result: arrayBuffer}});\n }\n }\n\n async readAsBinaryString(blob) {\n throw Error('Not implemented');\n }\n\n async readAsDataURL(blob) {\n const text = await blob.text();\n const dataUrl = `data://;base64,${atob(text)}`;\n if (this.onload) {\n this.onload({target: {result: dataUrl}});\n }\n }\n\n async readAsText(blob) {\n const text = await blob.text();\n if (this.onload) {\n this.onload({target: {result: text}});\n }\n }\n}\n"],"file":"file-reader.js"}
1
+ {"version":3,"sources":["../../../../src/node/file/file-reader.ts"],"names":["FileReaderPolyfill","onload","blob","arrayBuffer","target","result","Error","text","dataUrl"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;IAEaA,kB;AAmBX,gCAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACZ,SAAKC,MAAL,GAAc,IAAd;AACD;;;;WAED,iBAAc;AACZ;AACD;;;;yFAED,iBAAwBC,IAAxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAC4BA,IAAI,CAACC,WAAL,EAD5B;;AAAA;AACQA,gBAAAA,WADR;;AAEE,oBAAI,KAAKF,MAAT,EAAiB;AACf,uBAAKA,MAAL,CAAY;AAACG,oBAAAA,MAAM,EAAE;AAACC,sBAAAA,MAAM,EAAEF;AAAT;AAAT,mBAAZ;AACD;;AAJH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;0FAOA,kBAAyBD,IAAzB;AAAA;AAAA;AAAA;AAAA;AAAA,sBACQI,KAAK,CAAC,iBAAD,CADb;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;qFAIA,kBAAoBJ,IAApB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACqBA,IAAI,CAACK,IAAL,EADrB;;AAAA;AACQA,gBAAAA,IADR;AAEQC,gBAAAA,OAFR,4BAEoC,gBAAKD,IAAL,CAFpC;;AAGE,oBAAI,KAAKN,MAAT,EAAiB;AACf,uBAAKA,MAAL,CAAY;AAACG,oBAAAA,MAAM,EAAE;AAACC,sBAAAA,MAAM,EAAEG;AAAT;AAAT,mBAAZ;AACD;;AALH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;kFAQA,kBAAiBN,IAAjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACqBA,IAAI,CAACK,IAAL,EADrB;;AAAA;AACQA,gBAAAA,IADR;;AAEE,oBAAI,KAAKN,MAAT,EAAiB;AACf,uBAAKA,MAAL,CAAY;AAACG,oBAAAA,MAAM,EAAE;AAACC,sBAAAA,MAAM,EAAEE;AAAT;AAAT,mBAAZ;AACD;;AAJH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O","sourcesContent":["import {atob} from '../buffer/btoa.node';\n\nexport class FileReaderPolyfill implements FileReader {\n // onload: ({result: any}) => void;\n onload;\n onabort;\n onerror;\n error;\n onloadstart;\n onloadend;\n onprogress;\n\n readyState;\n result;\n DONE;\n EMPTY;\n LOADING;\n addEventListener;\n removeEventListener;\n dispatchEvent;\n\n constructor() {\n this.onload = null;\n }\n\n abort(): void {\n return;\n }\n\n async readAsArrayBuffer(blob: Blob): Promise<void> {\n const arrayBuffer = await blob.arrayBuffer();\n if (this.onload) {\n this.onload({target: {result: arrayBuffer}});\n }\n }\n\n async readAsBinaryString(blob) {\n throw Error('Not implemented');\n }\n\n async readAsDataURL(blob) {\n const text = await blob.text();\n const dataUrl = `data://;base64,${atob(text)}`;\n if (this.onload) {\n this.onload({target: {result: dataUrl}});\n }\n }\n\n async readAsText(blob) {\n const text = await blob.text();\n if (this.onload) {\n this.onload({target: {result: text}});\n }\n }\n}\n"],"file":"file-reader.js"}