@loaders.gl/core 3.1.0-beta.7 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/bundle.js +3 -0
  2. package/dist/es5/bundle.js +1 -1
  3. package/dist/es5/bundle.js.map +1 -1
  4. package/dist/es5/index.js +56 -56
  5. package/dist/es5/iterators/batch-iterators/timed-batch-iterator.js +119 -14
  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 +53 -17
  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 +53 -12
  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 +161 -24
  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 +41 -13
  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 +69 -24
  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 +189 -53
  20. package/dist/es5/iterators/make-stream/make-node-stream.js.map +1 -1
  21. package/dist/es5/javascript-utils/is-type.js +58 -18
  22. package/dist/es5/javascript-utils/is-type.js.map +1 -1
  23. package/dist/es5/lib/api/encode.js +242 -46
  24. package/dist/es5/lib/api/encode.js.map +1 -1
  25. package/dist/es5/lib/api/load-in-batches.js +52 -9
  26. package/dist/es5/lib/api/load-in-batches.js.map +1 -1
  27. package/dist/es5/lib/api/load.js +60 -15
  28. package/dist/es5/lib/api/load.js.map +1 -1
  29. package/dist/es5/lib/api/parse-in-batches.js +333 -81
  30. package/dist/es5/lib/api/parse-in-batches.js.map +1 -1
  31. package/dist/es5/lib/api/parse-sync.js +15 -11
  32. package/dist/es5/lib/api/parse-sync.js.map +1 -1
  33. package/dist/es5/lib/api/parse.js +142 -50
  34. package/dist/es5/lib/api/parse.js.map +1 -1
  35. package/dist/es5/lib/api/register-loaders.js +30 -8
  36. package/dist/es5/lib/api/register-loaders.js.map +1 -1
  37. package/dist/es5/lib/api/save.js +37 -4
  38. package/dist/es5/lib/api/save.js.map +1 -1
  39. package/dist/es5/lib/api/select-loader.js +209 -74
  40. package/dist/es5/lib/api/select-loader.js.map +1 -1
  41. package/dist/es5/lib/fetch/fetch-error-message.js +55 -13
  42. package/dist/es5/lib/fetch/fetch-error-message.js.map +1 -1
  43. package/dist/es5/lib/fetch/fetch-file.js +47 -10
  44. package/dist/es5/lib/fetch/fetch-file.js.map +1 -1
  45. package/dist/es5/lib/fetch/read-array-buffer.js +80 -19
  46. package/dist/es5/lib/fetch/read-array-buffer.js.map +1 -1
  47. package/dist/es5/lib/fetch/read-file.js +3 -2
  48. package/dist/es5/lib/fetch/read-file.js.map +1 -1
  49. package/dist/es5/lib/fetch/write-file.js +38 -9
  50. package/dist/es5/lib/fetch/write-file.js.map +1 -1
  51. package/dist/es5/lib/filesystems/browser-filesystem.js +266 -77
  52. package/dist/es5/lib/filesystems/browser-filesystem.js.map +1 -1
  53. package/dist/es5/lib/filesystems/read-array-buffer.js +43 -6
  54. package/dist/es5/lib/filesystems/read-array-buffer.js.map +1 -1
  55. package/dist/es5/lib/init.js +1 -1
  56. package/dist/es5/lib/init.js.map +1 -1
  57. package/dist/es5/lib/loader-utils/check-errors.js +50 -12
  58. package/dist/es5/lib/loader-utils/check-errors.js.map +1 -1
  59. package/dist/es5/lib/loader-utils/get-data.js +238 -71
  60. package/dist/es5/lib/loader-utils/get-data.js.map +1 -1
  61. package/dist/es5/lib/loader-utils/loader-context.js +19 -8
  62. package/dist/es5/lib/loader-utils/loader-context.js.map +1 -1
  63. package/dist/es5/lib/loader-utils/loggers.js +81 -36
  64. package/dist/es5/lib/loader-utils/loggers.js.map +1 -1
  65. package/dist/es5/lib/loader-utils/normalize-loader.js +13 -7
  66. package/dist/es5/lib/loader-utils/normalize-loader.js.map +1 -1
  67. package/dist/es5/lib/loader-utils/option-defaults.js +2 -2
  68. package/dist/es5/lib/loader-utils/option-defaults.js.map +1 -1
  69. package/dist/es5/lib/loader-utils/option-utils.js +85 -51
  70. package/dist/es5/lib/loader-utils/option-utils.js.map +1 -1
  71. package/dist/es5/lib/progress/fetch-progress.js +150 -49
  72. package/dist/es5/lib/progress/fetch-progress.js.map +1 -1
  73. package/dist/es5/lib/utils/mime-type-utils.js +4 -4
  74. package/dist/es5/lib/utils/mime-type-utils.js.map +1 -1
  75. package/dist/es5/lib/utils/resource-utils.js +4 -4
  76. package/dist/es5/lib/utils/resource-utils.js.map +1 -1
  77. package/dist/es5/lib/utils/response-utils.js +215 -88
  78. package/dist/es5/lib/utils/response-utils.js.map +1 -1
  79. package/dist/es5/null-loader.js +137 -10
  80. package/dist/es5/null-loader.js.map +1 -1
  81. package/dist/esm/lib/init.js +1 -1
  82. package/dist/esm/lib/init.js.map +1 -1
  83. package/dist/esm/null-loader.js +1 -1
  84. package/dist/esm/null-loader.js.map +1 -1
  85. package/package.json +4 -4
