@loaders.gl/core 3.4.13 → 3.4.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/dist/dist.min.js +106 -104
  2. package/dist/es5/bundle.js +1 -1
  3. package/dist/es5/bundle.js.map +1 -1
  4. package/dist/es5/index.js +55 -55
  5. package/dist/es5/iterators/batch-iterators/timed-batch-iterator.js +14 -86
  6. package/dist/es5/iterators/batch-iterators/timed-batch-iterator.js.map +1 -1
  7. package/dist/es5/iterators/make-iterator/make-array-buffer-iterator.js +17 -33
  8. package/dist/es5/iterators/make-iterator/make-array-buffer-iterator.js.map +1 -1
  9. package/dist/es5/iterators/make-iterator/make-blob-iterator.js +10 -39
  10. package/dist/es5/iterators/make-iterator/make-blob-iterator.js.map +1 -1
  11. package/dist/es5/iterators/make-iterator/make-iterator.js +1 -1
  12. package/dist/es5/iterators/make-iterator/make-iterator.js.map +1 -1
  13. package/dist/es5/iterators/make-iterator/make-stream-iterator.js +24 -119
  14. package/dist/es5/iterators/make-iterator/make-stream-iterator.js.map +1 -1
  15. package/dist/es5/iterators/make-iterator/make-string-iterator.js +11 -30
  16. package/dist/es5/iterators/make-iterator/make-string-iterator.js.map +1 -1
  17. package/dist/es5/iterators/make-stream/make-dom-stream.js +22 -54
  18. package/dist/es5/iterators/make-stream/make-dom-stream.js.map +1 -1
  19. package/dist/es5/iterators/make-stream/make-node-stream.js +50 -152
  20. package/dist/es5/iterators/make-stream/make-node-stream.js.map +1 -1
  21. package/dist/es5/javascript-utils/is-type.js +18 -56
  22. package/dist/es5/javascript-utils/is-type.js.map +1 -1
  23. package/dist/es5/lib/api/encode.js +54 -203
  24. package/dist/es5/lib/api/encode.js.map +1 -1
  25. package/dist/es5/lib/api/load-in-batches.js +9 -41
  26. package/dist/es5/lib/api/load-in-batches.js.map +1 -1
  27. package/dist/es5/lib/api/load.js +15 -48
  28. package/dist/es5/lib/api/load.js.map +1 -1
  29. package/dist/es5/lib/api/loader-options.js +2 -2
  30. package/dist/es5/lib/api/parse-in-batches.js +71 -259
  31. package/dist/es5/lib/api/parse-in-batches.js.map +1 -1
  32. package/dist/es5/lib/api/parse-sync.js +9 -11
  33. package/dist/es5/lib/api/parse-sync.js.map +1 -1
  34. package/dist/es5/lib/api/parse.js +62 -125
  35. package/dist/es5/lib/api/parse.js.map +1 -1
  36. package/dist/es5/lib/api/register-loaders.js +8 -25
  37. package/dist/es5/lib/api/register-loaders.js.map +1 -1
  38. package/dist/es5/lib/api/save.js +4 -28
  39. package/dist/es5/lib/api/save.js.map +1 -1
  40. package/dist/es5/lib/api/select-loader.js +76 -170
  41. package/dist/es5/lib/api/select-loader.js.map +1 -1
  42. package/dist/es5/lib/fetch/fetch-error-message.js +13 -44
  43. package/dist/es5/lib/fetch/fetch-error-message.js.map +1 -1
  44. package/dist/es5/lib/fetch/fetch-file.js +10 -37
  45. package/dist/es5/lib/fetch/fetch-file.js.map +1 -1
  46. package/dist/es5/lib/fetch/read-array-buffer.js +19 -65
  47. package/dist/es5/lib/fetch/read-array-buffer.js.map +1 -1
  48. package/dist/es5/lib/fetch/read-file.js +2 -2
  49. package/dist/es5/lib/fetch/read-file.js.map +1 -1
  50. package/dist/es5/lib/fetch/write-file.js +8 -29
  51. package/dist/es5/lib/fetch/write-file.js.map +1 -1
  52. package/dist/es5/lib/filesystems/browser-filesystem.js +78 -227
  53. package/dist/es5/lib/filesystems/browser-filesystem.js.map +1 -1
  54. package/dist/es5/lib/filesystems/read-array-buffer.js +6 -33
  55. package/dist/es5/lib/filesystems/read-array-buffer.js.map +1 -1
  56. package/dist/es5/lib/init.js +1 -1
  57. package/dist/es5/lib/init.js.map +1 -1
  58. package/dist/es5/lib/loader-utils/check-errors.js +11 -39
  59. package/dist/es5/lib/loader-utils/check-errors.js.map +1 -1
  60. package/dist/es5/lib/loader-utils/get-data.js +62 -187
  61. package/dist/es5/lib/loader-utils/get-data.js.map +1 -1
  62. package/dist/es5/lib/loader-utils/get-fetch-function.js +3 -5
  63. package/dist/es5/lib/loader-utils/get-fetch-function.js.map +1 -1
  64. package/dist/es5/lib/loader-utils/loader-context.js +8 -12
  65. package/dist/es5/lib/loader-utils/loader-context.js.map +1 -1
  66. package/dist/es5/lib/loader-utils/loggers.js +37 -67
  67. package/dist/es5/lib/loader-utils/loggers.js.map +1 -1
  68. package/dist/es5/lib/loader-utils/normalize-loader.js +9 -9
  69. package/dist/es5/lib/loader-utils/normalize-loader.js.map +1 -1
  70. package/dist/es5/lib/loader-utils/option-defaults.js +2 -2
  71. package/dist/es5/lib/loader-utils/option-defaults.js.map +1 -1
  72. package/dist/es5/lib/loader-utils/option-utils.js +43 -59
  73. package/dist/es5/lib/loader-utils/option-utils.js.map +1 -1
  74. package/dist/es5/lib/progress/fetch-progress.js +49 -125
  75. package/dist/es5/lib/progress/fetch-progress.js.map +1 -1
  76. package/dist/es5/lib/utils/log.js +1 -1
  77. package/dist/es5/lib/utils/log.js.map +1 -1
  78. package/dist/es5/lib/utils/mime-type-utils.js +4 -4
  79. package/dist/es5/lib/utils/mime-type-utils.js.map +1 -1
  80. package/dist/es5/lib/utils/resource-utils.js +8 -8
  81. package/dist/es5/lib/utils/resource-utils.js.map +1 -1
  82. package/dist/es5/lib/utils/response-utils.js +71 -171
  83. package/dist/es5/lib/utils/response-utils.js.map +1 -1
  84. package/dist/es5/lib/utils/url-utils.js +2 -2
  85. package/dist/es5/lib/utils/url-utils.js.map +1 -1
  86. package/dist/es5/null-loader.js +14 -100
  87. package/dist/es5/null-loader.js.map +1 -1
  88. package/dist/esm/lib/init.js +1 -1
  89. package/dist/esm/null-loader.js +1 -1
  90. package/dist/null-worker.js +1 -1
  91. package/package.json +5 -5
  92. package/src/.DS_Store +0 -0
  93. package/src/lib/.DS_Store +0 -0
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _log = require("./utils/log");
8
- var version = typeof "3.4.13" !== 'undefined' ? "3.4.13" : 'latest';
8
+ const version = typeof "3.4.15" !== 'undefined' ? "3.4.15" : 'latest';
9
9
  if (!globalThis.loaders) {
10
10
  _log.log.log(1, "loaders.gl ".concat(version))();
11
11
  globalThis.loaders = Object.assign(globalThis.loaders || {}, {
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","names":["_log","require","version","globalThis","loaders","log","concat","Object","assign","VERSION","_default","exports","default"],"sources":["../../../src/lib/init.ts"],"sourcesContent":["// loaders.gl, MIT license\nimport {log} from './utils/log';\n\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst version = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\n// @ts-ignore\nif (!globalThis.loaders) {\n log.log(1, `loaders.gl ${version}`)();\n\n globalThis.loaders = Object.assign(globalThis.loaders || {}, {\n VERSION: version,\n log\n });\n}\n// @ts-ignore\nexport default globalThis.loaders;\n"],"mappings":";;;;;;AACA,IAAAA,IAAA,GAAAC,OAAA;AAGA,IAAMC,OAAO,GAAG,eAAkB,KAAK,WAAW,cAAiB,QAAQ;AAG3E,IAAI,CAACC,UAAU,CAACC,OAAO,EAAE;EACvBC,QAAG,CAACA,GAAG,CAAC,CAAC,gBAAAC,MAAA,CAAgBJ,OAAO,CAAE,CAAC,CAAC,CAAC;EAErCC,UAAU,CAACC,OAAO,GAAGG,MAAM,CAACC,MAAM,CAACL,UAAU,CAACC,OAAO,IAAI,CAAC,CAAC,EAAE;IAC3DK,OAAO,EAAEP,OAAO;IAChBG,GAAG,EAAHA;EACF,CAAC,CAAC;AACJ;AAAC,IAAAK,QAAA,GAEcP,UAAU,CAACC,OAAO;AAAAO,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
1
+ {"version":3,"file":"init.js","names":["_log","require","version","globalThis","loaders","log","concat","Object","assign","VERSION","_default","exports","default"],"sources":["../../../src/lib/init.ts"],"sourcesContent":["// loaders.gl, MIT license\nimport {log} from './utils/log';\n\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst version = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\n// @ts-ignore\nif (!globalThis.loaders) {\n log.log(1, `loaders.gl ${version}`)();\n\n globalThis.loaders = Object.assign(globalThis.loaders || {}, {\n VERSION: version,\n log\n });\n}\n// @ts-ignore\nexport default globalThis.loaders;\n"],"mappings":";;;;;;AACA,IAAAA,IAAA,GAAAC,OAAA;AAGA,MAAMC,OAAO,GAAG,eAAkB,KAAK,WAAW,cAAiB,QAAQ;AAG3E,IAAI,CAACC,UAAU,CAACC,OAAO,EAAE;EACvBC,QAAG,CAACA,GAAG,CAAC,CAAC,gBAAAC,MAAA,CAAgBJ,OAAO,CAAE,CAAC,CAAC,CAAC;EAErCC,UAAU,CAACC,OAAO,GAAGG,MAAM,CAACC,MAAM,CAACL,UAAU,CAACC,OAAO,IAAI,CAAC,CAAC,EAAE;IAC3DK,OAAO,EAAEP,OAAO;IAChBG,GAAG,EAAHA;EACF,CAAC,CAAC;AACJ;AAAC,IAAAK,QAAA,GAEcP,UAAU,CAACC,OAAO;AAAAO,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -1,49 +1,21 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.checkFetchResponseStatus = checkFetchResponseStatus;
8
7
  exports.checkFetchResponseStatusSync = checkFetchResponseStatusSync;
9
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
- function checkFetchResponseStatus(_x) {
12
- return _checkFetchResponseStatus.apply(this, arguments);
13
- }
14
- function _checkFetchResponseStatus() {
15
- _checkFetchResponseStatus = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(response) {
16
- var errorMessage, text;
17
- return _regenerator.default.wrap(function _callee$(_context) {
18
- while (1) switch (_context.prev = _context.next) {
19
- case 0:
20
- if (response.ok) {
21
- _context.next = 12;
22
- break;
23
- }
24
- errorMessage = "fetch failed ".concat(response.status, " ").concat(response.statusText);
25
- _context.prev = 2;
26
- _context.next = 5;
27
- return response.text();
28
- case 5:
29
- text = _context.sent;
30
- if (text) {
31
- errorMessage += ": ".concat(getErrorText(text));
32
- }
33
- _context.next = 11;
34
- break;
35
- case 9:
36
- _context.prev = 9;
37
- _context.t0 = _context["catch"](2);
38
- case 11:
39
- throw new Error(errorMessage);
40
- case 12:
41
- case "end":
42
- return _context.stop();
8
+ async function checkFetchResponseStatus(response) {
9
+ if (!response.ok) {
10
+ let errorMessage = "fetch failed ".concat(response.status, " ").concat(response.statusText);
11
+ try {
12
+ const text = await response.text();
13
+ if (text) {
14
+ errorMessage += ": ".concat(getErrorText(text));
43
15
  }
44
- }, _callee, null, [[2, 9]]);
45
- }));
46
- return _checkFetchResponseStatus.apply(this, arguments);
16
+ } catch (error) {}
17
+ throw new Error(errorMessage);
18
+ }
47
19
  }
48
20
  function checkFetchResponseStatusSync(response) {
49
21
  if (!response.ok) {
@@ -51,7 +23,7 @@ function checkFetchResponseStatusSync(response) {
51
23
  }
52
24
  }
53
25
  function getErrorText(text) {
54
- var matches = text.match('<pre>(.*)</pre>');
26
+ const matches = text.match('<pre>(.*)</pre>');
55
27
  return matches ? matches[1] : " ".concat(text.slice(0, 10), "...");
56
28
  }
57
29
  //# sourceMappingURL=check-errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"check-errors.js","names":["checkFetchResponseStatus","_x","_checkFetchResponseStatus","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","response","errorMessage","text","wrap","_callee$","_context","prev","next","ok","concat","status","statusText","sent","getErrorText","t0","Error","stop","checkFetchResponseStatusSync","matches","match","slice"],"sources":["../../../../src/lib/loader-utils/check-errors.ts"],"sourcesContent":["export async function checkFetchResponseStatus(response) {\n if (!response.ok) {\n let errorMessage = `fetch failed ${response.status} ${response.statusText}`;\n try {\n const text = await response.text();\n if (text) {\n errorMessage += `: ${getErrorText(text)}`;\n }\n } catch (error) {\n // ignore error\n }\n throw new Error(errorMessage);\n }\n}\n\nexport function checkFetchResponseStatusSync(response) {\n if (!response.ok) {\n throw new Error(`fetch failed ${response.status}`);\n }\n}\n\nfunction getErrorText(text) {\n // Look for HTML error texts\n const matches = text.match('<pre>(.*)</pre>');\n return matches ? matches[1] : ` ${text.slice(0, 10)}...`;\n}\n"],"mappings":";;;;;;;;;;SAAsBA,wBAAwBA,CAAAC,EAAA;EAAA,OAAAC,yBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,0BAAA;EAAAA,yBAAA,OAAAG,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAvC,SAAAC,QAAwCC,QAAQ;IAAA,IAAAC,YAAA,EAAAC,IAAA;IAAA,OAAAL,YAAA,CAAAD,OAAA,CAAAO,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAAA,IAChDP,QAAQ,CAACQ,EAAE;YAAAH,QAAA,CAAAE,IAAA;YAAA;UAAA;UACVN,YAAY,mBAAAQ,MAAA,CAAmBT,QAAQ,CAACU,MAAM,OAAAD,MAAA,CAAIT,QAAQ,CAACW,UAAU;UAAAN,QAAA,CAAAC,IAAA;UAAAD,QAAA,CAAAE,IAAA;UAAA,OAEpDP,QAAQ,CAACE,IAAI,CAAC,CAAC;QAAA;UAA5BA,IAAI,GAAAG,QAAA,CAAAO,IAAA;UACV,IAAIV,IAAI,EAAE;YACRD,YAAY,SAAAQ,MAAA,CAASI,YAAY,CAACX,IAAI,CAAC,CAAE;UAC3C;UAACG,QAAA,CAAAE,IAAA;UAAA;QAAA;UAAAF,QAAA,CAAAC,IAAA;UAAAD,QAAA,CAAAS,EAAA,GAAAT,QAAA;QAAA;UAAA,MAIG,IAAIU,KAAK,CAACd,YAAY,CAAC;QAAA;QAAA;UAAA,OAAAI,QAAA,CAAAW,IAAA;MAAA;IAAA,GAAAjB,OAAA;EAAA,CAEhC;EAAA,OAAAP,yBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAEM,SAASuB,4BAA4BA,CAACjB,QAAQ,EAAE;EACrD,IAAI,CAACA,QAAQ,CAACQ,EAAE,EAAE;IAChB,MAAM,IAAIO,KAAK,iBAAAN,MAAA,CAAiBT,QAAQ,CAACU,MAAM,CAAE,CAAC;EACpD;AACF;AAEA,SAASG,YAAYA,CAACX,IAAI,EAAE;EAE1B,IAAMgB,OAAO,GAAGhB,IAAI,CAACiB,KAAK,CAAC,iBAAiB,CAAC;EAC7C,OAAOD,OAAO,GAAGA,OAAO,CAAC,CAAC,CAAC,OAAAT,MAAA,CAAOP,IAAI,CAACkB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,QAAK;AAC1D"}
1
+ {"version":3,"file":"check-errors.js","names":["checkFetchResponseStatus","response","ok","errorMessage","concat","status","statusText","text","getErrorText","error","Error","checkFetchResponseStatusSync","matches","match","slice"],"sources":["../../../../src/lib/loader-utils/check-errors.ts"],"sourcesContent":["export async function checkFetchResponseStatus(response) {\n if (!response.ok) {\n let errorMessage = `fetch failed ${response.status} ${response.statusText}`;\n try {\n const text = await response.text();\n if (text) {\n errorMessage += `: ${getErrorText(text)}`;\n }\n } catch (error) {\n // ignore error\n }\n throw new Error(errorMessage);\n }\n}\n\nexport function checkFetchResponseStatusSync(response) {\n if (!response.ok) {\n throw new Error(`fetch failed ${response.status}`);\n }\n}\n\nfunction getErrorText(text) {\n // Look for HTML error texts\n const matches = text.match('<pre>(.*)</pre>');\n return matches ? matches[1] : ` ${text.slice(0, 10)}...`;\n}\n"],"mappings":";;;;;;;AAAO,eAAeA,wBAAwBA,CAACC,QAAQ,EAAE;EACvD,IAAI,CAACA,QAAQ,CAACC,EAAE,EAAE;IAChB,IAAIC,YAAY,mBAAAC,MAAA,CAAmBH,QAAQ,CAACI,MAAM,OAAAD,MAAA,CAAIH,QAAQ,CAACK,UAAU,CAAE;IAC3E,IAAI;MACF,MAAMC,IAAI,GAAG,MAAMN,QAAQ,CAACM,IAAI,CAAC,CAAC;MAClC,IAAIA,IAAI,EAAE;QACRJ,YAAY,SAAAC,MAAA,CAASI,YAAY,CAACD,IAAI,CAAC,CAAE;MAC3C;IACF,CAAC,CAAC,OAAOE,KAAK,EAAE,CAEhB;IACA,MAAM,IAAIC,KAAK,CAACP,YAAY,CAAC;EAC/B;AACF;AAEO,SAASQ,4BAA4BA,CAACV,QAAQ,EAAE;EACrD,IAAI,CAACA,QAAQ,CAACC,EAAE,EAAE;IAChB,MAAM,IAAIQ,KAAK,iBAAAN,MAAA,CAAiBH,QAAQ,CAACI,MAAM,CAAE,CAAC;EACpD;AACF;AAEA,SAASG,YAAYA,CAACD,IAAI,EAAE;EAE1B,MAAMK,OAAO,GAAGL,IAAI,CAACM,KAAK,CAAC,iBAAiB,CAAC;EAC7C,OAAOD,OAAO,GAAGA,OAAO,CAAC,CAAC,CAAC,OAAAR,MAAA,CAAOG,IAAI,CAACO,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,QAAK;AAC1D"}
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
@@ -8,13 +7,11 @@ exports.getArrayBufferOrStringFromData = getArrayBufferOrStringFromData;
8
7
  exports.getArrayBufferOrStringFromDataSync = getArrayBufferOrStringFromDataSync;
9
8
  exports.getAsyncIterableFromData = getAsyncIterableFromData;
10
9
  exports.getReadableStream = getReadableStream;
11
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
12
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
10
  var _loaderUtils = require("@loaders.gl/loader-utils");
14
11
  var _isType = require("../../javascript-utils/is-type");
15
12
  var _makeIterator = require("../../iterators/make-iterator/make-iterator");
16
13
  var _responseUtils = require("../utils/response-utils");
17
- var ERR_DATA = 'Cannot convert supplied data type';
14
+ const ERR_DATA = 'Cannot convert supplied data type';
18
15
  function getArrayBufferOrStringFromDataSync(data, loader, options) {
19
16
  if (loader.text && typeof data === 'string') {
20
17
  return data;
@@ -23,208 +20,86 @@ function getArrayBufferOrStringFromDataSync(data, loader, options) {
23
20
  data = data.buffer;
24
21
  }
25
22
  if (data instanceof ArrayBuffer) {
26
- var arrayBuffer = data;
23
+ const arrayBuffer = data;
27
24
  if (loader.text && !loader.binary) {
28
- var textDecoder = new TextDecoder('utf8');
25
+ const textDecoder = new TextDecoder('utf8');
29
26
  return textDecoder.decode(arrayBuffer);
30
27
  }
31
28
  return arrayBuffer;
32
29
  }
33
30
  if (ArrayBuffer.isView(data)) {
34
31
  if (loader.text && !loader.binary) {
35
- var _textDecoder = new TextDecoder('utf8');
36
- return _textDecoder.decode(data);
32
+ const textDecoder = new TextDecoder('utf8');
33
+ return textDecoder.decode(data);
37
34
  }
38
- var _arrayBuffer = data.buffer;
39
- var byteLength = data.byteLength || data.length;
40
- if (data.byteOffset !== 0 || byteLength !== _arrayBuffer.byteLength) {
41
- _arrayBuffer = _arrayBuffer.slice(data.byteOffset, data.byteOffset + byteLength);
35
+ let arrayBuffer = data.buffer;
36
+ const byteLength = data.byteLength || data.length;
37
+ if (data.byteOffset !== 0 || byteLength !== arrayBuffer.byteLength) {
38
+ arrayBuffer = arrayBuffer.slice(data.byteOffset, data.byteOffset + byteLength);
42
39
  }
43
- return _arrayBuffer;
40
+ return arrayBuffer;
44
41
  }
45
42
  throw new Error(ERR_DATA);
46
43
  }
47
- function getArrayBufferOrStringFromData(_x, _x2, _x3) {
48
- return _getArrayBufferOrStringFromData.apply(this, arguments);
49
- }
50
- function _getArrayBufferOrStringFromData() {
51
- _getArrayBufferOrStringFromData = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(data, loader, options) {
52
- var isArrayBuffer, response;
53
- return _regenerator.default.wrap(function _callee$(_context3) {
54
- while (1) switch (_context3.prev = _context3.next) {
55
- case 0:
56
- isArrayBuffer = data instanceof ArrayBuffer || ArrayBuffer.isView(data);
57
- if (!(typeof data === 'string' || isArrayBuffer)) {
58
- _context3.next = 3;
59
- break;
60
- }
61
- return _context3.abrupt("return", getArrayBufferOrStringFromDataSync(data, loader, options));
62
- case 3:
63
- if (!(0, _isType.isBlob)(data)) {
64
- _context3.next = 7;
65
- break;
66
- }
67
- _context3.next = 6;
68
- return (0, _responseUtils.makeResponse)(data);
69
- case 6:
70
- data = _context3.sent;
71
- case 7:
72
- if (!(0, _isType.isResponse)(data)) {
73
- _context3.next = 21;
74
- break;
75
- }
76
- response = data;
77
- _context3.next = 11;
78
- return (0, _responseUtils.checkResponse)(response);
79
- case 11:
80
- if (!loader.binary) {
81
- _context3.next = 17;
82
- break;
83
- }
84
- _context3.next = 14;
85
- return response.arrayBuffer();
86
- case 14:
87
- _context3.t0 = _context3.sent;
88
- _context3.next = 20;
89
- break;
90
- case 17:
91
- _context3.next = 19;
92
- return response.text();
93
- case 19:
94
- _context3.t0 = _context3.sent;
95
- case 20:
96
- return _context3.abrupt("return", _context3.t0);
97
- case 21:
98
- if ((0, _isType.isReadableStream)(data)) {
99
- data = (0, _makeIterator.makeIterator)(data, options);
100
- }
101
- if (!((0, _isType.isIterable)(data) || (0, _isType.isAsyncIterable)(data))) {
102
- _context3.next = 24;
103
- break;
104
- }
105
- return _context3.abrupt("return", (0, _loaderUtils.concatenateArrayBuffersAsync)(data));
106
- case 24:
107
- throw new Error(ERR_DATA);
108
- case 25:
109
- case "end":
110
- return _context3.stop();
111
- }
112
- }, _callee);
113
- }));
114
- return _getArrayBufferOrStringFromData.apply(this, arguments);
115
- }
116
- function getAsyncIterableFromData(_x4, _x5) {
117
- return _getAsyncIterableFromData.apply(this, arguments);
118
- }
119
- function _getAsyncIterableFromData() {
120
- _getAsyncIterableFromData = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(data, options) {
121
- var response, body;
122
- return _regenerator.default.wrap(function _callee2$(_context4) {
123
- while (1) switch (_context4.prev = _context4.next) {
124
- case 0:
125
- if (!(0, _isType.isIterator)(data)) {
126
- _context4.next = 2;
127
- break;
128
- }
129
- return _context4.abrupt("return", data);
130
- case 2:
131
- if (!(0, _isType.isResponse)(data)) {
132
- _context4.next = 10;
133
- break;
134
- }
135
- response = data;
136
- _context4.next = 6;
137
- return (0, _responseUtils.checkResponse)(response);
138
- case 6:
139
- _context4.next = 8;
140
- return response.body;
141
- case 8:
142
- body = _context4.sent;
143
- return _context4.abrupt("return", (0, _makeIterator.makeIterator)(body, options));
144
- case 10:
145
- if (!((0, _isType.isBlob)(data) || (0, _isType.isReadableStream)(data))) {
146
- _context4.next = 12;
147
- break;
148
- }
149
- return _context4.abrupt("return", (0, _makeIterator.makeIterator)(data, options));
150
- case 12:
151
- if (!(0, _isType.isAsyncIterable)(data)) {
152
- _context4.next = 14;
153
- break;
154
- }
155
- return _context4.abrupt("return", data[Symbol.asyncIterator]());
156
- case 14:
157
- return _context4.abrupt("return", getIterableFromData(data));
158
- case 15:
159
- case "end":
160
- return _context4.stop();
161
- }
162
- }, _callee2);
163
- }));
164
- return _getAsyncIterableFromData.apply(this, arguments);
44
+ async function getArrayBufferOrStringFromData(data, loader, options) {
45
+ const isArrayBuffer = data instanceof ArrayBuffer || ArrayBuffer.isView(data);
46
+ if (typeof data === 'string' || isArrayBuffer) {
47
+ return getArrayBufferOrStringFromDataSync(data, loader, options);
48
+ }
49
+ if ((0, _isType.isBlob)(data)) {
50
+ data = await (0, _responseUtils.makeResponse)(data);
51
+ }
52
+ if ((0, _isType.isResponse)(data)) {
53
+ const response = data;
54
+ await (0, _responseUtils.checkResponse)(response);
55
+ return loader.binary ? await response.arrayBuffer() : await response.text();
56
+ }
57
+ if ((0, _isType.isReadableStream)(data)) {
58
+ data = (0, _makeIterator.makeIterator)(data, options);
59
+ }
60
+ if ((0, _isType.isIterable)(data) || (0, _isType.isAsyncIterable)(data)) {
61
+ return (0, _loaderUtils.concatenateArrayBuffersAsync)(data);
62
+ }
63
+ throw new Error(ERR_DATA);
165
64
  }
166
- function getReadableStream(_x6) {
167
- return _getReadableStream.apply(this, arguments);
65
+ async function getAsyncIterableFromData(data, options) {
66
+ if ((0, _isType.isIterator)(data)) {
67
+ return data;
68
+ }
69
+ if ((0, _isType.isResponse)(data)) {
70
+ const response = data;
71
+ await (0, _responseUtils.checkResponse)(response);
72
+ const body = await response.body;
73
+ return (0, _makeIterator.makeIterator)(body, options);
74
+ }
75
+ if ((0, _isType.isBlob)(data) || (0, _isType.isReadableStream)(data)) {
76
+ return (0, _makeIterator.makeIterator)(data, options);
77
+ }
78
+ if ((0, _isType.isAsyncIterable)(data)) {
79
+ return data[Symbol.asyncIterator]();
80
+ }
81
+ return getIterableFromData(data);
168
82
  }
169
- function _getReadableStream() {
170
- _getReadableStream = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(data) {
171
- var response;
172
- return _regenerator.default.wrap(function _callee3$(_context5) {
173
- while (1) switch (_context5.prev = _context5.next) {
174
- case 0:
175
- if (!(0, _isType.isReadableStream)(data)) {
176
- _context5.next = 2;
177
- break;
178
- }
179
- return _context5.abrupt("return", data);
180
- case 2:
181
- if (!(0, _isType.isResponse)(data)) {
182
- _context5.next = 4;
183
- break;
184
- }
185
- return _context5.abrupt("return", data.body);
186
- case 4:
187
- _context5.next = 6;
188
- return (0, _responseUtils.makeResponse)(data);
189
- case 6:
190
- response = _context5.sent;
191
- return _context5.abrupt("return", response.body);
192
- case 8:
193
- case "end":
194
- return _context5.stop();
195
- }
196
- }, _callee3);
197
- }));
198
- return _getReadableStream.apply(this, arguments);
83
+ async function getReadableStream(data) {
84
+ if ((0, _isType.isReadableStream)(data)) {
85
+ return data;
86
+ }
87
+ if ((0, _isType.isResponse)(data)) {
88
+ return data.body;
89
+ }
90
+ const response = await (0, _responseUtils.makeResponse)(data);
91
+ return response.body;
199
92
  }
200
93
  function getIterableFromData(data) {
201
94
  if (ArrayBuffer.isView(data)) {
202
- return _regenerator.default.mark(function oneChunk() {
203
- return _regenerator.default.wrap(function oneChunk$(_context) {
204
- while (1) switch (_context.prev = _context.next) {
205
- case 0:
206
- _context.next = 2;
207
- return data.buffer;
208
- case 2:
209
- case "end":
210
- return _context.stop();
211
- }
212
- }, oneChunk);
213
- })();
95
+ return function* oneChunk() {
96
+ yield data.buffer;
97
+ }();
214
98
  }
215
99
  if (data instanceof ArrayBuffer) {
216
- return _regenerator.default.mark(function oneChunk() {
217
- return _regenerator.default.wrap(function oneChunk$(_context2) {
218
- while (1) switch (_context2.prev = _context2.next) {
219
- case 0:
220
- _context2.next = 2;
221
- return data;
222
- case 2:
223
- case "end":
224
- return _context2.stop();
225
- }
226
- }, oneChunk);
227
- })();
100
+ return function* oneChunk() {
101
+ yield data;
102
+ }();
228
103
  }
229
104
  if ((0, _isType.isIterator)(data)) {
230
105
  return data;
@@ -1 +1 @@
1
- {"version":3,"file":"get-data.js","names":["_loaderUtils","require","_isType","_makeIterator","_responseUtils","ERR_DATA","getArrayBufferOrStringFromDataSync","data","loader","options","text","isBuffer","buffer","ArrayBuffer","arrayBuffer","binary","textDecoder","TextDecoder","decode","isView","byteLength","length","byteOffset","slice","Error","getArrayBufferOrStringFromData","_x","_x2","_x3","_getArrayBufferOrStringFromData","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","isArrayBuffer","response","wrap","_callee$","_context3","prev","next","abrupt","isBlob","makeResponse","sent","isResponse","checkResponse","t0","isReadableStream","makeIterator","isIterable","isAsyncIterable","concatenateArrayBuffersAsync","stop","getAsyncIterableFromData","_x4","_x5","_getAsyncIterableFromData","_callee2","body","_callee2$","_context4","isIterator","Symbol","asyncIterator","getIterableFromData","getReadableStream","_x6","_getReadableStream","_callee3","_callee3$","_context5","oneChunk","oneChunk$","_context","_context2","iterator"],"sources":["../../../../src/lib/loader-utils/get-data.ts"],"sourcesContent":["import type {\n DataType,\n SyncDataType,\n BatchableDataType,\n Loader,\n LoaderOptions\n} from '@loaders.gl/loader-utils';\nimport {concatenateArrayBuffersAsync} from '@loaders.gl/loader-utils';\nimport {\n isResponse,\n isReadableStream,\n isAsyncIterable,\n isIterable,\n isIterator,\n isBlob,\n isBuffer\n} from '../../javascript-utils/is-type';\nimport {makeIterator} from '../../iterators/make-iterator/make-iterator';\nimport {checkResponse, makeResponse} from '../utils/response-utils';\n\nconst ERR_DATA = 'Cannot convert supplied data type';\n\n// eslint-disable-next-line complexity\nexport function getArrayBufferOrStringFromDataSync(\n data: SyncDataType,\n loader: Loader,\n options: LoaderOptions\n): ArrayBuffer | string {\n if (loader.text && typeof data === 'string') {\n return data;\n }\n\n if (isBuffer(data)) {\n // @ts-ignore\n data = data.buffer;\n }\n\n if (data instanceof ArrayBuffer) {\n const arrayBuffer = data;\n if (loader.text && !loader.binary) {\n const textDecoder = new TextDecoder('utf8');\n return textDecoder.decode(arrayBuffer);\n }\n return arrayBuffer;\n }\n\n // We may need to handle offsets\n if (ArrayBuffer.isView(data)) {\n // TextDecoder is invoked on typed arrays and will handle offsets\n if (loader.text && !loader.binary) {\n const textDecoder = new TextDecoder('utf8');\n return textDecoder.decode(data);\n }\n\n let arrayBuffer = data.buffer;\n\n // Since we are returning the underlying arrayBuffer, we must create a new copy\n // if this typed array / Buffer is a partial view into the ArryayBuffer\n // TODO - this is a potentially unnecessary copy\n const byteLength = data.byteLength || data.length;\n if (data.byteOffset !== 0 || byteLength !== arrayBuffer.byteLength) {\n // console.warn(`loaders.gl copying arraybuffer of length ${byteLength}`);\n arrayBuffer = arrayBuffer.slice(data.byteOffset, data.byteOffset + byteLength);\n }\n return arrayBuffer;\n }\n\n throw new Error(ERR_DATA);\n}\n\n// Convert async iterator to a promise\nexport async function getArrayBufferOrStringFromData(\n data: DataType,\n loader: Loader,\n options: LoaderOptions\n): Promise<ArrayBuffer | string> {\n const isArrayBuffer = data instanceof ArrayBuffer || ArrayBuffer.isView(data);\n if (typeof data === 'string' || isArrayBuffer) {\n return getArrayBufferOrStringFromDataSync(data as string | ArrayBuffer, loader, options);\n }\n\n // Blobs and files are FileReader compatible\n if (isBlob(data)) {\n data = await makeResponse(data);\n }\n\n if (isResponse(data)) {\n const response = data as Response;\n await checkResponse(response);\n return loader.binary ? await response.arrayBuffer() : await response.text();\n }\n\n if (isReadableStream(data)) {\n // @ts-expect-error TS2559 options type\n data = makeIterator(data as ReadableStream, options);\n }\n\n if (isIterable(data) || isAsyncIterable(data)) {\n // Assume arrayBuffer iterator - attempt to concatenate\n return concatenateArrayBuffersAsync(data as AsyncIterable<ArrayBuffer>);\n }\n\n throw new Error(ERR_DATA);\n}\n\nexport async function getAsyncIterableFromData(\n data: BatchableDataType,\n options: LoaderOptions\n): Promise<AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>> {\n if (isIterator(data)) {\n return data as AsyncIterable<ArrayBuffer>;\n }\n\n if (isResponse(data)) {\n const response = data as Response;\n // Note Since this function is not async, we currently can't load error message, just status\n await checkResponse(response);\n // TODO - bug in polyfill, body can be a Promise under Node.js\n // eslint-disable-next-line @typescript-eslint/await-thenable\n const body = await response.body;\n // TODO - body can be null?\n return makeIterator(body as ReadableStream<Uint8Array>, options as any);\n }\n\n if (isBlob(data) || isReadableStream(data)) {\n return makeIterator(data as Blob | ReadableStream, options as any);\n }\n\n if (isAsyncIterable(data)) {\n return data[Symbol.asyncIterator]();\n }\n\n return getIterableFromData(data);\n}\n\nexport async function getReadableStream(data: BatchableDataType): Promise<ReadableStream> {\n if (isReadableStream(data)) {\n return data as ReadableStream;\n }\n if (isResponse(data)) {\n // @ts-ignore\n return data.body;\n }\n const response = await makeResponse(data);\n // @ts-ignore\n return response.body;\n}\n\n// HELPERS\n\nfunction getIterableFromData(data) {\n // generate an iterator that emits a single chunk\n if (ArrayBuffer.isView(data)) {\n return (function* oneChunk() {\n yield data.buffer;\n })();\n }\n\n if (data instanceof ArrayBuffer) {\n return (function* oneChunk() {\n yield data;\n })();\n }\n\n if (isIterator(data)) {\n return data;\n }\n\n if (isIterable(data)) {\n return data[Symbol.iterator]();\n }\n\n throw new Error(ERR_DATA);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"get-data.js","names":["_loaderUtils","require","_isType","_makeIterator","_responseUtils","ERR_DATA","getArrayBufferOrStringFromDataSync","data","loader","options","text","isBuffer","buffer","ArrayBuffer","arrayBuffer","binary","textDecoder","TextDecoder","decode","isView","byteLength","length","byteOffset","slice","Error","getArrayBufferOrStringFromData","isArrayBuffer","isBlob","makeResponse","isResponse","response","checkResponse","isReadableStream","makeIterator","isIterable","isAsyncIterable","concatenateArrayBuffersAsync","getAsyncIterableFromData","isIterator","body","Symbol","asyncIterator","getIterableFromData","getReadableStream","oneChunk","iterator"],"sources":["../../../../src/lib/loader-utils/get-data.ts"],"sourcesContent":["import type {\n DataType,\n SyncDataType,\n BatchableDataType,\n Loader,\n LoaderOptions\n} from '@loaders.gl/loader-utils';\nimport {concatenateArrayBuffersAsync} from '@loaders.gl/loader-utils';\nimport {\n isResponse,\n isReadableStream,\n isAsyncIterable,\n isIterable,\n isIterator,\n isBlob,\n isBuffer\n} from '../../javascript-utils/is-type';\nimport {makeIterator} from '../../iterators/make-iterator/make-iterator';\nimport {checkResponse, makeResponse} from '../utils/response-utils';\n\nconst ERR_DATA = 'Cannot convert supplied data type';\n\n// eslint-disable-next-line complexity\nexport function getArrayBufferOrStringFromDataSync(\n data: SyncDataType,\n loader: Loader,\n options: LoaderOptions\n): ArrayBuffer | string {\n if (loader.text && typeof data === 'string') {\n return data;\n }\n\n if (isBuffer(data)) {\n // @ts-ignore\n data = data.buffer;\n }\n\n if (data instanceof ArrayBuffer) {\n const arrayBuffer = data;\n if (loader.text && !loader.binary) {\n const textDecoder = new TextDecoder('utf8');\n return textDecoder.decode(arrayBuffer);\n }\n return arrayBuffer;\n }\n\n // We may need to handle offsets\n if (ArrayBuffer.isView(data)) {\n // TextDecoder is invoked on typed arrays and will handle offsets\n if (loader.text && !loader.binary) {\n const textDecoder = new TextDecoder('utf8');\n return textDecoder.decode(data);\n }\n\n let arrayBuffer = data.buffer;\n\n // Since we are returning the underlying arrayBuffer, we must create a new copy\n // if this typed array / Buffer is a partial view into the ArryayBuffer\n // TODO - this is a potentially unnecessary copy\n const byteLength = data.byteLength || data.length;\n if (data.byteOffset !== 0 || byteLength !== arrayBuffer.byteLength) {\n // console.warn(`loaders.gl copying arraybuffer of length ${byteLength}`);\n arrayBuffer = arrayBuffer.slice(data.byteOffset, data.byteOffset + byteLength);\n }\n return arrayBuffer;\n }\n\n throw new Error(ERR_DATA);\n}\n\n// Convert async iterator to a promise\nexport async function getArrayBufferOrStringFromData(\n data: DataType,\n loader: Loader,\n options: LoaderOptions\n): Promise<ArrayBuffer | string> {\n const isArrayBuffer = data instanceof ArrayBuffer || ArrayBuffer.isView(data);\n if (typeof data === 'string' || isArrayBuffer) {\n return getArrayBufferOrStringFromDataSync(data as string | ArrayBuffer, loader, options);\n }\n\n // Blobs and files are FileReader compatible\n if (isBlob(data)) {\n data = await makeResponse(data);\n }\n\n if (isResponse(data)) {\n const response = data as Response;\n await checkResponse(response);\n return loader.binary ? await response.arrayBuffer() : await response.text();\n }\n\n if (isReadableStream(data)) {\n // @ts-expect-error TS2559 options type\n data = makeIterator(data as ReadableStream, options);\n }\n\n if (isIterable(data) || isAsyncIterable(data)) {\n // Assume arrayBuffer iterator - attempt to concatenate\n return concatenateArrayBuffersAsync(data as AsyncIterable<ArrayBuffer>);\n }\n\n throw new Error(ERR_DATA);\n}\n\nexport async function getAsyncIterableFromData(\n data: BatchableDataType,\n options: LoaderOptions\n): Promise<AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>> {\n if (isIterator(data)) {\n return data as AsyncIterable<ArrayBuffer>;\n }\n\n if (isResponse(data)) {\n const response = data as Response;\n // Note Since this function is not async, we currently can't load error message, just status\n await checkResponse(response);\n // TODO - bug in polyfill, body can be a Promise under Node.js\n // eslint-disable-next-line @typescript-eslint/await-thenable\n const body = await response.body;\n // TODO - body can be null?\n return makeIterator(body as ReadableStream<Uint8Array>, options as any);\n }\n\n if (isBlob(data) || isReadableStream(data)) {\n return makeIterator(data as Blob | ReadableStream, options as any);\n }\n\n if (isAsyncIterable(data)) {\n return data[Symbol.asyncIterator]();\n }\n\n return getIterableFromData(data);\n}\n\nexport async function getReadableStream(data: BatchableDataType): Promise<ReadableStream> {\n if (isReadableStream(data)) {\n return data as ReadableStream;\n }\n if (isResponse(data)) {\n // @ts-ignore\n return data.body;\n }\n const response = await makeResponse(data);\n // @ts-ignore\n return response.body;\n}\n\n// HELPERS\n\nfunction getIterableFromData(data) {\n // generate an iterator that emits a single chunk\n if (ArrayBuffer.isView(data)) {\n return (function* oneChunk() {\n yield data.buffer;\n })();\n }\n\n if (data instanceof ArrayBuffer) {\n return (function* oneChunk() {\n yield data;\n })();\n }\n\n if (isIterator(data)) {\n return data;\n }\n\n if (isIterable(data)) {\n return data[Symbol.iterator]();\n }\n\n throw new Error(ERR_DATA);\n}\n"],"mappings":";;;;;;;;;AAOA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AASA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AAEA,MAAMI,QAAQ,GAAG,mCAAmC;AAG7C,SAASC,kCAAkCA,CAChDC,IAAkB,EAClBC,MAAc,EACdC,OAAsB,EACA;EACtB,IAAID,MAAM,CAACE,IAAI,IAAI,OAAOH,IAAI,KAAK,QAAQ,EAAE;IAC3C,OAAOA,IAAI;EACb;EAEA,IAAI,IAAAI,gBAAQ,EAACJ,IAAI,CAAC,EAAE;IAElBA,IAAI,GAAGA,IAAI,CAACK,MAAM;EACpB;EAEA,IAAIL,IAAI,YAAYM,WAAW,EAAE;IAC/B,MAAMC,WAAW,GAAGP,IAAI;IACxB,IAAIC,MAAM,CAACE,IAAI,IAAI,CAACF,MAAM,CAACO,MAAM,EAAE;MACjC,MAAMC,WAAW,GAAG,IAAIC,WAAW,CAAC,MAAM,CAAC;MAC3C,OAAOD,WAAW,CAACE,MAAM,CAACJ,WAAW,CAAC;IACxC;IACA,OAAOA,WAAW;EACpB;EAGA,IAAID,WAAW,CAACM,MAAM,CAACZ,IAAI,CAAC,EAAE;IAE5B,IAAIC,MAAM,CAACE,IAAI,IAAI,CAACF,MAAM,CAACO,MAAM,EAAE;MACjC,MAAMC,WAAW,GAAG,IAAIC,WAAW,CAAC,MAAM,CAAC;MAC3C,OAAOD,WAAW,CAACE,MAAM,CAACX,IAAI,CAAC;IACjC;IAEA,IAAIO,WAAW,GAAGP,IAAI,CAACK,MAAM;IAK7B,MAAMQ,UAAU,GAAGb,IAAI,CAACa,UAAU,IAAIb,IAAI,CAACc,MAAM;IACjD,IAAId,IAAI,CAACe,UAAU,KAAK,CAAC,IAAIF,UAAU,KAAKN,WAAW,CAACM,UAAU,EAAE;MAElEN,WAAW,GAAGA,WAAW,CAACS,KAAK,CAAChB,IAAI,CAACe,UAAU,EAAEf,IAAI,CAACe,UAAU,GAAGF,UAAU,CAAC;IAChF;IACA,OAAON,WAAW;EACpB;EAEA,MAAM,IAAIU,KAAK,CAACnB,QAAQ,CAAC;AAC3B;AAGO,eAAeoB,8BAA8BA,CAClDlB,IAAc,EACdC,MAAc,EACdC,OAAsB,EACS;EAC/B,MAAMiB,aAAa,GAAGnB,IAAI,YAAYM,WAAW,IAAIA,WAAW,CAACM,MAAM,CAACZ,IAAI,CAAC;EAC7E,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAImB,aAAa,EAAE;IAC7C,OAAOpB,kCAAkC,CAACC,IAAI,EAA0BC,MAAM,EAAEC,OAAO,CAAC;EAC1F;EAGA,IAAI,IAAAkB,cAAM,EAACpB,IAAI,CAAC,EAAE;IAChBA,IAAI,GAAG,MAAM,IAAAqB,2BAAY,EAACrB,IAAI,CAAC;EACjC;EAEA,IAAI,IAAAsB,kBAAU,EAACtB,IAAI,CAAC,EAAE;IACpB,MAAMuB,QAAQ,GAAGvB,IAAgB;IACjC,MAAM,IAAAwB,4BAAa,EAACD,QAAQ,CAAC;IAC7B,OAAOtB,MAAM,CAACO,MAAM,GAAG,MAAMe,QAAQ,CAAChB,WAAW,CAAC,CAAC,GAAG,MAAMgB,QAAQ,CAACpB,IAAI,CAAC,CAAC;EAC7E;EAEA,IAAI,IAAAsB,wBAAgB,EAACzB,IAAI,CAAC,EAAE;IAE1BA,IAAI,GAAG,IAAA0B,0BAAY,EAAC1B,IAAI,EAAoBE,OAAO,CAAC;EACtD;EAEA,IAAI,IAAAyB,kBAAU,EAAC3B,IAAI,CAAC,IAAI,IAAA4B,uBAAe,EAAC5B,IAAI,CAAC,EAAE;IAE7C,OAAO,IAAA6B,yCAA4B,EAAC7B,IAAkC,CAAC;EACzE;EAEA,MAAM,IAAIiB,KAAK,CAACnB,QAAQ,CAAC;AAC3B;AAEO,eAAegC,wBAAwBA,CAC5C9B,IAAuB,EACvBE,OAAsB,EACuC;EAC7D,IAAI,IAAA6B,kBAAU,EAAC/B,IAAI,CAAC,EAAE;IACpB,OAAOA,IAAI;EACb;EAEA,IAAI,IAAAsB,kBAAU,EAACtB,IAAI,CAAC,EAAE;IACpB,MAAMuB,QAAQ,GAAGvB,IAAgB;IAEjC,MAAM,IAAAwB,4BAAa,EAACD,QAAQ,CAAC;IAG7B,MAAMS,IAAI,GAAG,MAAMT,QAAQ,CAACS,IAAI;IAEhC,OAAO,IAAAN,0BAAY,EAACM,IAAI,EAAgC9B,OAAc,CAAC;EACzE;EAEA,IAAI,IAAAkB,cAAM,EAACpB,IAAI,CAAC,IAAI,IAAAyB,wBAAgB,EAACzB,IAAI,CAAC,EAAE;IAC1C,OAAO,IAAA0B,0BAAY,EAAC1B,IAAI,EAA2BE,OAAc,CAAC;EACpE;EAEA,IAAI,IAAA0B,uBAAe,EAAC5B,IAAI,CAAC,EAAE;IACzB,OAAOA,IAAI,CAACiC,MAAM,CAACC,aAAa,CAAC,CAAC,CAAC;EACrC;EAEA,OAAOC,mBAAmB,CAACnC,IAAI,CAAC;AAClC;AAEO,eAAeoC,iBAAiBA,CAACpC,IAAuB,EAA2B;EACxF,IAAI,IAAAyB,wBAAgB,EAACzB,IAAI,CAAC,EAAE;IAC1B,OAAOA,IAAI;EACb;EACA,IAAI,IAAAsB,kBAAU,EAACtB,IAAI,CAAC,EAAE;IAEpB,OAAOA,IAAI,CAACgC,IAAI;EAClB;EACA,MAAMT,QAAQ,GAAG,MAAM,IAAAF,2BAAY,EAACrB,IAAI,CAAC;EAEzC,OAAOuB,QAAQ,CAACS,IAAI;AACtB;AAIA,SAASG,mBAAmBA,CAACnC,IAAI,EAAE;EAEjC,IAAIM,WAAW,CAACM,MAAM,CAACZ,IAAI,CAAC,EAAE;IAC5B,OAAQ,UAAUqC,QAAQA,CAAA,EAAG;MAC3B,MAAMrC,IAAI,CAACK,MAAM;IACnB,CAAC,CAAE,CAAC;EACN;EAEA,IAAIL,IAAI,YAAYM,WAAW,EAAE;IAC/B,OAAQ,UAAU+B,QAAQA,CAAA,EAAG;MAC3B,MAAMrC,IAAI;IACZ,CAAC,CAAE,CAAC;EACN;EAEA,IAAI,IAAA+B,kBAAU,EAAC/B,IAAI,CAAC,EAAE;IACpB,OAAOA,IAAI;EACb;EAEA,IAAI,IAAA2B,kBAAU,EAAC3B,IAAI,CAAC,EAAE;IACpB,OAAOA,IAAI,CAACiC,MAAM,CAACK,QAAQ,CAAC,CAAC,CAAC;EAChC;EAEA,MAAM,IAAIrB,KAAK,CAACnB,QAAQ,CAAC;AAC3B"}
@@ -8,15 +8,13 @@ var _isType = require("../../javascript-utils/is-type");
8
8
  var _fetchFile = require("../fetch/fetch-file");
9
9
  var _optionUtils = require("./option-utils");
10
10
  function getFetchFunction(options, context) {
11
- var globalOptions = (0, _optionUtils.getGlobalLoaderOptions)();
12
- var fetchOptions = options || globalOptions;
11
+ const globalOptions = (0, _optionUtils.getGlobalLoaderOptions)();
12
+ const fetchOptions = options || globalOptions;
13
13
  if (typeof fetchOptions.fetch === 'function') {
14
14
  return fetchOptions.fetch;
15
15
  }
16
16
  if ((0, _isType.isObject)(fetchOptions.fetch)) {
17
- return function (url) {
18
- return (0, _fetchFile.fetchFile)(url, fetchOptions);
19
- };
17
+ return url => (0, _fetchFile.fetchFile)(url, fetchOptions);
20
18
  }
21
19
  if (context !== null && context !== void 0 && context.fetch) {
22
20
  return context === null || context === void 0 ? void 0 : context.fetch;
@@ -1 +1 @@
1
- {"version":3,"file":"get-fetch-function.js","names":["_isType","require","_fetchFile","_optionUtils","getFetchFunction","options","context","globalOptions","getGlobalLoaderOptions","fetchOptions","fetch","isObject","url","fetchFile"],"sources":["../../../../src/lib/loader-utils/get-fetch-function.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {LoaderContext, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {isObject} from '../../javascript-utils/is-type';\nimport {fetchFile} from '../fetch/fetch-file';\nimport {getGlobalLoaderOptions} from './option-utils';\n\n/**\n * Gets the current fetch function from options and context\n * @param options\n * @param context\n */\nexport function getFetchFunction(\n options?: LoaderOptions,\n context?: Omit<LoaderContext, 'fetch'> & Partial<Pick<LoaderContext, 'fetch'>>\n) {\n const globalOptions = getGlobalLoaderOptions();\n\n const fetchOptions = options || globalOptions;\n\n // options.fetch can be a function\n if (typeof fetchOptions.fetch === 'function') {\n return fetchOptions.fetch;\n }\n\n // options.fetch can be an options object\n if (isObject(fetchOptions.fetch)) {\n return (url) => fetchFile(url, fetchOptions as RequestInit);\n }\n\n // else refer to context (from parent loader) if available\n if (context?.fetch) {\n return context?.fetch;\n }\n\n // else return the default fetch function\n return fetchFile;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAOO,SAASG,gBAAgBA,CAC9BC,OAAuB,EACvBC,OAA8E,EAC9E;EACA,IAAMC,aAAa,GAAG,IAAAC,mCAAsB,EAAC,CAAC;EAE9C,IAAMC,YAAY,GAAGJ,OAAO,IAAIE,aAAa;EAG7C,IAAI,OAAOE,YAAY,CAACC,KAAK,KAAK,UAAU,EAAE;IAC5C,OAAOD,YAAY,CAACC,KAAK;EAC3B;EAGA,IAAI,IAAAC,gBAAQ,EAACF,YAAY,CAACC,KAAK,CAAC,EAAE;IAChC,OAAO,UAACE,GAAG;MAAA,OAAK,IAAAC,oBAAS,EAACD,GAAG,EAAEH,YAA2B,CAAC;IAAA;EAC7D;EAGA,IAAIH,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEI,KAAK,EAAE;IAClB,OAAOJ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEI,KAAK;EACvB;EAGA,OAAOG,oBAAS;AAClB"}
1
+ {"version":3,"file":"get-fetch-function.js","names":["_isType","require","_fetchFile","_optionUtils","getFetchFunction","options","context","globalOptions","getGlobalLoaderOptions","fetchOptions","fetch","isObject","url","fetchFile"],"sources":["../../../../src/lib/loader-utils/get-fetch-function.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {LoaderContext, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {isObject} from '../../javascript-utils/is-type';\nimport {fetchFile} from '../fetch/fetch-file';\nimport {getGlobalLoaderOptions} from './option-utils';\n\n/**\n * Gets the current fetch function from options and context\n * @param options\n * @param context\n */\nexport function getFetchFunction(\n options?: LoaderOptions,\n context?: Omit<LoaderContext, 'fetch'> & Partial<Pick<LoaderContext, 'fetch'>>\n) {\n const globalOptions = getGlobalLoaderOptions();\n\n const fetchOptions = options || globalOptions;\n\n // options.fetch can be a function\n if (typeof fetchOptions.fetch === 'function') {\n return fetchOptions.fetch;\n }\n\n // options.fetch can be an options object\n if (isObject(fetchOptions.fetch)) {\n return (url) => fetchFile(url, fetchOptions as RequestInit);\n }\n\n // else refer to context (from parent loader) if available\n if (context?.fetch) {\n return context?.fetch;\n }\n\n // else return the default fetch function\n return fetchFile;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAOO,SAASG,gBAAgBA,CAC9BC,OAAuB,EACvBC,OAA8E,EAC9E;EACA,MAAMC,aAAa,GAAG,IAAAC,mCAAsB,EAAC,CAAC;EAE9C,MAAMC,YAAY,GAAGJ,OAAO,IAAIE,aAAa;EAG7C,IAAI,OAAOE,YAAY,CAACC,KAAK,KAAK,UAAU,EAAE;IAC5C,OAAOD,YAAY,CAACC,KAAK;EAC3B;EAGA,IAAI,IAAAC,gBAAQ,EAACF,YAAY,CAACC,KAAK,CAAC,EAAE;IAChC,OAAQE,GAAG,IAAK,IAAAC,oBAAS,EAACD,GAAG,EAAEH,YAA2B,CAAC;EAC7D;EAGA,IAAIH,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEI,KAAK,EAAE;IAClB,OAAOJ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEI,KAAK;EACvB;EAGA,OAAOG,oBAAS;AAClB"}
@@ -1,27 +1,23 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.getLoaderContext = getLoaderContext;
8
7
  exports.getLoadersFromContext = getLoadersFromContext;
9
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
8
  var _getFetchFunction = require("./get-fetch-function");
12
9
  var _urlUtils = require("../utils/url-utils");
13
10
  var _loaderUtils = require("@loaders.gl/loader-utils");
14
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
15
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16
11
  function getLoaderContext(context, options, parentContext) {
17
12
  if (parentContext) {
18
13
  return parentContext;
19
14
  }
20
- var newContext = _objectSpread({
21
- fetch: (0, _getFetchFunction.getFetchFunction)(options, context)
22
- }, context);
15
+ const newContext = {
16
+ fetch: (0, _getFetchFunction.getFetchFunction)(options, context),
17
+ ...context
18
+ };
23
19
  if (newContext.url) {
24
- var baseUrl = (0, _urlUtils.stripQueryString)(newContext.url);
20
+ const baseUrl = (0, _urlUtils.stripQueryString)(newContext.url);
25
21
  newContext.baseUrl = baseUrl;
26
22
  newContext.queryString = (0, _urlUtils.extractQueryString)(newContext.url);
27
23
  newContext.filename = _loaderUtils.path.filename(baseUrl);
@@ -36,13 +32,13 @@ function getLoadersFromContext(loaders, context) {
36
32
  if (!context && loaders && !Array.isArray(loaders)) {
37
33
  return loaders;
38
34
  }
39
- var candidateLoaders;
35
+ let candidateLoaders;
40
36
  if (loaders) {
41
37
  candidateLoaders = Array.isArray(loaders) ? loaders : [loaders];
42
38
  }
43
39
  if (context && context.loaders) {
44
- var contextLoaders = Array.isArray(context.loaders) ? context.loaders : [context.loaders];
45
- candidateLoaders = candidateLoaders ? [].concat((0, _toConsumableArray2.default)(candidateLoaders), (0, _toConsumableArray2.default)(contextLoaders)) : contextLoaders;
40
+ const contextLoaders = Array.isArray(context.loaders) ? context.loaders : [context.loaders];
41
+ candidateLoaders = candidateLoaders ? [...candidateLoaders, ...contextLoaders] : contextLoaders;
46
42
  }
47
43
  return candidateLoaders && candidateLoaders.length ? candidateLoaders : null;
48
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"loader-context.js","names":["_getFetchFunction","require","_urlUtils","_loaderUtils","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","getLoaderContext","context","options","parentContext","newContext","fetch","getFetchFunction","url","baseUrl","stripQueryString","queryString","extractQueryString","filename","path","dirname","Array","isArray","loaders","getLoadersFromContext","candidateLoaders","contextLoaders","concat","_toConsumableArray2"],"sources":["../../../../src/lib/loader-utils/loader-context.ts"],"sourcesContent":["import type {Loader, LoaderOptions, LoaderContext} from '@loaders.gl/loader-utils';\nimport {getFetchFunction} from './get-fetch-function';\nimport {extractQueryString, stripQueryString} from '../utils/url-utils';\nimport {path} from '@loaders.gl/loader-utils';\n\n/**\n * \"sub\" loaders invoked by other loaders get a \"context\" injected on `this`\n * The context will inject core methods like `parse` and contain information\n * about loaders and options passed in to the top-level `parse` call.\n *\n * @param context\n * @param options\n * @param previousContext\n */\nexport function getLoaderContext(\n context: Omit<LoaderContext, 'fetch'> & Partial<Pick<LoaderContext, 'fetch'>>,\n options: LoaderOptions,\n parentContext: LoaderContext | null\n): LoaderContext {\n // For recursive calls, we already have a context\n // TODO - add any additional loaders to context?\n if (parentContext) {\n return parentContext;\n }\n\n const newContext: LoaderContext = {\n fetch: getFetchFunction(options, context),\n ...context\n };\n\n // Parse URLs so that subloaders can easily generate correct strings\n if (newContext.url) {\n const baseUrl = stripQueryString(newContext.url);\n newContext.baseUrl = baseUrl;\n newContext.queryString = extractQueryString(newContext.url);\n newContext.filename = path.filename(baseUrl);\n newContext.baseUrl = path.dirname(baseUrl);\n }\n\n // Recursive loading does not use single loader\n if (!Array.isArray(newContext.loaders)) {\n newContext.loaders = null;\n }\n\n return newContext;\n}\n\n// eslint-disable-next-line complexity\nexport function getLoadersFromContext(\n loaders: Loader[] | Loader | undefined,\n context?: LoaderContext\n) {\n // A single non-array loader is force selected, but only on top-level (context === null)\n if (!context && loaders && !Array.isArray(loaders)) {\n return loaders;\n }\n\n // Create a merged list\n let candidateLoaders;\n if (loaders) {\n candidateLoaders = Array.isArray(loaders) ? loaders : [loaders];\n }\n if (context && context.loaders) {\n const contextLoaders = Array.isArray(context.loaders) ? context.loaders : [context.loaders];\n candidateLoaders = candidateLoaders ? [...candidateLoaders, ...contextLoaders] : contextLoaders;\n }\n // If no loaders, return null to look in globally registered loaders\n return candidateLoaders && candidateLoaders.length ? candidateLoaders : null;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"loader-context.js","names":["_getFetchFunction","require","_urlUtils","_loaderUtils","getLoaderContext","context","options","parentContext","newContext","fetch","getFetchFunction","url","baseUrl","stripQueryString","queryString","extractQueryString","filename","path","dirname","Array","isArray","loaders","getLoadersFromContext","candidateLoaders","contextLoaders","length"],"sources":["../../../../src/lib/loader-utils/loader-context.ts"],"sourcesContent":["import type {Loader, LoaderOptions, LoaderContext} from '@loaders.gl/loader-utils';\nimport {getFetchFunction} from './get-fetch-function';\nimport {extractQueryString, stripQueryString} from '../utils/url-utils';\nimport {path} from '@loaders.gl/loader-utils';\n\n/**\n * \"sub\" loaders invoked by other loaders get a \"context\" injected on `this`\n * The context will inject core methods like `parse` and contain information\n * about loaders and options passed in to the top-level `parse` call.\n *\n * @param context\n * @param options\n * @param previousContext\n */\nexport function getLoaderContext(\n context: Omit<LoaderContext, 'fetch'> & Partial<Pick<LoaderContext, 'fetch'>>,\n options: LoaderOptions,\n parentContext: LoaderContext | null\n): LoaderContext {\n // For recursive calls, we already have a context\n // TODO - add any additional loaders to context?\n if (parentContext) {\n return parentContext;\n }\n\n const newContext: LoaderContext = {\n fetch: getFetchFunction(options, context),\n ...context\n };\n\n // Parse URLs so that subloaders can easily generate correct strings\n if (newContext.url) {\n const baseUrl = stripQueryString(newContext.url);\n newContext.baseUrl = baseUrl;\n newContext.queryString = extractQueryString(newContext.url);\n newContext.filename = path.filename(baseUrl);\n newContext.baseUrl = path.dirname(baseUrl);\n }\n\n // Recursive loading does not use single loader\n if (!Array.isArray(newContext.loaders)) {\n newContext.loaders = null;\n }\n\n return newContext;\n}\n\n// eslint-disable-next-line complexity\nexport function getLoadersFromContext(\n loaders: Loader[] | Loader | undefined,\n context?: LoaderContext\n) {\n // A single non-array loader is force selected, but only on top-level (context === null)\n if (!context && loaders && !Array.isArray(loaders)) {\n return loaders;\n }\n\n // Create a merged list\n let candidateLoaders;\n if (loaders) {\n candidateLoaders = Array.isArray(loaders) ? loaders : [loaders];\n }\n if (context && context.loaders) {\n const contextLoaders = Array.isArray(context.loaders) ? context.loaders : [context.loaders];\n candidateLoaders = candidateLoaders ? [...candidateLoaders, ...contextLoaders] : contextLoaders;\n }\n // If no loaders, return null to look in globally registered loaders\n return candidateLoaders && candidateLoaders.length ? candidateLoaders : null;\n}\n"],"mappings":";;;;;;;AACA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAWO,SAASG,gBAAgBA,CAC9BC,OAA6E,EAC7EC,OAAsB,EACtBC,aAAmC,EACpB;EAGf,IAAIA,aAAa,EAAE;IACjB,OAAOA,aAAa;EACtB;EAEA,MAAMC,UAAyB,GAAG;IAChCC,KAAK,EAAE,IAAAC,kCAAgB,EAACJ,OAAO,EAAED,OAAO,CAAC;IACzC,GAAGA;EACL,CAAC;EAGD,IAAIG,UAAU,CAACG,GAAG,EAAE;IAClB,MAAMC,OAAO,GAAG,IAAAC,0BAAgB,EAACL,UAAU,CAACG,GAAG,CAAC;IAChDH,UAAU,CAACI,OAAO,GAAGA,OAAO;IAC5BJ,UAAU,CAACM,WAAW,GAAG,IAAAC,4BAAkB,EAACP,UAAU,CAACG,GAAG,CAAC;IAC3DH,UAAU,CAACQ,QAAQ,GAAGC,iBAAI,CAACD,QAAQ,CAACJ,OAAO,CAAC;IAC5CJ,UAAU,CAACI,OAAO,GAAGK,iBAAI,CAACC,OAAO,CAACN,OAAO,CAAC;EAC5C;EAGA,IAAI,CAACO,KAAK,CAACC,OAAO,CAACZ,UAAU,CAACa,OAAO,CAAC,EAAE;IACtCb,UAAU,CAACa,OAAO,GAAG,IAAI;EAC3B;EAEA,OAAOb,UAAU;AACnB;AAGO,SAASc,qBAAqBA,CACnCD,OAAsC,EACtChB,OAAuB,EACvB;EAEA,IAAI,CAACA,OAAO,IAAIgB,OAAO,IAAI,CAACF,KAAK,CAACC,OAAO,CAACC,OAAO,CAAC,EAAE;IAClD,OAAOA,OAAO;EAChB;EAGA,IAAIE,gBAAgB;EACpB,IAAIF,OAAO,EAAE;IACXE,gBAAgB,GAAGJ,KAAK,CAACC,OAAO,CAACC,OAAO,CAAC,GAAGA,OAAO,GAAG,CAACA,OAAO,CAAC;EACjE;EACA,IAAIhB,OAAO,IAAIA,OAAO,CAACgB,OAAO,EAAE;IAC9B,MAAMG,cAAc,GAAGL,KAAK,CAACC,OAAO,CAACf,OAAO,CAACgB,OAAO,CAAC,GAAGhB,OAAO,CAACgB,OAAO,GAAG,CAAChB,OAAO,CAACgB,OAAO,CAAC;IAC3FE,gBAAgB,GAAGA,gBAAgB,GAAG,CAAC,GAAGA,gBAAgB,EAAE,GAAGC,cAAc,CAAC,GAAGA,cAAc;EACjG;EAEA,OAAOD,gBAAgB,IAAIA,gBAAgB,CAACE,MAAM,GAAGF,gBAAgB,GAAG,IAAI;AAC9E"}