@loaders.gl/core 3.0.9 → 3.0.13

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 (108) hide show
  1. package/dist/dist.es5.min.js +1 -1
  2. package/dist/dist.es5.min.js.map +1 -1
  3. package/dist/dist.min.js +1 -1
  4. package/dist/dist.min.js.map +1 -1
  5. package/dist/es5/bundle.js +2 -2
  6. package/dist/es5/bundle.js.map +1 -1
  7. package/dist/es5/index.js +56 -56
  8. package/dist/es5/iterators/batch-iterators/timed-batch-iterator.js +14 -119
  9. package/dist/es5/iterators/batch-iterators/timed-batch-iterator.js.map +1 -1
  10. package/dist/es5/iterators/make-iterator/make-array-buffer-iterator.js +17 -53
  11. package/dist/es5/iterators/make-iterator/make-array-buffer-iterator.js.map +1 -1
  12. package/dist/es5/iterators/make-iterator/make-blob-iterator.js +12 -53
  13. package/dist/es5/iterators/make-iterator/make-blob-iterator.js.map +1 -1
  14. package/dist/es5/iterators/make-iterator/make-iterator.js +1 -1
  15. package/dist/es5/iterators/make-iterator/make-iterator.js.map +1 -1
  16. package/dist/es5/iterators/make-iterator/make-stream-iterator.js +24 -161
  17. package/dist/es5/iterators/make-iterator/make-stream-iterator.js.map +1 -1
  18. package/dist/es5/iterators/make-iterator/make-string-iterator.js +13 -41
  19. package/dist/es5/iterators/make-iterator/make-string-iterator.js.map +1 -1
  20. package/dist/es5/iterators/make-stream/make-dom-stream.js +24 -69
  21. package/dist/es5/iterators/make-stream/make-dom-stream.js.map +1 -1
  22. package/dist/es5/iterators/make-stream/make-node-stream.js +53 -189
  23. package/dist/es5/iterators/make-stream/make-node-stream.js.map +1 -1
  24. package/dist/es5/javascript-utils/is-type.js +18 -58
  25. package/dist/es5/javascript-utils/is-type.js.map +1 -1
  26. package/dist/es5/lib/api/encode.js +46 -242
  27. package/dist/es5/lib/api/encode.js.map +1 -1
  28. package/dist/es5/lib/api/load-in-batches.js +9 -52
  29. package/dist/es5/lib/api/load-in-batches.js.map +1 -1
  30. package/dist/es5/lib/api/load.js +15 -60
  31. package/dist/es5/lib/api/load.js.map +1 -1
  32. package/dist/es5/lib/api/parse-in-batches.js +81 -333
  33. package/dist/es5/lib/api/parse-in-batches.js.map +1 -1
  34. package/dist/es5/lib/api/parse-sync.js +11 -15
  35. package/dist/es5/lib/api/parse-sync.js.map +1 -1
  36. package/dist/es5/lib/api/parse.js +50 -142
  37. package/dist/es5/lib/api/parse.js.map +1 -1
  38. package/dist/es5/lib/api/register-loaders.js +8 -30
  39. package/dist/es5/lib/api/register-loaders.js.map +1 -1
  40. package/dist/es5/lib/api/save.js +4 -37
  41. package/dist/es5/lib/api/save.js.map +1 -1
  42. package/dist/es5/lib/api/select-loader.js +73 -208
  43. package/dist/es5/lib/api/select-loader.js.map +1 -1
  44. package/dist/es5/lib/fetch/fetch-error-message.js +13 -55
  45. package/dist/es5/lib/fetch/fetch-error-message.js.map +1 -1
  46. package/dist/es5/lib/fetch/fetch-file.js +10 -47
  47. package/dist/es5/lib/fetch/fetch-file.js.map +1 -1
  48. package/dist/es5/lib/fetch/read-array-buffer.js +19 -80
  49. package/dist/es5/lib/fetch/read-array-buffer.js.map +1 -1
  50. package/dist/es5/lib/fetch/read-file.js +2 -3
  51. package/dist/es5/lib/fetch/read-file.js.map +1 -1
  52. package/dist/es5/lib/fetch/write-file.js +9 -38
  53. package/dist/es5/lib/fetch/write-file.js.map +1 -1
  54. package/dist/es5/lib/filesystems/browser-filesystem.js +77 -266
  55. package/dist/es5/lib/filesystems/browser-filesystem.js.map +1 -1
  56. package/dist/es5/lib/filesystems/read-array-buffer.js +6 -43
  57. package/dist/es5/lib/filesystems/read-array-buffer.js.map +1 -1
  58. package/dist/es5/lib/init.js +1 -1
  59. package/dist/es5/lib/init.js.map +1 -1
  60. package/dist/es5/lib/loader-utils/check-errors.js +12 -50
  61. package/dist/es5/lib/loader-utils/check-errors.js.map +1 -1
  62. package/dist/es5/lib/loader-utils/get-data.js +71 -238
  63. package/dist/es5/lib/loader-utils/get-data.js.map +1 -1
  64. package/dist/es5/lib/loader-utils/loader-context.js +8 -19
  65. package/dist/es5/lib/loader-utils/loader-context.js.map +1 -1
  66. package/dist/es5/lib/loader-utils/loggers.js +36 -81
  67. package/dist/es5/lib/loader-utils/loggers.js.map +1 -1
  68. package/dist/es5/lib/loader-utils/normalize-loader.js +7 -13
  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 +51 -85
  73. package/dist/es5/lib/loader-utils/option-utils.js.map +1 -1
  74. package/dist/es5/lib/progress/fetch-progress.js +49 -150
  75. package/dist/es5/lib/progress/fetch-progress.js.map +1 -1
  76. package/dist/es5/lib/utils/mime-type-utils.js +4 -4
  77. package/dist/es5/lib/utils/mime-type-utils.js.map +1 -1
  78. package/dist/es5/lib/utils/resource-utils.js +4 -4
  79. package/dist/es5/lib/utils/resource-utils.js.map +1 -1
  80. package/dist/es5/lib/utils/response-utils.js +88 -215
  81. package/dist/es5/lib/utils/response-utils.js.map +1 -1
  82. package/dist/es5/null-loader.js +10 -137
  83. package/dist/es5/null-loader.js.map +1 -1
  84. package/dist/esm/iterators/make-stream/make-dom-stream.js.map +1 -1
  85. package/dist/esm/lib/api/encode.js +1 -1
  86. package/dist/esm/lib/api/encode.js.map +1 -1
  87. package/dist/esm/lib/api/parse-sync.js +1 -1
  88. package/dist/esm/lib/api/parse-sync.js.map +1 -1
  89. package/dist/esm/lib/api/parse.js +1 -1
  90. package/dist/esm/lib/api/parse.js.map +1 -1
  91. package/dist/esm/lib/api/select-loader.js +3 -3
  92. package/dist/esm/lib/api/select-loader.js.map +1 -1
  93. package/dist/esm/lib/fetch/fetch-error-message.js +2 -2
  94. package/dist/esm/lib/fetch/fetch-error-message.js.map +1 -1
  95. package/dist/esm/lib/init.js +1 -1
  96. package/dist/esm/lib/init.js.map +1 -1
  97. package/dist/esm/lib/loader-utils/check-errors.js +4 -4
  98. package/dist/esm/lib/loader-utils/check-errors.js.map +1 -1
  99. package/dist/esm/lib/loader-utils/option-utils.js +5 -5
  100. package/dist/esm/lib/loader-utils/option-utils.js.map +1 -1
  101. package/dist/esm/lib/utils/response-utils.js +7 -7
  102. package/dist/esm/lib/utils/response-utils.js.map +1 -1
  103. package/dist/esm/null-loader.js +1 -1
  104. package/dist/esm/null-loader.js.map +1 -1
  105. package/dist/null-worker.js +1 -1
  106. package/dist/null-worker.js.map +1 -1
  107. package/package.json +4 -4
  108. package/src/iterators/make-stream/make-dom-stream.ts +2 -2