@@ -1,10 +1,18 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports.parse = parse;
7
9
 
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
+
8
16
  var _workerUtils = require("@loaders.gl/worker-utils");
9
17
 
10
18
  var _loaderUtils = require("@loaders.gl/loader-utils");
@@ -21,59 +29,143 @@ var _resourceUtils = require("../utils/resource-utils");
21
29
 
22
30
  var _selectLoader = require("./select-loader");
23
31
 
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);
32
+ function parse(_x, _x2, _x3, _x4) {
33
+ return _parse.apply(this, arguments);
53
34
  }
54
35
 
55
- async function parseWithLoader(loader, data, options, context) {
56
- (0, _workerUtils.validateWorkerVersion)(loader);
57
- data = await (0, _getData.getArrayBufferOrStringFromData)(data, loader, options);
58
-
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
- }
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
+ }
71
96
 
72
- if (loader.parse) {
73
- return await loader.parse(data, options, context, loader);
74
- }
97
+ function parseWithLoader(_x5, _x6, _x7, _x8) {
98
+ return _parseWithLoader.apply(this, arguments);
99
+ }
75
100
 
76
- (0, _workerUtils.assert)(!loader.parseSync);
77
- throw new Error("".concat(loader.id, " loader - no parser found and worker is disabled"));
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);
78
170
  }
79
171
  //# 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":";;;;;;;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"}
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"}
@@ -11,22 +11,44 @@ var _normalizeLoader = require("../loader-utils/normalize-loader");
11
11
 
12
12
  var _optionUtils = require("../loader-utils/option-utils");
13
13
 
14
- const getGlobalLoaderRegistry = () => {
15
- const state = (0, _optionUtils.getGlobalLoaderState)();
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)();
16
22
  state.loaderRegistry = state.loaderRegistry || [];
17
23
  return state.loaderRegistry;
18
24
  };
19
25
 
20
26
  function registerLoaders(loaders) {
21
- const loaderRegistry = getGlobalLoaderRegistry();
27
+ var loaderRegistry = getGlobalLoaderRegistry();
22
28
  loaders = Array.isArray(loaders) ? loaders : [loaders];
23
29
 
24
- for (const loader of loaders) {
25
- const normalizedLoader = (0, _normalizeLoader.normalizeLoader)(loader);
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
+ };
26
44
 
27
- if (!loaderRegistry.find(registeredLoader => normalizedLoader === registeredLoader)) {
28
- loaderRegistry.unshift(normalizedLoader);
45
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
46
+ _loop();
29
47
  }
48
+ } catch (err) {
49
+ _iterator.e(err);
50
+ } finally {
51
+ _iterator.f();
30
52
  }
31
53
  }
32
54
 
@@ -35,7 +57,7 @@ function getRegisteredLoaders() {
35
57
  }
36
58
 
37
59
  function _unregisterLoaders() {
38
- const state = (0, _optionUtils.getGlobalLoaderState)();
60
+ var state = (0, _optionUtils.getGlobalLoaderState)();
39
61
  state.loaderRegistry = [];
40
62
  }
41
63
  //# 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,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;;AAOO,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\n/** Register a list of global loaders */\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/** @deprecated For testing only */\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,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;;AAOO,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\n/** Register a list of global loaders */\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/** @deprecated For testing only */\nexport function _unregisterLoaders() {\n const state = getGlobalLoaderState();\n state.loaderRegistry = [];\n}\n"],"file":"register-loaders.js"}
@@ -1,22 +1,55 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports.save = save;
7
9
  exports.saveSync = saveSync;
8
10
 
11
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
12
+
13
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
14
+
9
15
  var _encode = require("./encode");
10
16
 
11
17
  var _writeFile = require("../fetch/write-file");
12
18
 
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);
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);
16
49
  }
17
50
 
18
51
  function saveSync(data, url, writer, options) {
19
- const encodedData = (0, _encode.encodeSync)(data, writer, options);
52
+ var encodedData = (0, _encode.encodeSync)(data, writer, options);
20
53
  return (0, _writeFile.writeFileSync)(url, encodedData);
21
54
  }
22
55
  //# 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;;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"}
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"}