scratch-storage 2.0.2 → 2.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/.circleci/config.yml +70 -0
- package/.nyc_output/c826ae6b-4ae2-4d8e-bdb2-162df5761fa7.json +1 -0
- package/.nyc_output/ec2d52a1-5131-4dd0-9c23-59106f297082.json +1 -0
- package/.nyc_output/processinfo/c826ae6b-4ae2-4d8e-bdb2-162df5761fa7.json +1 -0
- package/.nyc_output/processinfo/ec2d52a1-5131-4dd0-9c23-59106f297082.json +1 -0
- package/.nyc_output/processinfo/index.json +1 -0
- package/README.md +2 -1
- package/dist/node/8c63ecb0448dfbb8e804.worker.js +4187 -0
- package/dist/node/8c63ecb0448dfbb8e804.worker.js.map +1 -0
- package/dist/node/scratch-storage.js +2933 -142
- package/dist/node/scratch-storage.js.map +1 -1
- package/dist/web/90c5db0dff5ca2a36ff6.worker.js +743 -0
- package/dist/web/90c5db0dff5ca2a36ff6.worker.js.map +1 -0
- package/dist/web/scratch-storage.js +1149 -85
- package/dist/web/scratch-storage.js.map +1 -1
- package/dist/web/scratch-storage.min.js +1149 -85
- package/dist/web/scratch-storage.min.js.map +1 -1
- package/package.json +9 -4
- package/src/FetchTool.js +17 -13
- package/src/FetchWorkerTool.js +14 -7
- package/src/FetchWorkerTool.worker.js +6 -10
- package/src/scratchFetch.js +86 -0
- package/test/integration/download-known-assets.js +27 -30
- package/test/mocks/mockFetch.js +64 -0
- package/test/unit/fetch-tool.js +27 -44
- package/test/unit/metadata.js +136 -0
- package/webpack.config.js +9 -8
- package/.travis.yml +0 -24
- package/dist/node/f98711f696b187f5e007.worker.js +0 -1906
- package/dist/node/f98711f696b187f5e007.worker.js.map +0 -1
- package/dist/web/01b4fbd4d14a4f22cab8.worker.js +0 -190
- package/dist/web/01b4fbd4d14a4f22cab8.worker.js.map +0 -1
|
@@ -96,6 +96,381 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
|
96
96
|
/************************************************************************/
|
|
97
97
|
/******/ ({
|
|
98
98
|
|
|
99
|
+
/***/ "./node_modules/@babel/runtime/helpers/arrayLikeToArray.js":
|
|
100
|
+
/*!*****************************************************************!*\
|
|
101
|
+
!*** ./node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***!
|
|
102
|
+
\*****************************************************************/
|
|
103
|
+
/*! no static exports found */
|
|
104
|
+
/***/ (function(module, exports) {
|
|
105
|
+
|
|
106
|
+
function _arrayLikeToArray(arr, len) {
|
|
107
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
108
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
109
|
+
return arr2;
|
|
110
|
+
}
|
|
111
|
+
module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
112
|
+
|
|
113
|
+
/***/ }),
|
|
114
|
+
|
|
115
|
+
/***/ "./node_modules/@babel/runtime/helpers/arrayWithHoles.js":
|
|
116
|
+
/*!***************************************************************!*\
|
|
117
|
+
!*** ./node_modules/@babel/runtime/helpers/arrayWithHoles.js ***!
|
|
118
|
+
\***************************************************************/
|
|
119
|
+
/*! no static exports found */
|
|
120
|
+
/***/ (function(module, exports) {
|
|
121
|
+
|
|
122
|
+
function _arrayWithHoles(arr) {
|
|
123
|
+
if (Array.isArray(arr)) return arr;
|
|
124
|
+
}
|
|
125
|
+
module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
126
|
+
|
|
127
|
+
/***/ }),
|
|
128
|
+
|
|
129
|
+
/***/ "./node_modules/@babel/runtime/helpers/assertThisInitialized.js":
|
|
130
|
+
/*!**********************************************************************!*\
|
|
131
|
+
!*** ./node_modules/@babel/runtime/helpers/assertThisInitialized.js ***!
|
|
132
|
+
\**********************************************************************/
|
|
133
|
+
/*! no static exports found */
|
|
134
|
+
/***/ (function(module, exports) {
|
|
135
|
+
|
|
136
|
+
function _assertThisInitialized(self) {
|
|
137
|
+
if (self === void 0) {
|
|
138
|
+
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
139
|
+
}
|
|
140
|
+
return self;
|
|
141
|
+
}
|
|
142
|
+
module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
143
|
+
|
|
144
|
+
/***/ }),
|
|
145
|
+
|
|
146
|
+
/***/ "./node_modules/@babel/runtime/helpers/classCallCheck.js":
|
|
147
|
+
/*!***************************************************************!*\
|
|
148
|
+
!*** ./node_modules/@babel/runtime/helpers/classCallCheck.js ***!
|
|
149
|
+
\***************************************************************/
|
|
150
|
+
/*! no static exports found */
|
|
151
|
+
/***/ (function(module, exports) {
|
|
152
|
+
|
|
153
|
+
function _classCallCheck(instance, Constructor) {
|
|
154
|
+
if (!(instance instanceof Constructor)) {
|
|
155
|
+
throw new TypeError("Cannot call a class as a function");
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
159
|
+
|
|
160
|
+
/***/ }),
|
|
161
|
+
|
|
162
|
+
/***/ "./node_modules/@babel/runtime/helpers/createClass.js":
|
|
163
|
+
/*!************************************************************!*\
|
|
164
|
+
!*** ./node_modules/@babel/runtime/helpers/createClass.js ***!
|
|
165
|
+
\************************************************************/
|
|
166
|
+
/*! no static exports found */
|
|
167
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
168
|
+
|
|
169
|
+
var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "./node_modules/@babel/runtime/helpers/toPropertyKey.js");
|
|
170
|
+
function _defineProperties(target, props) {
|
|
171
|
+
for (var i = 0; i < props.length; i++) {
|
|
172
|
+
var descriptor = props[i];
|
|
173
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
174
|
+
descriptor.configurable = true;
|
|
175
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
176
|
+
Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
function _createClass(Constructor, protoProps, staticProps) {
|
|
180
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
181
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
182
|
+
Object.defineProperty(Constructor, "prototype", {
|
|
183
|
+
writable: false
|
|
184
|
+
});
|
|
185
|
+
return Constructor;
|
|
186
|
+
}
|
|
187
|
+
module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
188
|
+
|
|
189
|
+
/***/ }),
|
|
190
|
+
|
|
191
|
+
/***/ "./node_modules/@babel/runtime/helpers/getPrototypeOf.js":
|
|
192
|
+
/*!***************************************************************!*\
|
|
193
|
+
!*** ./node_modules/@babel/runtime/helpers/getPrototypeOf.js ***!
|
|
194
|
+
\***************************************************************/
|
|
195
|
+
/*! no static exports found */
|
|
196
|
+
/***/ (function(module, exports) {
|
|
197
|
+
|
|
198
|
+
function _getPrototypeOf(o) {
|
|
199
|
+
module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
|
|
200
|
+
return o.__proto__ || Object.getPrototypeOf(o);
|
|
201
|
+
}, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
202
|
+
return _getPrototypeOf(o);
|
|
203
|
+
}
|
|
204
|
+
module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
205
|
+
|
|
206
|
+
/***/ }),
|
|
207
|
+
|
|
208
|
+
/***/ "./node_modules/@babel/runtime/helpers/inherits.js":
|
|
209
|
+
/*!*********************************************************!*\
|
|
210
|
+
!*** ./node_modules/@babel/runtime/helpers/inherits.js ***!
|
|
211
|
+
\*********************************************************/
|
|
212
|
+
/*! no static exports found */
|
|
213
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
214
|
+
|
|
215
|
+
var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ "./node_modules/@babel/runtime/helpers/setPrototypeOf.js");
|
|
216
|
+
function _inherits(subClass, superClass) {
|
|
217
|
+
if (typeof superClass !== "function" && superClass !== null) {
|
|
218
|
+
throw new TypeError("Super expression must either be null or a function");
|
|
219
|
+
}
|
|
220
|
+
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
221
|
+
constructor: {
|
|
222
|
+
value: subClass,
|
|
223
|
+
writable: true,
|
|
224
|
+
configurable: true
|
|
225
|
+
}
|
|
226
|
+
});
|
|
227
|
+
Object.defineProperty(subClass, "prototype", {
|
|
228
|
+
writable: false
|
|
229
|
+
});
|
|
230
|
+
if (superClass) setPrototypeOf(subClass, superClass);
|
|
231
|
+
}
|
|
232
|
+
module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
233
|
+
|
|
234
|
+
/***/ }),
|
|
235
|
+
|
|
236
|
+
/***/ "./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js":
|
|
237
|
+
/*!*********************************************************************!*\
|
|
238
|
+
!*** ./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***!
|
|
239
|
+
\*********************************************************************/
|
|
240
|
+
/*! no static exports found */
|
|
241
|
+
/***/ (function(module, exports) {
|
|
242
|
+
|
|
243
|
+
function _iterableToArrayLimit(arr, i) {
|
|
244
|
+
var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
|
|
245
|
+
if (null != _i) {
|
|
246
|
+
var _s,
|
|
247
|
+
_e,
|
|
248
|
+
_x,
|
|
249
|
+
_r,
|
|
250
|
+
_arr = [],
|
|
251
|
+
_n = !0,
|
|
252
|
+
_d = !1;
|
|
253
|
+
try {
|
|
254
|
+
if (_x = (_i = _i.call(arr)).next, 0 === i) {
|
|
255
|
+
if (Object(_i) !== _i) return;
|
|
256
|
+
_n = !1;
|
|
257
|
+
} else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
|
|
258
|
+
} catch (err) {
|
|
259
|
+
_d = !0, _e = err;
|
|
260
|
+
} finally {
|
|
261
|
+
try {
|
|
262
|
+
if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return;
|
|
263
|
+
} finally {
|
|
264
|
+
if (_d) throw _e;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
return _arr;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
271
|
+
|
|
272
|
+
/***/ }),
|
|
273
|
+
|
|
274
|
+
/***/ "./node_modules/@babel/runtime/helpers/nonIterableRest.js":
|
|
275
|
+
/*!****************************************************************!*\
|
|
276
|
+
!*** ./node_modules/@babel/runtime/helpers/nonIterableRest.js ***!
|
|
277
|
+
\****************************************************************/
|
|
278
|
+
/*! no static exports found */
|
|
279
|
+
/***/ (function(module, exports) {
|
|
280
|
+
|
|
281
|
+
function _nonIterableRest() {
|
|
282
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
283
|
+
}
|
|
284
|
+
module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
285
|
+
|
|
286
|
+
/***/ }),
|
|
287
|
+
|
|
288
|
+
/***/ "./node_modules/@babel/runtime/helpers/objectWithoutProperties.js":
|
|
289
|
+
/*!************************************************************************!*\
|
|
290
|
+
!*** ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js ***!
|
|
291
|
+
\************************************************************************/
|
|
292
|
+
/*! no static exports found */
|
|
293
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
294
|
+
|
|
295
|
+
var objectWithoutPropertiesLoose = __webpack_require__(/*! ./objectWithoutPropertiesLoose.js */ "./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js");
|
|
296
|
+
function _objectWithoutProperties(source, excluded) {
|
|
297
|
+
if (source == null) return {};
|
|
298
|
+
var target = objectWithoutPropertiesLoose(source, excluded);
|
|
299
|
+
var key, i;
|
|
300
|
+
if (Object.getOwnPropertySymbols) {
|
|
301
|
+
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
302
|
+
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
|
303
|
+
key = sourceSymbolKeys[i];
|
|
304
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
305
|
+
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
306
|
+
target[key] = source[key];
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
return target;
|
|
310
|
+
}
|
|
311
|
+
module.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
312
|
+
|
|
313
|
+
/***/ }),
|
|
314
|
+
|
|
315
|
+
/***/ "./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js":
|
|
316
|
+
/*!*****************************************************************************!*\
|
|
317
|
+
!*** ./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js ***!
|
|
318
|
+
\*****************************************************************************/
|
|
319
|
+
/*! no static exports found */
|
|
320
|
+
/***/ (function(module, exports) {
|
|
321
|
+
|
|
322
|
+
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
323
|
+
if (source == null) return {};
|
|
324
|
+
var target = {};
|
|
325
|
+
var sourceKeys = Object.keys(source);
|
|
326
|
+
var key, i;
|
|
327
|
+
for (i = 0; i < sourceKeys.length; i++) {
|
|
328
|
+
key = sourceKeys[i];
|
|
329
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
330
|
+
target[key] = source[key];
|
|
331
|
+
}
|
|
332
|
+
return target;
|
|
333
|
+
}
|
|
334
|
+
module.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
335
|
+
|
|
336
|
+
/***/ }),
|
|
337
|
+
|
|
338
|
+
/***/ "./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js":
|
|
339
|
+
/*!**************************************************************************!*\
|
|
340
|
+
!*** ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js ***!
|
|
341
|
+
\**************************************************************************/
|
|
342
|
+
/*! no static exports found */
|
|
343
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
344
|
+
|
|
345
|
+
var _typeof = __webpack_require__(/*! ./typeof.js */ "./node_modules/@babel/runtime/helpers/typeof.js")["default"];
|
|
346
|
+
var assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized.js */ "./node_modules/@babel/runtime/helpers/assertThisInitialized.js");
|
|
347
|
+
function _possibleConstructorReturn(self, call) {
|
|
348
|
+
if (call && (_typeof(call) === "object" || typeof call === "function")) {
|
|
349
|
+
return call;
|
|
350
|
+
} else if (call !== void 0) {
|
|
351
|
+
throw new TypeError("Derived constructors may only return object or undefined");
|
|
352
|
+
}
|
|
353
|
+
return assertThisInitialized(self);
|
|
354
|
+
}
|
|
355
|
+
module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
356
|
+
|
|
357
|
+
/***/ }),
|
|
358
|
+
|
|
359
|
+
/***/ "./node_modules/@babel/runtime/helpers/setPrototypeOf.js":
|
|
360
|
+
/*!***************************************************************!*\
|
|
361
|
+
!*** ./node_modules/@babel/runtime/helpers/setPrototypeOf.js ***!
|
|
362
|
+
\***************************************************************/
|
|
363
|
+
/*! no static exports found */
|
|
364
|
+
/***/ (function(module, exports) {
|
|
365
|
+
|
|
366
|
+
function _setPrototypeOf(o, p) {
|
|
367
|
+
module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
|
|
368
|
+
o.__proto__ = p;
|
|
369
|
+
return o;
|
|
370
|
+
}, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
371
|
+
return _setPrototypeOf(o, p);
|
|
372
|
+
}
|
|
373
|
+
module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
374
|
+
|
|
375
|
+
/***/ }),
|
|
376
|
+
|
|
377
|
+
/***/ "./node_modules/@babel/runtime/helpers/slicedToArray.js":
|
|
378
|
+
/*!**************************************************************!*\
|
|
379
|
+
!*** ./node_modules/@babel/runtime/helpers/slicedToArray.js ***!
|
|
380
|
+
\**************************************************************/
|
|
381
|
+
/*! no static exports found */
|
|
382
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
383
|
+
|
|
384
|
+
var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ "./node_modules/@babel/runtime/helpers/arrayWithHoles.js");
|
|
385
|
+
var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ "./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js");
|
|
386
|
+
var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
|
|
387
|
+
var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ "./node_modules/@babel/runtime/helpers/nonIterableRest.js");
|
|
388
|
+
function _slicedToArray(arr, i) {
|
|
389
|
+
return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();
|
|
390
|
+
}
|
|
391
|
+
module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
392
|
+
|
|
393
|
+
/***/ }),
|
|
394
|
+
|
|
395
|
+
/***/ "./node_modules/@babel/runtime/helpers/toPrimitive.js":
|
|
396
|
+
/*!************************************************************!*\
|
|
397
|
+
!*** ./node_modules/@babel/runtime/helpers/toPrimitive.js ***!
|
|
398
|
+
\************************************************************/
|
|
399
|
+
/*! no static exports found */
|
|
400
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
401
|
+
|
|
402
|
+
var _typeof = __webpack_require__(/*! ./typeof.js */ "./node_modules/@babel/runtime/helpers/typeof.js")["default"];
|
|
403
|
+
function _toPrimitive(input, hint) {
|
|
404
|
+
if (_typeof(input) !== "object" || input === null) return input;
|
|
405
|
+
var prim = input[Symbol.toPrimitive];
|
|
406
|
+
if (prim !== undefined) {
|
|
407
|
+
var res = prim.call(input, hint || "default");
|
|
408
|
+
if (_typeof(res) !== "object") return res;
|
|
409
|
+
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
410
|
+
}
|
|
411
|
+
return (hint === "string" ? String : Number)(input);
|
|
412
|
+
}
|
|
413
|
+
module.exports = _toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
414
|
+
|
|
415
|
+
/***/ }),
|
|
416
|
+
|
|
417
|
+
/***/ "./node_modules/@babel/runtime/helpers/toPropertyKey.js":
|
|
418
|
+
/*!**************************************************************!*\
|
|
419
|
+
!*** ./node_modules/@babel/runtime/helpers/toPropertyKey.js ***!
|
|
420
|
+
\**************************************************************/
|
|
421
|
+
/*! no static exports found */
|
|
422
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
423
|
+
|
|
424
|
+
var _typeof = __webpack_require__(/*! ./typeof.js */ "./node_modules/@babel/runtime/helpers/typeof.js")["default"];
|
|
425
|
+
var toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ "./node_modules/@babel/runtime/helpers/toPrimitive.js");
|
|
426
|
+
function _toPropertyKey(arg) {
|
|
427
|
+
var key = toPrimitive(arg, "string");
|
|
428
|
+
return _typeof(key) === "symbol" ? key : String(key);
|
|
429
|
+
}
|
|
430
|
+
module.exports = _toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
431
|
+
|
|
432
|
+
/***/ }),
|
|
433
|
+
|
|
434
|
+
/***/ "./node_modules/@babel/runtime/helpers/typeof.js":
|
|
435
|
+
/*!*******************************************************!*\
|
|
436
|
+
!*** ./node_modules/@babel/runtime/helpers/typeof.js ***!
|
|
437
|
+
\*******************************************************/
|
|
438
|
+
/*! no static exports found */
|
|
439
|
+
/***/ (function(module, exports) {
|
|
440
|
+
|
|
441
|
+
function _typeof(obj) {
|
|
442
|
+
"@babel/helpers - typeof";
|
|
443
|
+
|
|
444
|
+
return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
|
|
445
|
+
return typeof obj;
|
|
446
|
+
} : function (obj) {
|
|
447
|
+
return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
|
|
448
|
+
}, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(obj);
|
|
449
|
+
}
|
|
450
|
+
module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
451
|
+
|
|
452
|
+
/***/ }),
|
|
453
|
+
|
|
454
|
+
/***/ "./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js":
|
|
455
|
+
/*!***************************************************************************!*\
|
|
456
|
+
!*** ./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***!
|
|
457
|
+
\***************************************************************************/
|
|
458
|
+
/*! no static exports found */
|
|
459
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
460
|
+
|
|
461
|
+
var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "./node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
|
|
462
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
463
|
+
if (!o) return;
|
|
464
|
+
if (typeof o === "string") return arrayLikeToArray(o, minLen);
|
|
465
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
466
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
467
|
+
if (n === "Map" || n === "Set") return Array.from(o);
|
|
468
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);
|
|
469
|
+
}
|
|
470
|
+
module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
471
|
+
|
|
472
|
+
/***/ }),
|
|
473
|
+
|
|
99
474
|
/***/ "./node_modules/arraybuffer-loader/index.js!./src/builtins/defaultBitmap.png":
|
|
100
475
|
/*!**************************************************************************!*\
|
|
101
476
|
!*** ./node_modules/arraybuffer-loader!./src/builtins/defaultBitmap.png ***!
|
|
@@ -2118,6 +2493,571 @@ function isnan (val) {
|
|
|
2118
2493
|
|
|
2119
2494
|
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js")))
|
|
2120
2495
|
|
|
2496
|
+
/***/ }),
|
|
2497
|
+
|
|
2498
|
+
/***/ "./node_modules/cross-fetch/dist/browser-ponyfill.js":
|
|
2499
|
+
/*!***********************************************************!*\
|
|
2500
|
+
!*** ./node_modules/cross-fetch/dist/browser-ponyfill.js ***!
|
|
2501
|
+
\***********************************************************/
|
|
2502
|
+
/*! no static exports found */
|
|
2503
|
+
/***/ (function(module, exports) {
|
|
2504
|
+
|
|
2505
|
+
var global = typeof self !== 'undefined' ? self : this;
|
|
2506
|
+
var __self__ = (function () {
|
|
2507
|
+
function F() {
|
|
2508
|
+
this.fetch = false;
|
|
2509
|
+
this.DOMException = global.DOMException
|
|
2510
|
+
}
|
|
2511
|
+
F.prototype = global;
|
|
2512
|
+
return new F();
|
|
2513
|
+
})();
|
|
2514
|
+
(function(self) {
|
|
2515
|
+
|
|
2516
|
+
var irrelevant = (function (exports) {
|
|
2517
|
+
|
|
2518
|
+
var support = {
|
|
2519
|
+
searchParams: 'URLSearchParams' in self,
|
|
2520
|
+
iterable: 'Symbol' in self && 'iterator' in Symbol,
|
|
2521
|
+
blob:
|
|
2522
|
+
'FileReader' in self &&
|
|
2523
|
+
'Blob' in self &&
|
|
2524
|
+
(function() {
|
|
2525
|
+
try {
|
|
2526
|
+
new Blob();
|
|
2527
|
+
return true
|
|
2528
|
+
} catch (e) {
|
|
2529
|
+
return false
|
|
2530
|
+
}
|
|
2531
|
+
})(),
|
|
2532
|
+
formData: 'FormData' in self,
|
|
2533
|
+
arrayBuffer: 'ArrayBuffer' in self
|
|
2534
|
+
};
|
|
2535
|
+
|
|
2536
|
+
function isDataView(obj) {
|
|
2537
|
+
return obj && DataView.prototype.isPrototypeOf(obj)
|
|
2538
|
+
}
|
|
2539
|
+
|
|
2540
|
+
if (support.arrayBuffer) {
|
|
2541
|
+
var viewClasses = [
|
|
2542
|
+
'[object Int8Array]',
|
|
2543
|
+
'[object Uint8Array]',
|
|
2544
|
+
'[object Uint8ClampedArray]',
|
|
2545
|
+
'[object Int16Array]',
|
|
2546
|
+
'[object Uint16Array]',
|
|
2547
|
+
'[object Int32Array]',
|
|
2548
|
+
'[object Uint32Array]',
|
|
2549
|
+
'[object Float32Array]',
|
|
2550
|
+
'[object Float64Array]'
|
|
2551
|
+
];
|
|
2552
|
+
|
|
2553
|
+
var isArrayBufferView =
|
|
2554
|
+
ArrayBuffer.isView ||
|
|
2555
|
+
function(obj) {
|
|
2556
|
+
return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1
|
|
2557
|
+
};
|
|
2558
|
+
}
|
|
2559
|
+
|
|
2560
|
+
function normalizeName(name) {
|
|
2561
|
+
if (typeof name !== 'string') {
|
|
2562
|
+
name = String(name);
|
|
2563
|
+
}
|
|
2564
|
+
if (/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(name)) {
|
|
2565
|
+
throw new TypeError('Invalid character in header field name')
|
|
2566
|
+
}
|
|
2567
|
+
return name.toLowerCase()
|
|
2568
|
+
}
|
|
2569
|
+
|
|
2570
|
+
function normalizeValue(value) {
|
|
2571
|
+
if (typeof value !== 'string') {
|
|
2572
|
+
value = String(value);
|
|
2573
|
+
}
|
|
2574
|
+
return value
|
|
2575
|
+
}
|
|
2576
|
+
|
|
2577
|
+
// Build a destructive iterator for the value list
|
|
2578
|
+
function iteratorFor(items) {
|
|
2579
|
+
var iterator = {
|
|
2580
|
+
next: function() {
|
|
2581
|
+
var value = items.shift();
|
|
2582
|
+
return {done: value === undefined, value: value}
|
|
2583
|
+
}
|
|
2584
|
+
};
|
|
2585
|
+
|
|
2586
|
+
if (support.iterable) {
|
|
2587
|
+
iterator[Symbol.iterator] = function() {
|
|
2588
|
+
return iterator
|
|
2589
|
+
};
|
|
2590
|
+
}
|
|
2591
|
+
|
|
2592
|
+
return iterator
|
|
2593
|
+
}
|
|
2594
|
+
|
|
2595
|
+
function Headers(headers) {
|
|
2596
|
+
this.map = {};
|
|
2597
|
+
|
|
2598
|
+
if (headers instanceof Headers) {
|
|
2599
|
+
headers.forEach(function(value, name) {
|
|
2600
|
+
this.append(name, value);
|
|
2601
|
+
}, this);
|
|
2602
|
+
} else if (Array.isArray(headers)) {
|
|
2603
|
+
headers.forEach(function(header) {
|
|
2604
|
+
this.append(header[0], header[1]);
|
|
2605
|
+
}, this);
|
|
2606
|
+
} else if (headers) {
|
|
2607
|
+
Object.getOwnPropertyNames(headers).forEach(function(name) {
|
|
2608
|
+
this.append(name, headers[name]);
|
|
2609
|
+
}, this);
|
|
2610
|
+
}
|
|
2611
|
+
}
|
|
2612
|
+
|
|
2613
|
+
Headers.prototype.append = function(name, value) {
|
|
2614
|
+
name = normalizeName(name);
|
|
2615
|
+
value = normalizeValue(value);
|
|
2616
|
+
var oldValue = this.map[name];
|
|
2617
|
+
this.map[name] = oldValue ? oldValue + ', ' + value : value;
|
|
2618
|
+
};
|
|
2619
|
+
|
|
2620
|
+
Headers.prototype['delete'] = function(name) {
|
|
2621
|
+
delete this.map[normalizeName(name)];
|
|
2622
|
+
};
|
|
2623
|
+
|
|
2624
|
+
Headers.prototype.get = function(name) {
|
|
2625
|
+
name = normalizeName(name);
|
|
2626
|
+
return this.has(name) ? this.map[name] : null
|
|
2627
|
+
};
|
|
2628
|
+
|
|
2629
|
+
Headers.prototype.has = function(name) {
|
|
2630
|
+
return this.map.hasOwnProperty(normalizeName(name))
|
|
2631
|
+
};
|
|
2632
|
+
|
|
2633
|
+
Headers.prototype.set = function(name, value) {
|
|
2634
|
+
this.map[normalizeName(name)] = normalizeValue(value);
|
|
2635
|
+
};
|
|
2636
|
+
|
|
2637
|
+
Headers.prototype.forEach = function(callback, thisArg) {
|
|
2638
|
+
for (var name in this.map) {
|
|
2639
|
+
if (this.map.hasOwnProperty(name)) {
|
|
2640
|
+
callback.call(thisArg, this.map[name], name, this);
|
|
2641
|
+
}
|
|
2642
|
+
}
|
|
2643
|
+
};
|
|
2644
|
+
|
|
2645
|
+
Headers.prototype.keys = function() {
|
|
2646
|
+
var items = [];
|
|
2647
|
+
this.forEach(function(value, name) {
|
|
2648
|
+
items.push(name);
|
|
2649
|
+
});
|
|
2650
|
+
return iteratorFor(items)
|
|
2651
|
+
};
|
|
2652
|
+
|
|
2653
|
+
Headers.prototype.values = function() {
|
|
2654
|
+
var items = [];
|
|
2655
|
+
this.forEach(function(value) {
|
|
2656
|
+
items.push(value);
|
|
2657
|
+
});
|
|
2658
|
+
return iteratorFor(items)
|
|
2659
|
+
};
|
|
2660
|
+
|
|
2661
|
+
Headers.prototype.entries = function() {
|
|
2662
|
+
var items = [];
|
|
2663
|
+
this.forEach(function(value, name) {
|
|
2664
|
+
items.push([name, value]);
|
|
2665
|
+
});
|
|
2666
|
+
return iteratorFor(items)
|
|
2667
|
+
};
|
|
2668
|
+
|
|
2669
|
+
if (support.iterable) {
|
|
2670
|
+
Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
|
|
2671
|
+
}
|
|
2672
|
+
|
|
2673
|
+
function consumed(body) {
|
|
2674
|
+
if (body.bodyUsed) {
|
|
2675
|
+
return Promise.reject(new TypeError('Already read'))
|
|
2676
|
+
}
|
|
2677
|
+
body.bodyUsed = true;
|
|
2678
|
+
}
|
|
2679
|
+
|
|
2680
|
+
function fileReaderReady(reader) {
|
|
2681
|
+
return new Promise(function(resolve, reject) {
|
|
2682
|
+
reader.onload = function() {
|
|
2683
|
+
resolve(reader.result);
|
|
2684
|
+
};
|
|
2685
|
+
reader.onerror = function() {
|
|
2686
|
+
reject(reader.error);
|
|
2687
|
+
};
|
|
2688
|
+
})
|
|
2689
|
+
}
|
|
2690
|
+
|
|
2691
|
+
function readBlobAsArrayBuffer(blob) {
|
|
2692
|
+
var reader = new FileReader();
|
|
2693
|
+
var promise = fileReaderReady(reader);
|
|
2694
|
+
reader.readAsArrayBuffer(blob);
|
|
2695
|
+
return promise
|
|
2696
|
+
}
|
|
2697
|
+
|
|
2698
|
+
function readBlobAsText(blob) {
|
|
2699
|
+
var reader = new FileReader();
|
|
2700
|
+
var promise = fileReaderReady(reader);
|
|
2701
|
+
reader.readAsText(blob);
|
|
2702
|
+
return promise
|
|
2703
|
+
}
|
|
2704
|
+
|
|
2705
|
+
function readArrayBufferAsText(buf) {
|
|
2706
|
+
var view = new Uint8Array(buf);
|
|
2707
|
+
var chars = new Array(view.length);
|
|
2708
|
+
|
|
2709
|
+
for (var i = 0; i < view.length; i++) {
|
|
2710
|
+
chars[i] = String.fromCharCode(view[i]);
|
|
2711
|
+
}
|
|
2712
|
+
return chars.join('')
|
|
2713
|
+
}
|
|
2714
|
+
|
|
2715
|
+
function bufferClone(buf) {
|
|
2716
|
+
if (buf.slice) {
|
|
2717
|
+
return buf.slice(0)
|
|
2718
|
+
} else {
|
|
2719
|
+
var view = new Uint8Array(buf.byteLength);
|
|
2720
|
+
view.set(new Uint8Array(buf));
|
|
2721
|
+
return view.buffer
|
|
2722
|
+
}
|
|
2723
|
+
}
|
|
2724
|
+
|
|
2725
|
+
function Body() {
|
|
2726
|
+
this.bodyUsed = false;
|
|
2727
|
+
|
|
2728
|
+
this._initBody = function(body) {
|
|
2729
|
+
this._bodyInit = body;
|
|
2730
|
+
if (!body) {
|
|
2731
|
+
this._bodyText = '';
|
|
2732
|
+
} else if (typeof body === 'string') {
|
|
2733
|
+
this._bodyText = body;
|
|
2734
|
+
} else if (support.blob && Blob.prototype.isPrototypeOf(body)) {
|
|
2735
|
+
this._bodyBlob = body;
|
|
2736
|
+
} else if (support.formData && FormData.prototype.isPrototypeOf(body)) {
|
|
2737
|
+
this._bodyFormData = body;
|
|
2738
|
+
} else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {
|
|
2739
|
+
this._bodyText = body.toString();
|
|
2740
|
+
} else if (support.arrayBuffer && support.blob && isDataView(body)) {
|
|
2741
|
+
this._bodyArrayBuffer = bufferClone(body.buffer);
|
|
2742
|
+
// IE 10-11 can't handle a DataView body.
|
|
2743
|
+
this._bodyInit = new Blob([this._bodyArrayBuffer]);
|
|
2744
|
+
} else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {
|
|
2745
|
+
this._bodyArrayBuffer = bufferClone(body);
|
|
2746
|
+
} else {
|
|
2747
|
+
this._bodyText = body = Object.prototype.toString.call(body);
|
|
2748
|
+
}
|
|
2749
|
+
|
|
2750
|
+
if (!this.headers.get('content-type')) {
|
|
2751
|
+
if (typeof body === 'string') {
|
|
2752
|
+
this.headers.set('content-type', 'text/plain;charset=UTF-8');
|
|
2753
|
+
} else if (this._bodyBlob && this._bodyBlob.type) {
|
|
2754
|
+
this.headers.set('content-type', this._bodyBlob.type);
|
|
2755
|
+
} else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {
|
|
2756
|
+
this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');
|
|
2757
|
+
}
|
|
2758
|
+
}
|
|
2759
|
+
};
|
|
2760
|
+
|
|
2761
|
+
if (support.blob) {
|
|
2762
|
+
this.blob = function() {
|
|
2763
|
+
var rejected = consumed(this);
|
|
2764
|
+
if (rejected) {
|
|
2765
|
+
return rejected
|
|
2766
|
+
}
|
|
2767
|
+
|
|
2768
|
+
if (this._bodyBlob) {
|
|
2769
|
+
return Promise.resolve(this._bodyBlob)
|
|
2770
|
+
} else if (this._bodyArrayBuffer) {
|
|
2771
|
+
return Promise.resolve(new Blob([this._bodyArrayBuffer]))
|
|
2772
|
+
} else if (this._bodyFormData) {
|
|
2773
|
+
throw new Error('could not read FormData body as blob')
|
|
2774
|
+
} else {
|
|
2775
|
+
return Promise.resolve(new Blob([this._bodyText]))
|
|
2776
|
+
}
|
|
2777
|
+
};
|
|
2778
|
+
|
|
2779
|
+
this.arrayBuffer = function() {
|
|
2780
|
+
if (this._bodyArrayBuffer) {
|
|
2781
|
+
return consumed(this) || Promise.resolve(this._bodyArrayBuffer)
|
|
2782
|
+
} else {
|
|
2783
|
+
return this.blob().then(readBlobAsArrayBuffer)
|
|
2784
|
+
}
|
|
2785
|
+
};
|
|
2786
|
+
}
|
|
2787
|
+
|
|
2788
|
+
this.text = function() {
|
|
2789
|
+
var rejected = consumed(this);
|
|
2790
|
+
if (rejected) {
|
|
2791
|
+
return rejected
|
|
2792
|
+
}
|
|
2793
|
+
|
|
2794
|
+
if (this._bodyBlob) {
|
|
2795
|
+
return readBlobAsText(this._bodyBlob)
|
|
2796
|
+
} else if (this._bodyArrayBuffer) {
|
|
2797
|
+
return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))
|
|
2798
|
+
} else if (this._bodyFormData) {
|
|
2799
|
+
throw new Error('could not read FormData body as text')
|
|
2800
|
+
} else {
|
|
2801
|
+
return Promise.resolve(this._bodyText)
|
|
2802
|
+
}
|
|
2803
|
+
};
|
|
2804
|
+
|
|
2805
|
+
if (support.formData) {
|
|
2806
|
+
this.formData = function() {
|
|
2807
|
+
return this.text().then(decode)
|
|
2808
|
+
};
|
|
2809
|
+
}
|
|
2810
|
+
|
|
2811
|
+
this.json = function() {
|
|
2812
|
+
return this.text().then(JSON.parse)
|
|
2813
|
+
};
|
|
2814
|
+
|
|
2815
|
+
return this
|
|
2816
|
+
}
|
|
2817
|
+
|
|
2818
|
+
// HTTP methods whose capitalization should be normalized
|
|
2819
|
+
var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];
|
|
2820
|
+
|
|
2821
|
+
function normalizeMethod(method) {
|
|
2822
|
+
var upcased = method.toUpperCase();
|
|
2823
|
+
return methods.indexOf(upcased) > -1 ? upcased : method
|
|
2824
|
+
}
|
|
2825
|
+
|
|
2826
|
+
function Request(input, options) {
|
|
2827
|
+
options = options || {};
|
|
2828
|
+
var body = options.body;
|
|
2829
|
+
|
|
2830
|
+
if (input instanceof Request) {
|
|
2831
|
+
if (input.bodyUsed) {
|
|
2832
|
+
throw new TypeError('Already read')
|
|
2833
|
+
}
|
|
2834
|
+
this.url = input.url;
|
|
2835
|
+
this.credentials = input.credentials;
|
|
2836
|
+
if (!options.headers) {
|
|
2837
|
+
this.headers = new Headers(input.headers);
|
|
2838
|
+
}
|
|
2839
|
+
this.method = input.method;
|
|
2840
|
+
this.mode = input.mode;
|
|
2841
|
+
this.signal = input.signal;
|
|
2842
|
+
if (!body && input._bodyInit != null) {
|
|
2843
|
+
body = input._bodyInit;
|
|
2844
|
+
input.bodyUsed = true;
|
|
2845
|
+
}
|
|
2846
|
+
} else {
|
|
2847
|
+
this.url = String(input);
|
|
2848
|
+
}
|
|
2849
|
+
|
|
2850
|
+
this.credentials = options.credentials || this.credentials || 'same-origin';
|
|
2851
|
+
if (options.headers || !this.headers) {
|
|
2852
|
+
this.headers = new Headers(options.headers);
|
|
2853
|
+
}
|
|
2854
|
+
this.method = normalizeMethod(options.method || this.method || 'GET');
|
|
2855
|
+
this.mode = options.mode || this.mode || null;
|
|
2856
|
+
this.signal = options.signal || this.signal;
|
|
2857
|
+
this.referrer = null;
|
|
2858
|
+
|
|
2859
|
+
if ((this.method === 'GET' || this.method === 'HEAD') && body) {
|
|
2860
|
+
throw new TypeError('Body not allowed for GET or HEAD requests')
|
|
2861
|
+
}
|
|
2862
|
+
this._initBody(body);
|
|
2863
|
+
}
|
|
2864
|
+
|
|
2865
|
+
Request.prototype.clone = function() {
|
|
2866
|
+
return new Request(this, {body: this._bodyInit})
|
|
2867
|
+
};
|
|
2868
|
+
|
|
2869
|
+
function decode(body) {
|
|
2870
|
+
var form = new FormData();
|
|
2871
|
+
body
|
|
2872
|
+
.trim()
|
|
2873
|
+
.split('&')
|
|
2874
|
+
.forEach(function(bytes) {
|
|
2875
|
+
if (bytes) {
|
|
2876
|
+
var split = bytes.split('=');
|
|
2877
|
+
var name = split.shift().replace(/\+/g, ' ');
|
|
2878
|
+
var value = split.join('=').replace(/\+/g, ' ');
|
|
2879
|
+
form.append(decodeURIComponent(name), decodeURIComponent(value));
|
|
2880
|
+
}
|
|
2881
|
+
});
|
|
2882
|
+
return form
|
|
2883
|
+
}
|
|
2884
|
+
|
|
2885
|
+
function parseHeaders(rawHeaders) {
|
|
2886
|
+
var headers = new Headers();
|
|
2887
|
+
// Replace instances of \r\n and \n followed by at least one space or horizontal tab with a space
|
|
2888
|
+
// https://tools.ietf.org/html/rfc7230#section-3.2
|
|
2889
|
+
var preProcessedHeaders = rawHeaders.replace(/\r?\n[\t ]+/g, ' ');
|
|
2890
|
+
preProcessedHeaders.split(/\r?\n/).forEach(function(line) {
|
|
2891
|
+
var parts = line.split(':');
|
|
2892
|
+
var key = parts.shift().trim();
|
|
2893
|
+
if (key) {
|
|
2894
|
+
var value = parts.join(':').trim();
|
|
2895
|
+
headers.append(key, value);
|
|
2896
|
+
}
|
|
2897
|
+
});
|
|
2898
|
+
return headers
|
|
2899
|
+
}
|
|
2900
|
+
|
|
2901
|
+
Body.call(Request.prototype);
|
|
2902
|
+
|
|
2903
|
+
function Response(bodyInit, options) {
|
|
2904
|
+
if (!options) {
|
|
2905
|
+
options = {};
|
|
2906
|
+
}
|
|
2907
|
+
|
|
2908
|
+
this.type = 'default';
|
|
2909
|
+
this.status = options.status === undefined ? 200 : options.status;
|
|
2910
|
+
this.ok = this.status >= 200 && this.status < 300;
|
|
2911
|
+
this.statusText = 'statusText' in options ? options.statusText : 'OK';
|
|
2912
|
+
this.headers = new Headers(options.headers);
|
|
2913
|
+
this.url = options.url || '';
|
|
2914
|
+
this._initBody(bodyInit);
|
|
2915
|
+
}
|
|
2916
|
+
|
|
2917
|
+
Body.call(Response.prototype);
|
|
2918
|
+
|
|
2919
|
+
Response.prototype.clone = function() {
|
|
2920
|
+
return new Response(this._bodyInit, {
|
|
2921
|
+
status: this.status,
|
|
2922
|
+
statusText: this.statusText,
|
|
2923
|
+
headers: new Headers(this.headers),
|
|
2924
|
+
url: this.url
|
|
2925
|
+
})
|
|
2926
|
+
};
|
|
2927
|
+
|
|
2928
|
+
Response.error = function() {
|
|
2929
|
+
var response = new Response(null, {status: 0, statusText: ''});
|
|
2930
|
+
response.type = 'error';
|
|
2931
|
+
return response
|
|
2932
|
+
};
|
|
2933
|
+
|
|
2934
|
+
var redirectStatuses = [301, 302, 303, 307, 308];
|
|
2935
|
+
|
|
2936
|
+
Response.redirect = function(url, status) {
|
|
2937
|
+
if (redirectStatuses.indexOf(status) === -1) {
|
|
2938
|
+
throw new RangeError('Invalid status code')
|
|
2939
|
+
}
|
|
2940
|
+
|
|
2941
|
+
return new Response(null, {status: status, headers: {location: url}})
|
|
2942
|
+
};
|
|
2943
|
+
|
|
2944
|
+
exports.DOMException = self.DOMException;
|
|
2945
|
+
try {
|
|
2946
|
+
new exports.DOMException();
|
|
2947
|
+
} catch (err) {
|
|
2948
|
+
exports.DOMException = function(message, name) {
|
|
2949
|
+
this.message = message;
|
|
2950
|
+
this.name = name;
|
|
2951
|
+
var error = Error(message);
|
|
2952
|
+
this.stack = error.stack;
|
|
2953
|
+
};
|
|
2954
|
+
exports.DOMException.prototype = Object.create(Error.prototype);
|
|
2955
|
+
exports.DOMException.prototype.constructor = exports.DOMException;
|
|
2956
|
+
}
|
|
2957
|
+
|
|
2958
|
+
function fetch(input, init) {
|
|
2959
|
+
return new Promise(function(resolve, reject) {
|
|
2960
|
+
var request = new Request(input, init);
|
|
2961
|
+
|
|
2962
|
+
if (request.signal && request.signal.aborted) {
|
|
2963
|
+
return reject(new exports.DOMException('Aborted', 'AbortError'))
|
|
2964
|
+
}
|
|
2965
|
+
|
|
2966
|
+
var xhr = new XMLHttpRequest();
|
|
2967
|
+
|
|
2968
|
+
function abortXhr() {
|
|
2969
|
+
xhr.abort();
|
|
2970
|
+
}
|
|
2971
|
+
|
|
2972
|
+
xhr.onload = function() {
|
|
2973
|
+
var options = {
|
|
2974
|
+
status: xhr.status,
|
|
2975
|
+
statusText: xhr.statusText,
|
|
2976
|
+
headers: parseHeaders(xhr.getAllResponseHeaders() || '')
|
|
2977
|
+
};
|
|
2978
|
+
options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');
|
|
2979
|
+
var body = 'response' in xhr ? xhr.response : xhr.responseText;
|
|
2980
|
+
resolve(new Response(body, options));
|
|
2981
|
+
};
|
|
2982
|
+
|
|
2983
|
+
xhr.onerror = function() {
|
|
2984
|
+
reject(new TypeError('Network request failed'));
|
|
2985
|
+
};
|
|
2986
|
+
|
|
2987
|
+
xhr.ontimeout = function() {
|
|
2988
|
+
reject(new TypeError('Network request failed'));
|
|
2989
|
+
};
|
|
2990
|
+
|
|
2991
|
+
xhr.onabort = function() {
|
|
2992
|
+
reject(new exports.DOMException('Aborted', 'AbortError'));
|
|
2993
|
+
};
|
|
2994
|
+
|
|
2995
|
+
xhr.open(request.method, request.url, true);
|
|
2996
|
+
|
|
2997
|
+
if (request.credentials === 'include') {
|
|
2998
|
+
xhr.withCredentials = true;
|
|
2999
|
+
} else if (request.credentials === 'omit') {
|
|
3000
|
+
xhr.withCredentials = false;
|
|
3001
|
+
}
|
|
3002
|
+
|
|
3003
|
+
if ('responseType' in xhr && support.blob) {
|
|
3004
|
+
xhr.responseType = 'blob';
|
|
3005
|
+
}
|
|
3006
|
+
|
|
3007
|
+
request.headers.forEach(function(value, name) {
|
|
3008
|
+
xhr.setRequestHeader(name, value);
|
|
3009
|
+
});
|
|
3010
|
+
|
|
3011
|
+
if (request.signal) {
|
|
3012
|
+
request.signal.addEventListener('abort', abortXhr);
|
|
3013
|
+
|
|
3014
|
+
xhr.onreadystatechange = function() {
|
|
3015
|
+
// DONE (success or failure)
|
|
3016
|
+
if (xhr.readyState === 4) {
|
|
3017
|
+
request.signal.removeEventListener('abort', abortXhr);
|
|
3018
|
+
}
|
|
3019
|
+
};
|
|
3020
|
+
}
|
|
3021
|
+
|
|
3022
|
+
xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);
|
|
3023
|
+
})
|
|
3024
|
+
}
|
|
3025
|
+
|
|
3026
|
+
fetch.polyfill = true;
|
|
3027
|
+
|
|
3028
|
+
if (!self.fetch) {
|
|
3029
|
+
self.fetch = fetch;
|
|
3030
|
+
self.Headers = Headers;
|
|
3031
|
+
self.Request = Request;
|
|
3032
|
+
self.Response = Response;
|
|
3033
|
+
}
|
|
3034
|
+
|
|
3035
|
+
exports.Headers = Headers;
|
|
3036
|
+
exports.Request = Request;
|
|
3037
|
+
exports.Response = Response;
|
|
3038
|
+
exports.fetch = fetch;
|
|
3039
|
+
|
|
3040
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
3041
|
+
|
|
3042
|
+
return exports;
|
|
3043
|
+
|
|
3044
|
+
})({});
|
|
3045
|
+
})(__self__);
|
|
3046
|
+
__self__.fetch.ponyfill = true;
|
|
3047
|
+
// Remove "polyfill" property added by whatwg-fetch
|
|
3048
|
+
delete __self__.fetch.polyfill;
|
|
3049
|
+
// Choose between native implementation (global) or custom implementation (__self__)
|
|
3050
|
+
// var ctx = global.fetch ? global : __self__;
|
|
3051
|
+
var ctx = __self__; // this line disable service worker support temporarily
|
|
3052
|
+
exports = ctx.fetch // To enable: import fetch from 'cross-fetch'
|
|
3053
|
+
exports.default = ctx.fetch // For TypeScript consumers without esModuleInterop.
|
|
3054
|
+
exports.fetch = ctx.fetch // To enable: import {fetch} from 'cross-fetch'
|
|
3055
|
+
exports.Headers = ctx.Headers
|
|
3056
|
+
exports.Request = ctx.Request
|
|
3057
|
+
exports.Response = ctx.Response
|
|
3058
|
+
module.exports = exports
|
|
3059
|
+
|
|
3060
|
+
|
|
2121
3061
|
/***/ }),
|
|
2122
3062
|
|
|
2123
3063
|
/***/ "./node_modules/fastestsmallesttextencoderdecoder/EncoderDecoderTogether.min.js":
|
|
@@ -3790,7 +4730,7 @@ module.exports = g;
|
|
|
3790
4730
|
/***/ (function(module, exports, __webpack_require__) {
|
|
3791
4731
|
|
|
3792
4732
|
module.exports = function() {
|
|
3793
|
-
return __webpack_require__(/*! !./node_modules/worker-loader/dist/workers/InlineWorker.js */ "./node_modules/worker-loader/dist/workers/InlineWorker.js")("/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"./node_modules/babel-loader/lib/index.js?!./src/FetchWorkerTool.worker.js\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./node_modules/babel-loader/lib/index.js?!./src/FetchWorkerTool.worker.js\":\n/*!*******************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib??ref--4!./src/FetchWorkerTool.worker.js ***!\n \\*******************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n/* eslint-env worker */\nvar jobsActive = 0;\nvar complete = [];\nvar intervalId = null;\n/**\n * Register a step function.\n *\n * Step checks if there are completed jobs and if there are sends them to the\n * parent. Then it checks the jobs count. If there are no further jobs, clear\n * the step.\n */\n\nvar registerStep = function registerStep() {\n intervalId = setInterval(function () {\n if (complete.length) {\n // Send our chunk of completed requests and instruct postMessage to\n // transfer the buffers instead of copying them.\n postMessage(complete.slice(), // Instruct postMessage that these buffers in the sent message\n // should use their Transferable trait. After the postMessage\n // call the \"buffers\" will still be in complete if you looked,\n // but they will all be length 0 as the data they reference has\n // been sent to the window. This lets us send a lot of data\n // without the normal postMessage behaviour of making a copy of\n // all of the data for the window.\n complete.map(function (response) {\n return response.buffer;\n }).filter(Boolean));\n complete.length = 0;\n }\n\n if (jobsActive === 0) {\n clearInterval(intervalId);\n intervalId = null;\n }\n }, 1);\n};\n/**\n * Receive a job from the parent and fetch the requested data.\n * @param {object} options.job A job id, url, and options descriptor to perform.\n */\n\n\nvar onMessage = function onMessage(_ref) {\n var job = _ref.data;\n\n if (jobsActive === 0 && !intervalId) {\n registerStep();\n }\n\n jobsActive++;\n fetch(job.url, job.options).then(function (result) {\n if (result.ok) return result.arrayBuffer();\n if (result.status === 404) return null;\n return Promise.reject(result.status);\n }).then(function (buffer) {\n return complete.push({\n id: job.id,\n buffer: buffer\n });\n }).catch(function (error) {\n return complete.push({\n id: job.id,\n error: error && error.message || \"Failed request: \".concat(job.url)\n });\n }).then(function () {\n return jobsActive--;\n });\n};\n\nif (self.fetch) {\n postMessage({\n support: {\n fetch: true\n }\n });\n self.addEventListener('message', onMessage);\n} else {\n postMessage({\n support: {\n fetch: false\n }\n });\n self.addEventListener('message', function (_ref2) {\n var job = _ref2.data;\n postMessage([{\n id: job.id,\n error: 'fetch is unavailable'\n }]);\n });\n}\n\n/***/ })\n\n/******/ });\n//# sourceMappingURL=01b4fbd4d14a4f22cab8.worker.js.map", __webpack_require__.p + "01b4fbd4d14a4f22cab8.worker.js");
|
|
4733
|
+
return __webpack_require__(/*! !./node_modules/worker-loader/dist/workers/InlineWorker.js */ "./node_modules/worker-loader/dist/workers/InlineWorker.js")("/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"./node_modules/babel-loader/lib/index.js?!./src/FetchWorkerTool.worker.js\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./node_modules/babel-loader/lib/index.js?!./src/FetchWorkerTool.worker.js\":\n/*!*******************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib??ref--4!./src/FetchWorkerTool.worker.js ***!\n \\*******************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* eslint-env worker */\nvar crossFetch = __webpack_require__(/*! cross-fetch */ \"./node_modules/cross-fetch/dist/browser-ponyfill.js\").default;\n\nvar jobsActive = 0;\nvar complete = [];\nvar intervalId = null;\n/**\n * Register a step function.\n *\n * Step checks if there are completed jobs and if there are sends them to the\n * parent. Then it checks the jobs count. If there are no further jobs, clear\n * the step.\n */\n\nvar registerStep = function registerStep() {\n intervalId = setInterval(function () {\n if (complete.length) {\n // Send our chunk of completed requests and instruct postMessage to\n // transfer the buffers instead of copying them.\n postMessage(complete.slice(), // Instruct postMessage that these buffers in the sent message\n // should use their Transferable trait. After the postMessage\n // call the \"buffers\" will still be in complete if you looked,\n // but they will all be length 0 as the data they reference has\n // been sent to the window. This lets us send a lot of data\n // without the normal postMessage behaviour of making a copy of\n // all of the data for the window.\n complete.map(function (response) {\n return response.buffer;\n }).filter(Boolean));\n complete.length = 0;\n }\n\n if (jobsActive === 0) {\n clearInterval(intervalId);\n intervalId = null;\n }\n }, 1);\n};\n/**\n * Receive a job from the parent and fetch the requested data.\n * @param {object} options.job A job id, url, and options descriptor to perform.\n */\n\n\nvar onMessage = function onMessage(_ref) {\n var job = _ref.data;\n\n if (jobsActive === 0 && !intervalId) {\n registerStep();\n }\n\n jobsActive++;\n crossFetch(job.url, job.options).then(function (result) {\n if (result.ok) return result.arrayBuffer();\n if (result.status === 404) return null;\n return Promise.reject(result.status);\n }).then(function (buffer) {\n return complete.push({\n id: job.id,\n buffer: buffer\n });\n }).catch(function (error) {\n return complete.push({\n id: job.id,\n error: error && error.message || \"Failed request: \".concat(job.url)\n });\n }).then(function () {\n return jobsActive--;\n });\n}; // crossFetch means \"fetch\" is now always supported\n\n\npostMessage({\n support: {\n fetch: true\n }\n});\nself.addEventListener('message', onMessage);\n\n/***/ }),\n\n/***/ \"./node_modules/cross-fetch/dist/browser-ponyfill.js\":\n/*!***********************************************************!*\\\n !*** ./node_modules/cross-fetch/dist/browser-ponyfill.js ***!\n \\***********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nvar global = typeof self !== 'undefined' ? self : this;\nvar __self__ = (function () {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = global.DOMException\n}\nF.prototype = global;\nreturn new F();\n})();\n(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n\n})({});\n})(__self__);\n__self__.fetch.ponyfill = true;\n// Remove \"polyfill\" property added by whatwg-fetch\ndelete __self__.fetch.polyfill;\n// Choose between native implementation (global) or custom implementation (__self__)\n// var ctx = global.fetch ? global : __self__;\nvar ctx = __self__; // this line disable service worker support temporarily\nexports = ctx.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = ctx.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = ctx.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = ctx.Headers\nexports.Request = ctx.Request\nexports.Response = ctx.Response\nmodule.exports = exports\n\n\n/***/ })\n\n/******/ });\n//# sourceMappingURL=90c5db0dff5ca2a36ff6.worker.js.map", __webpack_require__.p + "90c5db0dff5ca2a36ff6.worker.js");
|
|
3794
4734
|
};
|
|
3795
4735
|
|
|
3796
4736
|
/***/ }),
|
|
@@ -3850,11 +4790,9 @@ module.exports = function (content, url) {
|
|
|
3850
4790
|
/*! no static exports found */
|
|
3851
4791
|
/***/ (function(module, exports, __webpack_require__) {
|
|
3852
4792
|
|
|
3853
|
-
|
|
4793
|
+
var _classCallCheck = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/classCallCheck.js");
|
|
3854
4794
|
|
|
3855
|
-
|
|
3856
|
-
|
|
3857
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
4795
|
+
var _createClass = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/createClass.js");
|
|
3858
4796
|
|
|
3859
4797
|
// Use JS implemented TextDecoder and TextEncoder if it is not provided by the
|
|
3860
4798
|
// browser.
|
|
@@ -3944,6 +4882,8 @@ var memoizedToString = function () {
|
|
|
3944
4882
|
}();
|
|
3945
4883
|
|
|
3946
4884
|
var Asset = /*#__PURE__*/function () {
|
|
4885
|
+
"use strict";
|
|
4886
|
+
|
|
3947
4887
|
/**
|
|
3948
4888
|
* Construct an Asset.
|
|
3949
4889
|
* @param {AssetType} assetType - The type of this asset (sound, image, etc.)
|
|
@@ -4090,28 +5030,20 @@ module.exports = AssetType;
|
|
|
4090
5030
|
/*! no static exports found */
|
|
4091
5031
|
/***/ (function(module, exports, __webpack_require__) {
|
|
4092
5032
|
|
|
4093
|
-
/* WEBPACK VAR INJECTION */(function(Buffer) {
|
|
5033
|
+
/* WEBPACK VAR INJECTION */(function(Buffer) {var _classCallCheck = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/classCallCheck.js");
|
|
4094
5034
|
|
|
4095
|
-
|
|
5035
|
+
var _createClass = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/createClass.js");
|
|
4096
5036
|
|
|
4097
|
-
|
|
5037
|
+
var _inherits = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/inherits.js");
|
|
4098
5038
|
|
|
4099
|
-
|
|
5039
|
+
var _possibleConstructorReturn = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js");
|
|
4100
5040
|
|
|
4101
|
-
|
|
4102
|
-
|
|
4103
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
5041
|
+
var _getPrototypeOf = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/getPrototypeOf.js");
|
|
4104
5042
|
|
|
4105
5043
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
4106
5044
|
|
|
4107
|
-
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
|
4108
|
-
|
|
4109
|
-
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
4110
|
-
|
|
4111
5045
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
4112
5046
|
|
|
4113
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
4114
|
-
|
|
4115
5047
|
var md5 = __webpack_require__(/*! js-md5 */ "./node_modules/js-md5/src/md5.js");
|
|
4116
5048
|
|
|
4117
5049
|
var log = __webpack_require__(/*! ./log */ "./src/log.js");
|
|
@@ -4162,6 +5094,8 @@ var DefaultAssets = [{
|
|
|
4162
5094
|
var BuiltinAssets = DefaultAssets.concat([]);
|
|
4163
5095
|
|
|
4164
5096
|
var BuiltinHelper = /*#__PURE__*/function (_Helper) {
|
|
5097
|
+
"use strict";
|
|
5098
|
+
|
|
4165
5099
|
_inherits(BuiltinHelper, _Helper);
|
|
4166
5100
|
|
|
4167
5101
|
var _super = _createSuper(BuiltinHelper);
|
|
@@ -4338,27 +5272,31 @@ module.exports = DataFormat;
|
|
|
4338
5272
|
!*** ./src/FetchTool.js ***!
|
|
4339
5273
|
\**************************/
|
|
4340
5274
|
/*! no static exports found */
|
|
4341
|
-
/***/ (function(module, exports) {
|
|
4342
|
-
|
|
4343
|
-
var _excluded = ["url"],
|
|
4344
|
-
_excluded2 = ["url", "withCredentials"];
|
|
4345
|
-
|
|
4346
|
-
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
5275
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
4347
5276
|
|
|
4348
|
-
|
|
5277
|
+
var _objectWithoutProperties = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/objectWithoutProperties.js");
|
|
4349
5278
|
|
|
4350
|
-
|
|
5279
|
+
var _classCallCheck = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/classCallCheck.js");
|
|
4351
5280
|
|
|
4352
|
-
|
|
5281
|
+
var _createClass = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/createClass.js");
|
|
4353
5282
|
|
|
4354
|
-
|
|
5283
|
+
var _excluded = ["url"],
|
|
5284
|
+
_excluded2 = ["url", "withCredentials"];
|
|
4355
5285
|
|
|
4356
|
-
|
|
5286
|
+
var _require = __webpack_require__(/*! ./scratchFetch */ "./src/scratchFetch.js"),
|
|
5287
|
+
scratchFetch = _require.scratchFetch;
|
|
5288
|
+
/**
|
|
5289
|
+
* @typedef {Request & {withCredentials: boolean}} ScratchSendRequest
|
|
5290
|
+
*/
|
|
4357
5291
|
|
|
4358
5292
|
/**
|
|
4359
5293
|
* Get and send assets with the fetch standard web api.
|
|
4360
5294
|
*/
|
|
5295
|
+
|
|
5296
|
+
|
|
4361
5297
|
var FetchTool = /*#__PURE__*/function () {
|
|
5298
|
+
"use strict";
|
|
5299
|
+
|
|
4362
5300
|
function FetchTool() {
|
|
4363
5301
|
_classCallCheck(this, FetchTool);
|
|
4364
5302
|
}
|
|
@@ -4367,17 +5305,17 @@ var FetchTool = /*#__PURE__*/function () {
|
|
|
4367
5305
|
key: "isGetSupported",
|
|
4368
5306
|
get:
|
|
4369
5307
|
/**
|
|
4370
|
-
* Is get supported?
|
|
5308
|
+
* Is get supported?
|
|
5309
|
+
* Always true for `FetchTool` because `scratchFetch` ponyfills `fetch` if necessary.
|
|
4371
5310
|
* @returns {boolean} Is get supported?
|
|
4372
5311
|
*/
|
|
4373
5312
|
function get() {
|
|
4374
|
-
return
|
|
5313
|
+
return true;
|
|
4375
5314
|
}
|
|
4376
5315
|
/**
|
|
4377
5316
|
* Request data from a server with fetch.
|
|
4378
|
-
* @param {
|
|
4379
|
-
* @
|
|
4380
|
-
* @returns {Promise.<Uint8Array>} Resolve to Buffer of data from server.
|
|
5317
|
+
* @param {Request} reqConfig - Request configuration for data to get.
|
|
5318
|
+
* @returns {Promise.<Uint8Array?>} Resolve to Buffer of data from server.
|
|
4381
5319
|
*/
|
|
4382
5320
|
|
|
4383
5321
|
}, {
|
|
@@ -4386,30 +5324,30 @@ var FetchTool = /*#__PURE__*/function () {
|
|
|
4386
5324
|
var url = _ref.url,
|
|
4387
5325
|
options = _objectWithoutProperties(_ref, _excluded);
|
|
4388
5326
|
|
|
4389
|
-
return
|
|
5327
|
+
return scratchFetch(url, Object.assign({
|
|
4390
5328
|
method: 'GET'
|
|
4391
5329
|
}, options)).then(function (result) {
|
|
4392
5330
|
if (result.ok) return result.arrayBuffer().then(function (b) {
|
|
4393
5331
|
return new Uint8Array(b);
|
|
4394
5332
|
});
|
|
4395
5333
|
if (result.status === 404) return null;
|
|
4396
|
-
return Promise.reject(result.status);
|
|
5334
|
+
return Promise.reject(result.status); // TODO: we should throw a proper error
|
|
4397
5335
|
});
|
|
4398
5336
|
}
|
|
4399
5337
|
/**
|
|
4400
|
-
* Is sending supported?
|
|
4401
|
-
*
|
|
5338
|
+
* Is sending supported?
|
|
5339
|
+
* Always true for `FetchTool` because `scratchFetch` ponyfills `fetch` if necessary.
|
|
4402
5340
|
* @returns {boolean} Is sending supported?
|
|
4403
5341
|
*/
|
|
4404
5342
|
|
|
4405
5343
|
}, {
|
|
4406
5344
|
key: "isSendSupported",
|
|
4407
5345
|
get: function get() {
|
|
4408
|
-
return
|
|
5346
|
+
return true;
|
|
4409
5347
|
}
|
|
4410
5348
|
/**
|
|
4411
5349
|
* Send data to a server with fetch.
|
|
4412
|
-
* @param {
|
|
5350
|
+
* @param {ScratchSendRequest} reqConfig - Request configuration for data to send.
|
|
4413
5351
|
* @returns {Promise.<string>} Server returned metadata.
|
|
4414
5352
|
*/
|
|
4415
5353
|
|
|
@@ -4421,7 +5359,7 @@ var FetchTool = /*#__PURE__*/function () {
|
|
|
4421
5359
|
withCredentials = _ref2$withCredentials === void 0 ? false : _ref2$withCredentials,
|
|
4422
5360
|
options = _objectWithoutProperties(_ref2, _excluded2);
|
|
4423
5361
|
|
|
4424
|
-
return
|
|
5362
|
+
return scratchFetch(url, Object.assign({
|
|
4425
5363
|
credentials: withCredentials ? 'include' : 'omit'
|
|
4426
5364
|
}, options)).then(function (response) {
|
|
4427
5365
|
if (response.ok) return response.text();
|
|
@@ -4444,11 +5382,13 @@ module.exports = FetchTool;
|
|
|
4444
5382
|
/*! no static exports found */
|
|
4445
5383
|
/***/ (function(module, exports, __webpack_require__) {
|
|
4446
5384
|
|
|
4447
|
-
var
|
|
5385
|
+
var _objectWithoutProperties = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/objectWithoutProperties.js");
|
|
4448
5386
|
|
|
4449
|
-
|
|
5387
|
+
var _classCallCheck = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/classCallCheck.js");
|
|
4450
5388
|
|
|
4451
|
-
|
|
5389
|
+
var _createClass = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/createClass.js");
|
|
5390
|
+
|
|
5391
|
+
var _excluded = ["url"];
|
|
4452
5392
|
|
|
4453
5393
|
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; } } }; }
|
|
4454
5394
|
|
|
@@ -4456,16 +5396,16 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
4456
5396
|
|
|
4457
5397
|
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; }
|
|
4458
5398
|
|
|
4459
|
-
|
|
4460
|
-
|
|
4461
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
4462
|
-
|
|
4463
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
4464
|
-
|
|
5399
|
+
var _require = __webpack_require__(/*! ./scratchFetch */ "./src/scratchFetch.js"),
|
|
5400
|
+
applyMetadata = _require.applyMetadata;
|
|
4465
5401
|
/**
|
|
4466
5402
|
* Get and send assets with a worker that uses fetch.
|
|
4467
5403
|
*/
|
|
5404
|
+
|
|
5405
|
+
|
|
4468
5406
|
var PrivateFetchWorkerTool = /*#__PURE__*/function () {
|
|
5407
|
+
"use strict";
|
|
5408
|
+
|
|
4469
5409
|
function PrivateFetchWorkerTool() {
|
|
4470
5410
|
var _this = this;
|
|
4471
5411
|
|
|
@@ -4480,13 +5420,13 @@ var PrivateFetchWorkerTool = /*#__PURE__*/function () {
|
|
|
4480
5420
|
};
|
|
4481
5421
|
/**
|
|
4482
5422
|
* A possible error occurred standing up the worker.
|
|
4483
|
-
* @type {
|
|
5423
|
+
* @type {Error?}
|
|
4484
5424
|
*/
|
|
4485
5425
|
|
|
4486
5426
|
this._supportError = null;
|
|
4487
5427
|
/**
|
|
4488
5428
|
* The worker that runs fetch and returns data for us.
|
|
4489
|
-
* @type {
|
|
5429
|
+
* @type {Worker?}
|
|
4490
5430
|
*/
|
|
4491
5431
|
|
|
4492
5432
|
this.worker = null;
|
|
@@ -4502,8 +5442,8 @@ var PrivateFetchWorkerTool = /*#__PURE__*/function () {
|
|
|
4502
5442
|
// eslint-disable-next-line global-require
|
|
4503
5443
|
var FetchWorker = __webpack_require__(/*! worker-loader?{"inline":true,"fallback":true}!./FetchWorkerTool.worker */ "./node_modules/worker-loader/dist/cjs.js?{\"inline\":true,\"fallback\":true}!./src/FetchWorkerTool.worker.js");
|
|
4504
5444
|
|
|
4505
|
-
|
|
4506
|
-
|
|
5445
|
+
var worker = new FetchWorker();
|
|
5446
|
+
worker.addEventListener('message', function (_ref) {
|
|
4507
5447
|
var data = _ref.data;
|
|
4508
5448
|
|
|
4509
5449
|
if (data.support) {
|
|
@@ -4534,6 +5474,7 @@ var PrivateFetchWorkerTool = /*#__PURE__*/function () {
|
|
|
4534
5474
|
_iterator.f();
|
|
4535
5475
|
}
|
|
4536
5476
|
});
|
|
5477
|
+
this.worker = worker;
|
|
4537
5478
|
}
|
|
4538
5479
|
} catch (error) {
|
|
4539
5480
|
this._supportError = error;
|
|
@@ -4558,7 +5499,7 @@ var PrivateFetchWorkerTool = /*#__PURE__*/function () {
|
|
|
4558
5499
|
* Request data from a server with a worker using fetch.
|
|
4559
5500
|
* @param {{url:string}} reqConfig - Request configuration for data to get.
|
|
4560
5501
|
* @param {{method:string}} options - Additional options to configure fetch.
|
|
4561
|
-
* @returns {Promise.<Buffer>} Resolve to Buffer of data from server.
|
|
5502
|
+
* @returns {Promise.<Buffer|Uint8Array|null>} Resolve to Buffer of data from server.
|
|
4562
5503
|
*/
|
|
4563
5504
|
|
|
4564
5505
|
}, {
|
|
@@ -4572,13 +5513,14 @@ var PrivateFetchWorkerTool = /*#__PURE__*/function () {
|
|
|
4572
5513
|
return new Promise(function (resolve, reject) {
|
|
4573
5514
|
// TODO: Use a Scratch standard ID generator ...
|
|
4574
5515
|
var id = Math.random().toString(16).substring(2);
|
|
5516
|
+
var augmentedOptions = applyMetadata(Object.assign({
|
|
5517
|
+
method: 'GET'
|
|
5518
|
+
}, options));
|
|
4575
5519
|
|
|
4576
5520
|
_this2.worker.postMessage({
|
|
4577
5521
|
id: id,
|
|
4578
5522
|
url: url,
|
|
4579
|
-
options:
|
|
4580
|
-
method: 'GET'
|
|
4581
|
-
}, options)
|
|
5523
|
+
options: augmentedOptions
|
|
4582
5524
|
});
|
|
4583
5525
|
|
|
4584
5526
|
_this2.jobs[id] = {
|
|
@@ -4637,6 +5579,8 @@ var PrivateFetchWorkerTool = /*#__PURE__*/function () {
|
|
|
4637
5579
|
|
|
4638
5580
|
|
|
4639
5581
|
var PublicFetchWorkerTool = /*#__PURE__*/function () {
|
|
5582
|
+
"use strict";
|
|
5583
|
+
|
|
4640
5584
|
function PublicFetchWorkerTool() {
|
|
4641
5585
|
_classCallCheck(this, PublicFetchWorkerTool);
|
|
4642
5586
|
|
|
@@ -4661,7 +5605,7 @@ var PublicFetchWorkerTool = /*#__PURE__*/function () {
|
|
|
4661
5605
|
/**
|
|
4662
5606
|
* Request data from a server with a worker that uses fetch.
|
|
4663
5607
|
* @param {{url:string}} reqConfig - Request configuration for data to get.
|
|
4664
|
-
* @returns {Promise.<Buffer>} Resolve to Buffer of data from server.
|
|
5608
|
+
* @returns {Promise.<Buffer|Uint8Array|null>} Resolve to Buffer of data from server.
|
|
4665
5609
|
*/
|
|
4666
5610
|
|
|
4667
5611
|
}, {
|
|
@@ -4703,19 +5647,19 @@ module.exports = PublicFetchWorkerTool;
|
|
|
4703
5647
|
!*** ./src/Helper.js ***!
|
|
4704
5648
|
\***********************/
|
|
4705
5649
|
/*! no static exports found */
|
|
4706
|
-
/***/ (function(module, exports) {
|
|
4707
|
-
|
|
4708
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
5650
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
4709
5651
|
|
|
4710
|
-
|
|
5652
|
+
var _classCallCheck = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/classCallCheck.js");
|
|
4711
5653
|
|
|
4712
|
-
|
|
5654
|
+
var _createClass = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/createClass.js");
|
|
4713
5655
|
|
|
4714
5656
|
/**
|
|
4715
5657
|
* Base class for asset load/save helpers.
|
|
4716
5658
|
* @abstract
|
|
4717
5659
|
*/
|
|
4718
5660
|
var Helper = /*#__PURE__*/function () {
|
|
5661
|
+
"use strict";
|
|
5662
|
+
|
|
4719
5663
|
function Helper(parent) {
|
|
4720
5664
|
_classCallCheck(this, Helper);
|
|
4721
5665
|
|
|
@@ -4751,11 +5695,9 @@ module.exports = Helper;
|
|
|
4751
5695
|
/*! no static exports found */
|
|
4752
5696
|
/***/ (function(module, exports, __webpack_require__) {
|
|
4753
5697
|
|
|
4754
|
-
|
|
4755
|
-
|
|
4756
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
5698
|
+
var _classCallCheck = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/classCallCheck.js");
|
|
4757
5699
|
|
|
4758
|
-
|
|
5700
|
+
var _createClass = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/createClass.js");
|
|
4759
5701
|
|
|
4760
5702
|
var FetchWorkerTool = __webpack_require__(/*! ./FetchWorkerTool */ "./src/FetchWorkerTool.js");
|
|
4761
5703
|
|
|
@@ -4774,6 +5716,8 @@ var FetchTool = __webpack_require__(/*! ./FetchTool */ "./src/FetchTool.js");
|
|
|
4774
5716
|
|
|
4775
5717
|
|
|
4776
5718
|
var ProxyTool = /*#__PURE__*/function () {
|
|
5719
|
+
"use strict";
|
|
5720
|
+
|
|
4777
5721
|
function ProxyTool() {
|
|
4778
5722
|
var filter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ProxyTool.TOOL_FILTER.ALL;
|
|
4779
5723
|
|
|
@@ -4909,11 +5853,9 @@ module.exports = ProxyTool;
|
|
|
4909
5853
|
/*! no static exports found */
|
|
4910
5854
|
/***/ (function(module, exports, __webpack_require__) {
|
|
4911
5855
|
|
|
4912
|
-
|
|
4913
|
-
|
|
4914
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
5856
|
+
var _classCallCheck = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/classCallCheck.js");
|
|
4915
5857
|
|
|
4916
|
-
|
|
5858
|
+
var _createClass = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/createClass.js");
|
|
4917
5859
|
|
|
4918
5860
|
var log = __webpack_require__(/*! ./log */ "./src/log.js");
|
|
4919
5861
|
|
|
@@ -4928,6 +5870,8 @@ var _AssetType = __webpack_require__(/*! ./AssetType */ "./src/AssetType.js");
|
|
|
4928
5870
|
var _DataFormat = __webpack_require__(/*! ./DataFormat */ "./src/DataFormat.js");
|
|
4929
5871
|
|
|
4930
5872
|
var ScratchStorage = /*#__PURE__*/function () {
|
|
5873
|
+
"use strict";
|
|
5874
|
+
|
|
4931
5875
|
function ScratchStorage() {
|
|
4932
5876
|
_classCallCheck(this, ScratchStorage);
|
|
4933
5877
|
|
|
@@ -5209,28 +6153,20 @@ module.exports = ScratchStorage;
|
|
|
5209
6153
|
/*! no static exports found */
|
|
5210
6154
|
/***/ (function(module, exports, __webpack_require__) {
|
|
5211
6155
|
|
|
5212
|
-
|
|
5213
|
-
|
|
5214
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
6156
|
+
var _classCallCheck = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/classCallCheck.js");
|
|
5215
6157
|
|
|
5216
|
-
|
|
6158
|
+
var _createClass = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/createClass.js");
|
|
5217
6159
|
|
|
5218
|
-
|
|
6160
|
+
var _inherits = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/inherits.js");
|
|
5219
6161
|
|
|
5220
|
-
|
|
6162
|
+
var _possibleConstructorReturn = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js");
|
|
5221
6163
|
|
|
5222
|
-
|
|
6164
|
+
var _getPrototypeOf = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/getPrototypeOf.js");
|
|
5223
6165
|
|
|
5224
6166
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
5225
6167
|
|
|
5226
|
-
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
|
5227
|
-
|
|
5228
|
-
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
5229
|
-
|
|
5230
6168
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
5231
6169
|
|
|
5232
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
5233
|
-
|
|
5234
6170
|
var log = __webpack_require__(/*! ./log */ "./src/log.js");
|
|
5235
6171
|
|
|
5236
6172
|
var Asset = __webpack_require__(/*! ./Asset */ "./src/Asset.js");
|
|
@@ -5257,6 +6193,8 @@ var ensureRequestConfig = function ensureRequestConfig(reqConfig) {
|
|
|
5257
6193
|
|
|
5258
6194
|
|
|
5259
6195
|
var WebHelper = /*#__PURE__*/function (_Helper) {
|
|
6196
|
+
"use strict";
|
|
6197
|
+
|
|
5260
6198
|
_inherits(WebHelper, _Helper);
|
|
5261
6199
|
|
|
5262
6200
|
var _super = _createSuper(WebHelper);
|
|
@@ -5483,6 +6421,132 @@ var minilog = __webpack_require__(/*! minilog */ "./node_modules/minilog/lib/web
|
|
|
5483
6421
|
minilog.enable();
|
|
5484
6422
|
module.exports = minilog('storage');
|
|
5485
6423
|
|
|
6424
|
+
/***/ }),
|
|
6425
|
+
|
|
6426
|
+
/***/ "./src/scratchFetch.js":
|
|
6427
|
+
/*!*****************************!*\
|
|
6428
|
+
!*** ./src/scratchFetch.js ***!
|
|
6429
|
+
\*****************************/
|
|
6430
|
+
/*! no static exports found */
|
|
6431
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
6432
|
+
|
|
6433
|
+
var _slicedToArray = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "./node_modules/@babel/runtime/helpers/slicedToArray.js");
|
|
6434
|
+
|
|
6435
|
+
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; } } }; }
|
|
6436
|
+
|
|
6437
|
+
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); }
|
|
6438
|
+
|
|
6439
|
+
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; }
|
|
6440
|
+
|
|
6441
|
+
var _require = __webpack_require__(/*! cross-fetch */ "./node_modules/cross-fetch/dist/browser-ponyfill.js"),
|
|
6442
|
+
fetch = _require.fetch,
|
|
6443
|
+
Headers = _require.Headers;
|
|
6444
|
+
/**
|
|
6445
|
+
* Metadata header names
|
|
6446
|
+
* @enum {string} The enum value is the name of the associated header.
|
|
6447
|
+
* @readonly
|
|
6448
|
+
*/
|
|
6449
|
+
|
|
6450
|
+
|
|
6451
|
+
var RequestMetadata = {
|
|
6452
|
+
/** The ID of the project associated with this request */
|
|
6453
|
+
ProjectId: 'X-ProjectId',
|
|
6454
|
+
|
|
6455
|
+
/** The ID of the project run associated with this request */
|
|
6456
|
+
RunId: 'X-RunId'
|
|
6457
|
+
};
|
|
6458
|
+
/**
|
|
6459
|
+
* Metadata for requests
|
|
6460
|
+
* @type {Map<string, string>}
|
|
6461
|
+
*/
|
|
6462
|
+
|
|
6463
|
+
var metadata = new Map();
|
|
6464
|
+
/**
|
|
6465
|
+
* Non-destructively merge any metadata state (if any) with the provided options object (if any).
|
|
6466
|
+
* If there is metadata state but no options object is provided, make a new object.
|
|
6467
|
+
* If there is no metadata state, return the provided options parameter without modification.
|
|
6468
|
+
* If there is metadata and an options object is provided, modify a copy and return it.
|
|
6469
|
+
* Headers in the provided options object may override headers generated from metadata state.
|
|
6470
|
+
* @param {RequestInit} [options] The initial request options. May be null or undefined.
|
|
6471
|
+
* @returns {RequestInit|undefined} the provided options parameter without modification, or a new options object.
|
|
6472
|
+
*/
|
|
6473
|
+
|
|
6474
|
+
var applyMetadata = function applyMetadata(options) {
|
|
6475
|
+
if (metadata.size > 0) {
|
|
6476
|
+
var augmentedOptions = Object.assign({}, options);
|
|
6477
|
+
augmentedOptions.headers = new Headers(Array.from(metadata));
|
|
6478
|
+
|
|
6479
|
+
if (options && options.headers) {
|
|
6480
|
+
var overrideHeaders = options.headers instanceof Headers ? options.headers : new Headers(options.headers);
|
|
6481
|
+
|
|
6482
|
+
var _iterator = _createForOfIteratorHelper(overrideHeaders.entries()),
|
|
6483
|
+
_step;
|
|
6484
|
+
|
|
6485
|
+
try {
|
|
6486
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
6487
|
+
var _step$value = _slicedToArray(_step.value, 2),
|
|
6488
|
+
name = _step$value[0],
|
|
6489
|
+
value = _step$value[1];
|
|
6490
|
+
|
|
6491
|
+
augmentedOptions.headers.set(name, value);
|
|
6492
|
+
}
|
|
6493
|
+
} catch (err) {
|
|
6494
|
+
_iterator.e(err);
|
|
6495
|
+
} finally {
|
|
6496
|
+
_iterator.f();
|
|
6497
|
+
}
|
|
6498
|
+
}
|
|
6499
|
+
|
|
6500
|
+
return augmentedOptions;
|
|
6501
|
+
}
|
|
6502
|
+
|
|
6503
|
+
return options;
|
|
6504
|
+
};
|
|
6505
|
+
/**
|
|
6506
|
+
* Make a network request.
|
|
6507
|
+
* This is a wrapper for the global fetch method, adding some Scratch-specific functionality.
|
|
6508
|
+
* @param {RequestInfo|URL} resource The resource to fetch.
|
|
6509
|
+
* @param {RequestInit} options Optional object containing custom settings for this request.
|
|
6510
|
+
* @see {@link https://developer.mozilla.org/docs/Web/API/fetch} for more about the fetch API.
|
|
6511
|
+
* @returns {Promise<Response>} A promise for the response to the request.
|
|
6512
|
+
*/
|
|
6513
|
+
|
|
6514
|
+
|
|
6515
|
+
var scratchFetch = function scratchFetch(resource, options) {
|
|
6516
|
+
var augmentedOptions = applyMetadata(options);
|
|
6517
|
+
return fetch(resource, augmentedOptions);
|
|
6518
|
+
};
|
|
6519
|
+
/**
|
|
6520
|
+
* Set the value of a named request metadata item.
|
|
6521
|
+
* Setting the value to `null` or `undefined` will NOT remove the item.
|
|
6522
|
+
* Use `unsetMetadata` for that.
|
|
6523
|
+
* @param {RequestMetadata} name The name of the metadata item to set.
|
|
6524
|
+
* @param {any} value The value to set (will be converted to a string).
|
|
6525
|
+
*/
|
|
6526
|
+
|
|
6527
|
+
|
|
6528
|
+
var setMetadata = function setMetadata(name, value) {
|
|
6529
|
+
metadata.set(name, value);
|
|
6530
|
+
};
|
|
6531
|
+
/**
|
|
6532
|
+
* Remove a named request metadata item.
|
|
6533
|
+
* @param {RequestMetadata} name The name of the metadata item to remove.
|
|
6534
|
+
*/
|
|
6535
|
+
|
|
6536
|
+
|
|
6537
|
+
var unsetMetadata = function unsetMetadata(name) {
|
|
6538
|
+
metadata.delete(name);
|
|
6539
|
+
};
|
|
6540
|
+
|
|
6541
|
+
module.exports = {
|
|
6542
|
+
default: scratchFetch,
|
|
6543
|
+
RequestMetadata: RequestMetadata,
|
|
6544
|
+
applyMetadata: applyMetadata,
|
|
6545
|
+
scratchFetch: scratchFetch,
|
|
6546
|
+
setMetadata: setMetadata,
|
|
6547
|
+
unsetMetadata: unsetMetadata
|
|
6548
|
+
};
|
|
6549
|
+
|
|
5486
6550
|
/***/ })
|
|
5487
6551
|
|
|
5488
6552
|
/******/ });
|