@@ -1,18 +1,10 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports.parse = parse;
9
7
 
10
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
-
16
8
  var _workerUtils = require("@loaders.gl/worker-utils");
17
9
 
18
10
  var _loaderUtils = require("@loaders.gl/loader-utils");
@@ -29,143 +21,59 @@ var _resourceUtils = require("../utils/resource-utils");
29
21
 
30
22
  var _selectLoader = require("./select-loader");
31
23
 
32
- function parse(_x, _x2, _x3, _x4) {
33
- return _parse.apply(this, arguments);
24
+ async function parse(data, loaders, options, context) {
25
+ (0, _workerUtils.assert)(!context || typeof context === 'object');
26
+
27
+ if (loaders && !Array.isArray(loaders) && !(0, _normalizeLoader.isLoaderObject)(loaders)) {
28
+ context = undefined;
29
+ options = loaders;
30
+ loaders = undefined;
31
+ }
32
+
33
+ data = await data;
34
+ options = options || {};
35
+ const {
36
+ url
37
+ } = (0, _resourceUtils.getResourceUrlAndType)(data);
38
+ const typedLoaders = loaders;
39
+ const candidateLoaders = (0, _loaderContext.getLoadersFromContext)(typedLoaders, context);
40
+ const loader = await (0, _selectLoader.selectLoader)(data, candidateLoaders, options);
41
+
42
+ if (!loader) {
43
+ return null;
44
+ }
45
+
46
+ options = (0, _optionUtils.normalizeOptions)(options, loader, candidateLoaders, url);
47
+ context = (0, _loaderContext.getLoaderContext)({
48
+ url,
49
+ parse,
50
+ loaders: candidateLoaders
51
+ }, options, context);
52
+ return await parseWithLoader(loader, data, options, context);
34
53
  }
35
54
 
36
- function _parse() {
37
- _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(data, loaders, options, context) {
38
- var _getResourceUrlAndTyp, url, typedLoaders, candidateLoaders, loader;
39
-
40
- return _regenerator.default.wrap(function _callee$(_context) {
41
- while (1) {
42
- switch (_context.prev = _context.next) {
43
- case 0:
44
- (0, _workerUtils.assert)(!context || (0, _typeof2.default)(context) === 'object');
45
-
46
- if (loaders && !Array.isArray(loaders) && !(0, _normalizeLoader.isLoaderObject)(loaders)) {
47
- context = undefined;
48
- options = loaders;
49
- loaders = undefined;
50
- }
51
-
52
- _context.next = 4;
53
- return data;
54
-
55
- case 4:
56
- data = _context.sent;
57
- options = options || {};
58
- _getResourceUrlAndTyp = (0, _resourceUtils.getResourceUrlAndType)(data), url = _getResourceUrlAndTyp.url;
59
- typedLoaders = loaders;
60
- candidateLoaders = (0, _loaderContext.getLoadersFromContext)(typedLoaders, context);
61
- _context.next = 11;
62
- return (0, _selectLoader.selectLoader)(data, candidateLoaders, options);
63
-
64
- case 11:
65
- loader = _context.sent;
66
-
67
- if (loader) {
68
- _context.next = 14;
69
- break;
70
- }
71
-
72
- return _context.abrupt("return", null);
73
-
74
- case 14:
75
- options = (0, _optionUtils.normalizeOptions)(options, loader, candidateLoaders, url);
76
- context = (0, _loaderContext.getLoaderContext)({
77
- url: url,
78
- parse: parse,
79
- loaders: candidateLoaders
80
- }, options, context);
81
- _context.next = 18;
82
- return parseWithLoader(loader, data, options, context);
83
-
84
- case 18:
85
- return _context.abrupt("return", _context.sent);
86
-
87
- case 19:
88
- case "end":
89
- return _context.stop();
90
- }
91
- }
92
- }, _callee);
93
- }));
94
- return _parse.apply(this, arguments);
95
- }
55
+ async function parseWithLoader(loader, data, options, context) {
56
+ (0, _workerUtils.validateWorkerVersion)(loader);
57
+ data = await (0, _getData.getArrayBufferOrStringFromData)(data, loader, options);
96
58
 
97
- function parseWithLoader(_x5, _x6, _x7, _x8) {
98
- return _parseWithLoader.apply(this, arguments);
99
- }
59
+ if (loader.parseTextSync && typeof data === 'string') {
60
+ options.dataType = 'text';
61
+ return loader.parseTextSync(data, options, context, loader);
62
+ }
63
+
64
+ if ((0, _loaderUtils.canParseWithWorker)(loader, options)) {
65
+ return await (0, _loaderUtils.parseWithWorker)(loader, data, options, context, parse);
66
+ }
67
+
68
+ if (loader.parseText && typeof data === 'string') {
69
+ return await loader.parseText(data, options, context, loader);
70
+ }
71
+
72
+ if (loader.parse) {
73
+ return await loader.parse(data, options, context, loader);
74
+ }
100
75
 
101
- function _parseWithLoader() {
102
- _parseWithLoader = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(loader, data, options, context) {
103
- return _regenerator.default.wrap(function _callee2$(_context2) {
104
- while (1) {
105
- switch (_context2.prev = _context2.next) {
106
- case 0:
107
- (0, _workerUtils.validateWorkerVersion)(loader);
108
- _context2.next = 3;
109
- return (0, _getData.getArrayBufferOrStringFromData)(data, loader, options);
110
-
111
- case 3:
112
- data = _context2.sent;
113
-
114
- if (!(loader.parseTextSync && typeof data === 'string')) {
115
- _context2.next = 7;
116
- break;
117
- }
118
-
119
- options.dataType = 'text';
120
- return _context2.abrupt("return", loader.parseTextSync(data, options, context, loader));
121
-
122
- case 7:
123
- if (!(0, _loaderUtils.canParseWithWorker)(loader, options)) {
124
- _context2.next = 11;
125
- break;
126
- }
127
-
128
- _context2.next = 10;
129
- return (0, _loaderUtils.parseWithWorker)(loader, data, options, context, parse);
130
-
131
- case 10:
132
- return _context2.abrupt("return", _context2.sent);
133
-
134
- case 11:
135
- if (!(loader.parseText && typeof data === 'string')) {
136
- _context2.next = 15;
137
- break;
138
- }
139
-
140
- _context2.next = 14;
141
- return loader.parseText(data, options, context, loader);
142
-
143
- case 14:
144
- return _context2.abrupt("return", _context2.sent);
145
-
146
- case 15:
147
- if (!loader.parse) {
148
- _context2.next = 19;
149
- break;
150
- }
151
-
152
- _context2.next = 18;
153
- return loader.parse(data, options, context, loader);
154
-
155
- case 18:
156
- return _context2.abrupt("return", _context2.sent);
157
-
158
- case 19:
159
- (0, _workerUtils.assert)(!loader.parseSync);
160
- throw new Error("".concat(loader.id, " loader - no parser found and worker is disabled"));
161
-
162
- case 21:
163
- case "end":
164
- return _context2.stop();
165
- }
166
- }
167
- }, _callee2);
168
- }));
169
- return _parseWithLoader.apply(this, arguments);
76
+ (0, _workerUtils.assert)(!loader.parseSync);
77
+ throw new Error("".concat(loader.id, " loader - no parser found and worker is disabled"));
170
78
  }
171
79
  //# sourceMappingURL=parse.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/api/parse.ts"],"names":["parse","data","loaders","options","context","Array","isArray","undefined","url","typedLoaders","candidateLoaders","loader","parseWithLoader","parseTextSync","dataType","parseText","parseSync","Error","id"],"mappings":"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","sourcesContent":["import type {DataType, Loader, LoaderContext, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {assert, validateWorkerVersion} from '@loaders.gl/worker-utils';\nimport {parseWithWorker, canParseWithWorker} from '@loaders.gl/loader-utils';\nimport {isLoaderObject} from '../loader-utils/normalize-loader';\nimport {normalizeOptions} from '../loader-utils/option-utils';\nimport {getArrayBufferOrStringFromData} from '../loader-utils/get-data';\nimport {getLoaderContext, getLoadersFromContext} from '../loader-utils/loader-context';\nimport {getResourceUrlAndType} from '../utils/resource-utils';\nimport {selectLoader} from './select-loader';\n\n/**\n * Parses `data` using a specified loader\n * @param data\n * @param loaders\n * @param options\n * @param context\n */\nexport async function parse(\n data: DataType | Promise<DataType>,\n loaders?: Loader | Loader[] | LoaderOptions,\n options?: LoaderOptions,\n context?: LoaderContext\n): Promise<any> {\n assert(!context || typeof context === 'object'); // parse no longer accepts final url\n\n // Signature: parse(data, options, context | url)\n // Uses registered loaders\n if (loaders && !Array.isArray(loaders) && !isLoaderObject(loaders)) {\n context = undefined; // context not supported in short signature\n options = loaders as LoaderOptions;\n loaders = undefined;\n }\n\n data = await data; // Resolve any promise\n options = options || {};\n\n // Extract a url for auto detection\n const {url} = getResourceUrlAndType(data);\n\n // Chooses a loader (and normalizes it)\n // Also use any loaders in the context, new loaders take priority\n const typedLoaders = loaders as Loader | Loader[] | undefined;\n const candidateLoaders = getLoadersFromContext(typedLoaders, context);\n // todo hacky type cast\n const loader = await selectLoader(data as ArrayBuffer, candidateLoaders, options);\n // Note: if no loader was found, if so just return null\n if (!loader) {\n return null;\n }\n\n // Normalize options\n options = normalizeOptions(options, loader, candidateLoaders, url);\n\n // Get a context (if already present, will be unchanged)\n context = getLoaderContext({url, parse, loaders: candidateLoaders}, options, context);\n\n return await parseWithLoader(loader, data, options, context);\n}\n\n// TODO: support progress and abort\n// TODO - should accept loader.parseAsyncIterator and concatenate.\nasync function parseWithLoader(loader, data, options, context) {\n validateWorkerVersion(loader);\n\n data = await getArrayBufferOrStringFromData(data, loader, options);\n\n // First check for synchronous text parser, wrap results in promises\n if (loader.parseTextSync && typeof data === 'string') {\n options.dataType = 'text';\n return loader.parseTextSync(data, options, context, loader);\n }\n\n // If we have a workerUrl and the loader can parse the given options efficiently in a worker\n if (canParseWithWorker(loader, options)) {\n return await parseWithWorker(loader, data, options, context, parse);\n }\n\n // Check for asynchronous parser\n if (loader.parseText && typeof data === 'string') {\n return await loader.parseText(data, options, context, loader);\n }\n\n if (loader.parse) {\n return await loader.parse(data, options, context, loader);\n }\n\n // This should not happen, all sync loaders should also offer `parse` function\n assert(!loader.parseSync);\n\n // TBD - If asynchronous parser not available, return null\n throw new Error(`${loader.id} loader - no parser found and worker is disabled`);\n}\n"],"file":"parse.js"}
1
+ {"version":3,"sources":["../../../../src/lib/api/parse.ts"],"names":["parse","data","loaders","options","context","Array","isArray","undefined","url","typedLoaders","candidateLoaders","loader","parseWithLoader","parseTextSync","dataType","parseText","parseSync","Error","id"],"mappings":";;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AASO,eAAeA,KAAf,CACLC,IADK,EAELC,OAFK,EAGLC,OAHK,EAILC,OAJK,EAKS;AACd,2BAAO,CAACA,OAAD,IAAY,OAAOA,OAAP,KAAmB,QAAtC;;AAIA,MAAIF,OAAO,IAAI,CAACG,KAAK,CAACC,OAAN,CAAcJ,OAAd,CAAZ,IAAsC,CAAC,qCAAeA,OAAf,CAA3C,EAAoE;AAClEE,IAAAA,OAAO,GAAGG,SAAV;AACAJ,IAAAA,OAAO,GAAGD,OAAV;AACAA,IAAAA,OAAO,GAAGK,SAAV;AACD;;AAEDN,EAAAA,IAAI,GAAG,MAAMA,IAAb;AACAE,EAAAA,OAAO,GAAGA,OAAO,IAAI,EAArB;AAGA,QAAM;AAACK,IAAAA;AAAD,MAAQ,0CAAsBP,IAAtB,CAAd;AAIA,QAAMQ,YAAY,GAAGP,OAArB;AACA,QAAMQ,gBAAgB,GAAG,0CAAsBD,YAAtB,EAAoCL,OAApC,CAAzB;AAEA,QAAMO,MAAM,GAAG,MAAM,gCAAaV,IAAb,EAAkCS,gBAAlC,EAAoDP,OAApD,CAArB;;AAEA,MAAI,CAACQ,MAAL,EAAa;AACX,WAAO,IAAP;AACD;;AAGDR,EAAAA,OAAO,GAAG,mCAAiBA,OAAjB,EAA0BQ,MAA1B,EAAkCD,gBAAlC,EAAoDF,GAApD,CAAV;AAGAJ,EAAAA,OAAO,GAAG,qCAAiB;AAACI,IAAAA,GAAD;AAAMR,IAAAA,KAAN;AAAaE,IAAAA,OAAO,EAAEQ;AAAtB,GAAjB,EAA0DP,OAA1D,EAAmEC,OAAnE,CAAV;AAEA,SAAO,MAAMQ,eAAe,CAACD,MAAD,EAASV,IAAT,EAAeE,OAAf,EAAwBC,OAAxB,CAA5B;AACD;;AAID,eAAeQ,eAAf,CAA+BD,MAA/B,EAAuCV,IAAvC,EAA6CE,OAA7C,EAAsDC,OAAtD,EAA+D;AAC7D,0CAAsBO,MAAtB;AAEAV,EAAAA,IAAI,GAAG,MAAM,6CAA+BA,IAA/B,EAAqCU,MAArC,EAA6CR,OAA7C,CAAb;;AAGA,MAAIQ,MAAM,CAACE,aAAP,IAAwB,OAAOZ,IAAP,KAAgB,QAA5C,EAAsD;AACpDE,IAAAA,OAAO,CAACW,QAAR,GAAmB,MAAnB;AACA,WAAOH,MAAM,CAACE,aAAP,CAAqBZ,IAArB,EAA2BE,OAA3B,EAAoCC,OAApC,EAA6CO,MAA7C,CAAP;AACD;;AAGD,MAAI,qCAAmBA,MAAnB,EAA2BR,OAA3B,CAAJ,EAAyC;AACvC,WAAO,MAAM,kCAAgBQ,MAAhB,EAAwBV,IAAxB,EAA8BE,OAA9B,EAAuCC,OAAvC,EAAgDJ,KAAhD,CAAb;AACD;;AAGD,MAAIW,MAAM,CAACI,SAAP,IAAoB,OAAOd,IAAP,KAAgB,QAAxC,EAAkD;AAChD,WAAO,MAAMU,MAAM,CAACI,SAAP,CAAiBd,IAAjB,EAAuBE,OAAvB,EAAgCC,OAAhC,EAAyCO,MAAzC,CAAb;AACD;;AAED,MAAIA,MAAM,CAACX,KAAX,EAAkB;AAChB,WAAO,MAAMW,MAAM,CAACX,KAAP,CAAaC,IAAb,EAAmBE,OAAnB,EAA4BC,OAA5B,EAAqCO,MAArC,CAAb;AACD;;AAGD,2BAAO,CAACA,MAAM,CAACK,SAAf;AAGA,QAAM,IAAIC,KAAJ,WAAaN,MAAM,CAACO,EAApB,sDAAN;AACD","sourcesContent":["import type {DataType, Loader, LoaderContext, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {assert, validateWorkerVersion} from '@loaders.gl/worker-utils';\nimport {parseWithWorker, canParseWithWorker} from '@loaders.gl/loader-utils';\nimport {isLoaderObject} from '../loader-utils/normalize-loader';\nimport {normalizeOptions} from '../loader-utils/option-utils';\nimport {getArrayBufferOrStringFromData} from '../loader-utils/get-data';\nimport {getLoaderContext, getLoadersFromContext} from '../loader-utils/loader-context';\nimport {getResourceUrlAndType} from '../utils/resource-utils';\nimport {selectLoader} from './select-loader';\n\n/**\n * Parses `data` using a specified loader\n * @param data\n * @param loaders\n * @param options\n * @param context\n */\nexport async function parse(\n data: DataType | Promise<DataType>,\n loaders?: Loader | Loader[] | LoaderOptions,\n options?: LoaderOptions,\n context?: LoaderContext\n): Promise<any> {\n assert(!context || typeof context === 'object'); // parse no longer accepts final url\n\n // Signature: parse(data, options, context | url)\n // Uses registered loaders\n if (loaders && !Array.isArray(loaders) && !isLoaderObject(loaders)) {\n context = undefined; // context not supported in short signature\n options = loaders as LoaderOptions;\n loaders = undefined;\n }\n\n data = await data; // Resolve any promise\n options = options || {};\n\n // Extract a url for auto detection\n const {url} = getResourceUrlAndType(data);\n\n // Chooses a loader (and normalizes it)\n // Also use any loaders in the context, new loaders take priority\n const typedLoaders = loaders as Loader | Loader[] | undefined;\n const candidateLoaders = getLoadersFromContext(typedLoaders, context);\n // todo hacky type cast\n const loader = await selectLoader(data as ArrayBuffer, candidateLoaders, options);\n // Note: if no loader was found, if so just return null\n if (!loader) {\n return null;\n }\n\n // Normalize options\n options = normalizeOptions(options, loader, candidateLoaders, url);\n\n // Get a context (if already present, will be unchanged)\n context = getLoaderContext({url, parse, loaders: candidateLoaders}, options, context);\n\n return await parseWithLoader(loader, data, options, context);\n}\n\n// TODO: support progress and abort\n// TODO - should accept loader.parseAsyncIterator and concatenate.\nasync function parseWithLoader(loader, data, options, context) {\n validateWorkerVersion(loader);\n\n data = await getArrayBufferOrStringFromData(data, loader, options);\n\n // First check for synchronous text parser, wrap results in promises\n if (loader.parseTextSync && typeof data === 'string') {\n options.dataType = 'text';\n return loader.parseTextSync(data, options, context, loader);\n }\n\n // If we have a workerUrl and the loader can parse the given options efficiently in a worker\n if (canParseWithWorker(loader, options)) {\n return await parseWithWorker(loader, data, options, context, parse);\n }\n\n // Check for asynchronous parser\n if (loader.parseText && typeof data === 'string') {\n return await loader.parseText(data, options, context, loader);\n }\n\n if (loader.parse) {\n return await loader.parse(data, options, context, loader);\n }\n\n // This should not happen, all sync loaders should also offer `parse` function\n assert(!loader.parseSync);\n\n // TBD - If asynchronous parser not available, return null\n throw new Error(`${loader.id} loader - no parser found and worker is disabled`);\n}\n"],"file":"parse.js"}
@@ -11,44 +11,22 @@ var _normalizeLoader = require("../loader-utils/normalize-loader");
11
11
 
12
12
  var _optionUtils = require("../loader-utils/option-utils");
13
13
 
14
- 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; } } }; }
15
-
16
- 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); }
17
-
18
- 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; }
19
-
20
- var getGlobalLoaderRegistry = function getGlobalLoaderRegistry() {
21
- var state = (0, _optionUtils.getGlobalLoaderState)();
14
+ const getGlobalLoaderRegistry = () => {
15
+ const state = (0, _optionUtils.getGlobalLoaderState)();
22
16
  state.loaderRegistry = state.loaderRegistry || [];
23
17
  return state.loaderRegistry;
24
18
  };
25
19
 
26
20
  function registerLoaders(loaders) {
27
- var loaderRegistry = getGlobalLoaderRegistry();
21
+ const loaderRegistry = getGlobalLoaderRegistry();
28
22
  loaders = Array.isArray(loaders) ? loaders : [loaders];
29
23
 
30
- var _iterator = _createForOfIteratorHelper(loaders),
31
- _step;
32
-
33
- try {
34
- var _loop = function _loop() {
35
- var loader = _step.value;
36
- var normalizedLoader = (0, _normalizeLoader.normalizeLoader)(loader);
37
-
38
- if (!loaderRegistry.find(function (registeredLoader) {
39
- return normalizedLoader === registeredLoader;
40
- })) {
41
- loaderRegistry.unshift(normalizedLoader);
42
- }
43
- };
24
+ for (const loader of loaders) {
25
+ const normalizedLoader = (0, _normalizeLoader.normalizeLoader)(loader);
44
26
 
45
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
46
- _loop();
27
+ if (!loaderRegistry.find(registeredLoader => normalizedLoader === registeredLoader)) {
28
+ loaderRegistry.unshift(normalizedLoader);
47
29
  }
48
- } catch (err) {
49
- _iterator.e(err);
50
- } finally {
51
- _iterator.f();
52
30
  }
53
31
  }
54
32
 
@@ -57,7 +35,7 @@ function getRegisteredLoaders() {
57
35
  }
58
36
 
59
37
  function _unregisterLoaders() {
60
- var state = (0, _optionUtils.getGlobalLoaderState)();
38
+ const state = (0, _optionUtils.getGlobalLoaderState)();
61
39
  state.loaderRegistry = [];
62
40
  }
63
41
  //# sourceMappingURL=register-loaders.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/api/register-loaders.ts"],"names":["getGlobalLoaderRegistry","state","loaderRegistry","registerLoaders","loaders","Array","isArray","loader","normalizedLoader","find","registeredLoader","unshift","getRegisteredLoaders","_unregisterLoaders"],"mappings":";;;;;;;;;AACA;;AACA;;;;;;;;AAIA,IAAMA,uBAAuB,GAAG,SAA1BA,uBAA0B,GAAM;AACpC,MAAMC,KAAK,GAAG,wCAAd;AACAA,EAAAA,KAAK,CAACC,cAAN,GAAuBD,KAAK,CAACC,cAAN,IAAwB,EAA/C;AACA,SAAOD,KAAK,CAACC,cAAb;AACD,CAJD;;AAMO,SAASC,eAAT,CAAyBC,OAAzB,EAA4C;AACjD,MAAMF,cAAc,GAAGF,uBAAuB,EAA9C;AAEAI,EAAAA,OAAO,GAAGC,KAAK,CAACC,OAAN,CAAcF,OAAd,IAAyBA,OAAzB,GAAmC,CAACA,OAAD,CAA7C;;AAHiD,6CAK5BA,OAL4B;AAAA;;AAAA;AAAA;AAAA,UAKtCG,MALsC;AAM/C,UAAMC,gBAAgB,GAAG,sCAAgBD,MAAhB,CAAzB;;AACA,UAAI,CAACL,cAAc,CAACO,IAAf,CAAoB,UAACC,gBAAD;AAAA,eAAsBF,gBAAgB,KAAKE,gBAA3C;AAAA,OAApB,CAAL,EAAuF;AAErFR,QAAAA,cAAc,CAACS,OAAf,CAAuBH,gBAAvB;AACD;AAV8C;;AAKjD,wDAA8B;AAAA;AAM7B;AAXgD;AAAA;AAAA;AAAA;AAAA;AAYlD;;AAEM,SAASI,oBAAT,GAA0C;AAC/C,SAAOZ,uBAAuB,EAA9B;AACD;;AAGM,SAASa,kBAAT,GAA8B;AACnC,MAAMZ,KAAK,GAAG,wCAAd;AACAA,EAAAA,KAAK,CAACC,cAAN,GAAuB,EAAvB;AACD","sourcesContent":["import {Loader} from '@loaders.gl/loader-utils';\nimport {normalizeLoader} from '../loader-utils/normalize-loader';\nimport {getGlobalLoaderState} from '../loader-utils/option-utils';\n\n// Store global registered loaders on the global object to increase chances of cross loaders-version interoperability\n// This use case is not reliable but can help when testing new versions of loaders.gl with existing frameworks\nconst getGlobalLoaderRegistry = () => {\n const state = getGlobalLoaderState();\n state.loaderRegistry = state.loaderRegistry || [];\n return state.loaderRegistry;\n};\n\nexport function registerLoaders(loaders: Loader[]) {\n const loaderRegistry = getGlobalLoaderRegistry();\n\n loaders = Array.isArray(loaders) ? loaders : [loaders];\n\n for (const loader of loaders) {\n const normalizedLoader = normalizeLoader(loader);\n if (!loaderRegistry.find((registeredLoader) => normalizedLoader === registeredLoader)) {\n // add to the beginning of the loaderRegistry, so the last registeredLoader get picked\n loaderRegistry.unshift(normalizedLoader);\n }\n }\n}\n\nexport function getRegisteredLoaders(): Loader[] {\n return getGlobalLoaderRegistry();\n}\n\n// For testing\nexport function _unregisterLoaders() {\n const state = getGlobalLoaderState();\n state.loaderRegistry = [];\n}\n"],"file":"register-loaders.js"}
1
+ {"version":3,"sources":["../../../../src/lib/api/register-loaders.ts"],"names":["getGlobalLoaderRegistry","state","loaderRegistry","registerLoaders","loaders","Array","isArray","loader","normalizedLoader","find","registeredLoader","unshift","getRegisteredLoaders","_unregisterLoaders"],"mappings":";;;;;;;;;AACA;;AACA;;AAIA,MAAMA,uBAAuB,GAAG,MAAM;AACpC,QAAMC,KAAK,GAAG,wCAAd;AACAA,EAAAA,KAAK,CAACC,cAAN,GAAuBD,KAAK,CAACC,cAAN,IAAwB,EAA/C;AACA,SAAOD,KAAK,CAACC,cAAb;AACD,CAJD;;AAMO,SAASC,eAAT,CAAyBC,OAAzB,EAA4C;AACjD,QAAMF,cAAc,GAAGF,uBAAuB,EAA9C;AAEAI,EAAAA,OAAO,GAAGC,KAAK,CAACC,OAAN,CAAcF,OAAd,IAAyBA,OAAzB,GAAmC,CAACA,OAAD,CAA7C;;AAEA,OAAK,MAAMG,MAAX,IAAqBH,OAArB,EAA8B;AAC5B,UAAMI,gBAAgB,GAAG,sCAAgBD,MAAhB,CAAzB;;AACA,QAAI,CAACL,cAAc,CAACO,IAAf,CAAqBC,gBAAD,IAAsBF,gBAAgB,KAAKE,gBAA/D,CAAL,EAAuF;AAErFR,MAAAA,cAAc,CAACS,OAAf,CAAuBH,gBAAvB;AACD;AACF;AACF;;AAEM,SAASI,oBAAT,GAA0C;AAC/C,SAAOZ,uBAAuB,EAA9B;AACD;;AAGM,SAASa,kBAAT,GAA8B;AACnC,QAAMZ,KAAK,GAAG,wCAAd;AACAA,EAAAA,KAAK,CAACC,cAAN,GAAuB,EAAvB;AACD","sourcesContent":["import {Loader} from '@loaders.gl/loader-utils';\nimport {normalizeLoader} from '../loader-utils/normalize-loader';\nimport {getGlobalLoaderState} from '../loader-utils/option-utils';\n\n// Store global registered loaders on the global object to increase chances of cross loaders-version interoperability\n// This use case is not reliable but can help when testing new versions of loaders.gl with existing frameworks\nconst getGlobalLoaderRegistry = () => {\n const state = getGlobalLoaderState();\n state.loaderRegistry = state.loaderRegistry || [];\n return state.loaderRegistry;\n};\n\nexport function registerLoaders(loaders: Loader[]) {\n const loaderRegistry = getGlobalLoaderRegistry();\n\n loaders = Array.isArray(loaders) ? loaders : [loaders];\n\n for (const loader of loaders) {\n const normalizedLoader = normalizeLoader(loader);\n if (!loaderRegistry.find((registeredLoader) => normalizedLoader === registeredLoader)) {\n // add to the beginning of the loaderRegistry, so the last registeredLoader get picked\n loaderRegistry.unshift(normalizedLoader);\n }\n }\n}\n\nexport function getRegisteredLoaders(): Loader[] {\n return getGlobalLoaderRegistry();\n}\n\n// For testing\nexport function _unregisterLoaders() {\n const state = getGlobalLoaderState();\n state.loaderRegistry = [];\n}\n"],"file":"register-loaders.js"}
@@ -1,55 +1,22 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports.save = save;
9
7
  exports.saveSync = saveSync;
10
8
 
11
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
12
-
13
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
14
-
15
9
  var _encode = require("./encode");
16
10
 
17
11
  var _writeFile = require("../fetch/write-file");
18
12
 
19
- function save(_x, _x2, _x3, _x4) {
20
- return _save.apply(this, arguments);
21
- }
22
-
23
- function _save() {
24
- _save = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(data, url, writer, options) {
25
- var encodedData;
26
- return _regenerator.default.wrap(function _callee$(_context) {
27
- while (1) {
28
- switch (_context.prev = _context.next) {
29
- case 0:
30
- _context.next = 2;
31
- return (0, _encode.encode)(data, writer, options);
32
-
33
- case 2:
34
- encodedData = _context.sent;
35
- _context.next = 5;
36
- return (0, _writeFile.writeFile)(url, encodedData);
37
-
38
- case 5:
39
- return _context.abrupt("return", _context.sent);
40
-
41
- case 6:
42
- case "end":
43
- return _context.stop();
44
- }
45
- }
46
- }, _callee);
47
- }));
48
- return _save.apply(this, arguments);
13
+ async function save(data, url, writer, options) {
14
+ const encodedData = await (0, _encode.encode)(data, writer, options);
15
+ return await (0, _writeFile.writeFile)(url, encodedData);
49
16
  }
50
17
 
51
18
  function saveSync(data, url, writer, options) {
52
- var encodedData = (0, _encode.encodeSync)(data, writer, options);
19
+ const encodedData = (0, _encode.encodeSync)(data, writer, options);
53
20
  return (0, _writeFile.writeFileSync)(url, encodedData);
54
21
  }
55
22
  //# sourceMappingURL=save.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/api/save.ts"],"names":["save","data","url","writer","options","encodedData","saveSync"],"mappings":";;;;;;;;;;;;;;AACA;;AACA;;SAEsBA,I;;;;;oEAAf,iBAAoBC,IAApB,EAA0BC,GAA1B,EAA+BC,MAA/B,EAA+CC,OAA/C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBACqB,oBAAOH,IAAP,EAAaE,MAAb,EAAqBC,OAArB,CADrB;;AAAA;AACCC,YAAAA,WADD;AAAA;AAAA,mBAEQ,0BAAUH,GAAV,EAAeG,WAAf,CAFR;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AAKA,SAASC,QAAT,CAAkBL,IAAlB,EAAwBC,GAAxB,EAA6BC,MAA7B,EAAqCC,OAArC,EAA8C;AACnD,MAAMC,WAAW,GAAG,wBAAWJ,IAAX,EAAiBE,MAAjB,EAAyBC,OAAzB,CAApB;AACA,SAAO,8BAAcF,GAAd,EAAmBG,WAAnB,CAAP;AACD","sourcesContent":["import type {Writer, WriterOptions} from '@loaders.gl/loader-utils';\nimport {encode, encodeSync} from './encode';\nimport {writeFile, writeFileSync} from '../fetch/write-file';\n\nexport async function save(data, url, writer: Writer, options: WriterOptions) {\n const encodedData = await encode(data, writer, options);\n return await writeFile(url, encodedData);\n}\n\nexport function saveSync(data, url, writer, options) {\n const encodedData = encodeSync(data, writer, options);\n return writeFileSync(url, encodedData);\n}\n"],"file":"save.js"}
1
+ {"version":3,"sources":["../../../../src/lib/api/save.ts"],"names":["save","data","url","writer","options","encodedData","saveSync"],"mappings":";;;;;;;;AACA;;AACA;;AAEO,eAAeA,IAAf,CAAoBC,IAApB,EAA0BC,GAA1B,EAA+BC,MAA/B,EAA+CC,OAA/C,EAAuE;AAC5E,QAAMC,WAAW,GAAG,MAAM,oBAAOJ,IAAP,EAAaE,MAAb,EAAqBC,OAArB,CAA1B;AACA,SAAO,MAAM,0BAAUF,GAAV,EAAeG,WAAf,CAAb;AACD;;AAEM,SAASC,QAAT,CAAkBL,IAAlB,EAAwBC,GAAxB,EAA6BC,MAA7B,EAAqCC,OAArC,EAA8C;AACnD,QAAMC,WAAW,GAAG,wBAAWJ,IAAX,EAAiBE,MAAjB,EAAyBC,OAAzB,CAApB;AACA,SAAO,8BAAcF,GAAd,EAAmBG,WAAnB,CAAP;AACD","sourcesContent":["import type {Writer, WriterOptions} from '@loaders.gl/loader-utils';\nimport {encode, encodeSync} from './encode';\nimport {writeFile, writeFileSync} from '../fetch/write-file';\n\nexport async function save(data, url, writer: Writer, options: WriterOptions) {\n const encodedData = await encode(data, writer, options);\n return await writeFile(url, encodedData);\n}\n\nexport function saveSync(data, url, writer, options) {\n const encodedData = encodeSync(data, writer, options);\n return writeFileSync(url, encodedData);\n}\n"],"file":"save.js"}