@loaders.gl/core 3.1.0-alpha.4 → 3.1.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.d.ts +2 -0
- package/dist/bundle.d.ts.map +1 -0
- package/dist/bundle.js +3380 -0
- package/dist/core-addons/write-file-browser.d.ts +1 -0
- package/dist/core-addons/write-file-browser.d.ts.map +1 -0
- package/dist/core-addons/write-file-browser.js +60 -0
- package/dist/es5/bundle.js +1 -1
- package/dist/es5/bundle.js.map +1 -1
- package/dist/es5/index.js +56 -56
- package/dist/es5/iterators/batch-iterators/timed-batch-iterator.js +14 -119
- package/dist/es5/iterators/batch-iterators/timed-batch-iterator.js.map +1 -1
- package/dist/es5/iterators/make-iterator/make-array-buffer-iterator.js +17 -53
- package/dist/es5/iterators/make-iterator/make-array-buffer-iterator.js.map +1 -1
- package/dist/es5/iterators/make-iterator/make-blob-iterator.js +12 -53
- package/dist/es5/iterators/make-iterator/make-blob-iterator.js.map +1 -1
- package/dist/es5/iterators/make-iterator/make-iterator.js +1 -1
- package/dist/es5/iterators/make-iterator/make-iterator.js.map +1 -1
- package/dist/es5/iterators/make-iterator/make-stream-iterator.js +24 -161
- package/dist/es5/iterators/make-iterator/make-stream-iterator.js.map +1 -1
- package/dist/es5/iterators/make-iterator/make-string-iterator.js +13 -41
- package/dist/es5/iterators/make-iterator/make-string-iterator.js.map +1 -1
- package/dist/es5/iterators/make-stream/make-dom-stream.js +24 -69
- package/dist/es5/iterators/make-stream/make-dom-stream.js.map +1 -1
- package/dist/es5/iterators/make-stream/make-node-stream.js +53 -189
- package/dist/es5/iterators/make-stream/make-node-stream.js.map +1 -1
- package/dist/es5/javascript-utils/is-type.js +18 -58
- package/dist/es5/javascript-utils/is-type.js.map +1 -1
- package/dist/es5/lib/api/encode.js +46 -242
- package/dist/es5/lib/api/encode.js.map +1 -1
- package/dist/es5/lib/api/load-in-batches.js +9 -52
- package/dist/es5/lib/api/load-in-batches.js.map +1 -1
- package/dist/es5/lib/api/load.js +15 -60
- package/dist/es5/lib/api/load.js.map +1 -1
- package/dist/es5/lib/api/parse-in-batches.js +81 -333
- package/dist/es5/lib/api/parse-in-batches.js.map +1 -1
- package/dist/es5/lib/api/parse-sync.js +11 -15
- package/dist/es5/lib/api/parse-sync.js.map +1 -1
- package/dist/es5/lib/api/parse.js +50 -142
- package/dist/es5/lib/api/parse.js.map +1 -1
- package/dist/es5/lib/api/register-loaders.js +8 -30
- package/dist/es5/lib/api/register-loaders.js.map +1 -1
- package/dist/es5/lib/api/save.js +4 -37
- package/dist/es5/lib/api/save.js.map +1 -1
- package/dist/es5/lib/api/select-loader.js +74 -209
- package/dist/es5/lib/api/select-loader.js.map +1 -1
- package/dist/es5/lib/fetch/fetch-error-message.js +13 -55
- package/dist/es5/lib/fetch/fetch-error-message.js.map +1 -1
- package/dist/es5/lib/fetch/fetch-file.js +10 -47
- package/dist/es5/lib/fetch/fetch-file.js.map +1 -1
- package/dist/es5/lib/fetch/read-array-buffer.js +19 -80
- package/dist/es5/lib/fetch/read-array-buffer.js.map +1 -1
- package/dist/es5/lib/fetch/read-file.js +2 -3
- package/dist/es5/lib/fetch/read-file.js.map +1 -1
- package/dist/es5/lib/fetch/write-file.js +9 -38
- package/dist/es5/lib/fetch/write-file.js.map +1 -1
- package/dist/es5/lib/filesystems/browser-filesystem.js +77 -266
- package/dist/es5/lib/filesystems/browser-filesystem.js.map +1 -1
- package/dist/es5/lib/filesystems/read-array-buffer.js +6 -43
- package/dist/es5/lib/filesystems/read-array-buffer.js.map +1 -1
- package/dist/es5/lib/init.js +1 -1
- package/dist/es5/lib/init.js.map +1 -1
- package/dist/es5/lib/loader-utils/check-errors.js +12 -50
- package/dist/es5/lib/loader-utils/check-errors.js.map +1 -1
- package/dist/es5/lib/loader-utils/get-data.js +71 -238
- package/dist/es5/lib/loader-utils/get-data.js.map +1 -1
- package/dist/es5/lib/loader-utils/loader-context.js +8 -19
- package/dist/es5/lib/loader-utils/loader-context.js.map +1 -1
- package/dist/es5/lib/loader-utils/loggers.js +36 -81
- package/dist/es5/lib/loader-utils/loggers.js.map +1 -1
- package/dist/es5/lib/loader-utils/normalize-loader.js +7 -13
- package/dist/es5/lib/loader-utils/normalize-loader.js.map +1 -1
- package/dist/es5/lib/loader-utils/option-defaults.js +2 -2
- package/dist/es5/lib/loader-utils/option-defaults.js.map +1 -1
- package/dist/es5/lib/loader-utils/option-utils.js +51 -85
- package/dist/es5/lib/loader-utils/option-utils.js.map +1 -1
- package/dist/es5/lib/progress/fetch-progress.js +49 -150
- package/dist/es5/lib/progress/fetch-progress.js.map +1 -1
- package/dist/es5/lib/utils/mime-type-utils.js +4 -4
- package/dist/es5/lib/utils/mime-type-utils.js.map +1 -1
- package/dist/es5/lib/utils/resource-utils.js +4 -4
- package/dist/es5/lib/utils/resource-utils.js.map +1 -1
- package/dist/es5/lib/utils/response-utils.js +88 -215
- package/dist/es5/lib/utils/response-utils.js.map +1 -1
- package/dist/es5/null-loader.js +10 -137
- package/dist/es5/null-loader.js.map +1 -1
- package/dist/esm/lib/api/encode.js +1 -1
- package/dist/esm/lib/api/encode.js.map +1 -1
- package/dist/esm/lib/api/parse-sync.js +1 -1
- package/dist/esm/lib/api/parse-sync.js.map +1 -1
- package/dist/esm/lib/api/parse.js +1 -1
- package/dist/esm/lib/api/parse.js.map +1 -1
- package/dist/esm/lib/api/register-loaders.js.map +1 -1
- package/dist/esm/lib/api/select-loader.js +4 -4
- package/dist/esm/lib/api/select-loader.js.map +1 -1
- package/dist/esm/lib/fetch/fetch-error-message.js +2 -2
- package/dist/esm/lib/fetch/fetch-error-message.js.map +1 -1
- package/dist/esm/lib/init.js +1 -1
- package/dist/esm/lib/init.js.map +1 -1
- package/dist/esm/lib/loader-utils/check-errors.js +4 -4
- package/dist/esm/lib/loader-utils/check-errors.js.map +1 -1
- package/dist/esm/lib/loader-utils/option-utils.js +5 -5
- package/dist/esm/lib/loader-utils/option-utils.js.map +1 -1
- package/dist/esm/lib/utils/response-utils.js +7 -7
- package/dist/esm/lib/utils/response-utils.js.map +1 -1
- package/dist/esm/null-loader.js +1 -1
- package/dist/esm/null-loader.js.map +1 -1
- package/dist/index.d.ts +31 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +106 -0
- package/dist/iterators/batch-iterators/timed-batch-iterator.d.ts +5 -0
- package/dist/iterators/batch-iterators/timed-batch-iterator.d.ts.map +1 -0
- package/dist/iterators/batch-iterators/timed-batch-iterator.js +22 -0
- package/dist/iterators/make-iterator/make-array-buffer-iterator.d.ts +9 -0
- package/dist/iterators/make-iterator/make-array-buffer-iterator.d.ts.map +1 -0
- package/dist/iterators/make-iterator/make-array-buffer-iterator.js +27 -0
- package/dist/iterators/make-iterator/make-blob-iterator.d.ts +9 -0
- package/dist/iterators/make-iterator/make-blob-iterator.d.ts.map +1 -0
- package/dist/iterators/make-iterator/make-blob-iterator.js +21 -0
- package/dist/iterators/make-iterator/make-iterator.d.ts +19 -0
- package/dist/iterators/make-iterator/make-iterator.d.ts.map +1 -0
- package/dist/iterators/make-iterator/make-iterator.js +37 -0
- package/dist/iterators/make-iterator/make-stream-iterator.d.ts +11 -0
- package/dist/iterators/make-iterator/make-stream-iterator.d.ts.map +1 -0
- package/dist/iterators/make-iterator/make-stream-iterator.js +96 -0
- package/dist/iterators/make-iterator/make-string-iterator.d.ts +9 -0
- package/dist/iterators/make-iterator/make-string-iterator.d.ts.map +1 -0
- package/dist/iterators/make-iterator/make-string-iterator.js +24 -0
- package/dist/iterators/make-stream/make-dom-stream.d.ts +9 -0
- package/dist/iterators/make-stream/make-dom-stream.d.ts.map +1 -0
- package/dist/iterators/make-stream/make-dom-stream.js +41 -0
- package/dist/iterators/make-stream/make-node-stream.d.ts +7 -0
- package/dist/iterators/make-stream/make-node-stream.d.ts.map +1 -0
- package/dist/iterators/make-stream/make-node-stream.js +58 -0
- package/dist/iterators/make-stream/make-stream.d.ts +9 -0
- package/dist/iterators/make-stream/make-stream.d.ts.map +1 -0
- package/dist/iterators/make-stream/make-stream.js +16 -0
- package/dist/javascript-utils/is-type.d.ts +22 -0
- package/dist/javascript-utils/is-type.d.ts.map +1 -0
- package/dist/javascript-utils/is-type.js +41 -0
- package/dist/lib/api/encode.d.ts +26 -0
- package/dist/lib/api/encode.d.ts.map +1 -0
- package/dist/lib/api/encode.js +111 -0
- package/dist/lib/api/load-in-batches.d.ts +13 -0
- package/dist/lib/api/load-in-batches.d.ts.map +1 -0
- package/dist/lib/api/load-in-batches.js +33 -0
- package/dist/lib/api/load.d.ts +12 -0
- package/dist/lib/api/load.d.ts.map +1 -0
- package/dist/lib/api/load.js +41 -0
- package/dist/lib/api/parse-in-batches.d.ts +10 -0
- package/dist/lib/api/parse-in-batches.d.ts.map +1 -0
- package/dist/lib/api/parse-in-batches.js +120 -0
- package/dist/lib/api/parse-sync.d.ts +10 -0
- package/dist/lib/api/parse-sync.d.ts.map +1 -0
- package/dist/lib/api/parse-sync.js +59 -0
- package/dist/lib/api/parse.d.ts +10 -0
- package/dist/lib/api/parse.d.ts.map +1 -0
- package/dist/lib/api/parse.js +74 -0
- package/dist/lib/api/register-loaders.d.ts +7 -0
- package/dist/lib/api/register-loaders.d.ts.map +1 -0
- package/dist/lib/api/register-loaders.js +35 -0
- package/dist/lib/api/save.d.ts +4 -0
- package/dist/lib/api/save.d.ts.map +1 -0
- package/dist/lib/api/save.js +15 -0
- package/dist/lib/api/select-loader.d.ts +22 -0
- package/dist/lib/api/select-loader.d.ts.map +1 -0
- package/dist/lib/api/select-loader.js +239 -0
- package/dist/lib/api/set-loader-options.d.ts +6 -0
- package/dist/lib/api/set-loader-options.d.ts.map +1 -0
- package/dist/lib/api/set-loader-options.js +12 -0
- package/dist/lib/common.d.ts +2 -0
- package/dist/lib/common.d.ts.map +1 -0
- package/dist/lib/common.js +2 -0
- package/dist/lib/fetch/fetch-error-message.d.ts +3 -0
- package/dist/lib/fetch/fetch-error-message.d.ts.map +1 -0
- package/dist/lib/fetch/fetch-error-message.js +25 -0
- package/dist/lib/fetch/fetch-file.d.ts +13 -0
- package/dist/lib/fetch/fetch-file.d.ts.map +1 -0
- package/dist/lib/fetch/fetch-file.js +27 -0
- package/dist/lib/fetch/read-array-buffer.d.ts +17 -0
- package/dist/lib/fetch/read-array-buffer.d.ts.map +1 -0
- package/dist/lib/fetch/read-array-buffer.js +41 -0
- package/dist/lib/fetch/read-file.d.ts +5 -0
- package/dist/lib/fetch/read-file.d.ts.map +1 -0
- package/dist/lib/fetch/read-file.js +29 -0
- package/dist/lib/fetch/write-file.d.ts +3 -0
- package/dist/lib/fetch/write-file.d.ts.map +1 -0
- package/dist/lib/fetch/write-file.js +22 -0
- package/dist/lib/filesystems/browser-filesystem.d.ts +58 -0
- package/dist/lib/filesystems/browser-filesystem.d.ts.map +1 -0
- package/dist/lib/filesystems/browser-filesystem.js +126 -0
- package/dist/lib/filesystems/filesystem.d.ts +46 -0
- package/dist/lib/filesystems/filesystem.d.ts.map +1 -0
- package/dist/lib/filesystems/filesystem.js +2 -0
- package/dist/lib/filesystems/read-array-buffer.d.ts +19 -0
- package/dist/lib/filesystems/read-array-buffer.d.ts.map +1 -0
- package/dist/lib/filesystems/read-array-buffer.js +29 -0
- package/dist/lib/init.d.ts +3 -0
- package/dist/lib/init.d.ts.map +1 -0
- package/dist/lib/init.js +10 -0
- package/dist/lib/loader-utils/check-errors.d.ts +3 -0
- package/dist/lib/loader-utils/check-errors.d.ts.map +1 -0
- package/dist/lib/loader-utils/check-errors.js +30 -0
- package/dist/lib/loader-utils/get-data.d.ts +6 -0
- package/dist/lib/loader-utils/get-data.d.ts.map +1 -0
- package/dist/lib/loader-utils/get-data.js +129 -0
- package/dist/lib/loader-utils/loader-context.d.ts +13 -0
- package/dist/lib/loader-utils/loader-context.d.ts.map +1 -0
- package/dist/lib/loader-utils/loader-context.js +49 -0
- package/dist/lib/loader-utils/loggers.d.ts +16 -0
- package/dist/lib/loader-utils/loggers.d.ts.map +1 -0
- package/dist/lib/loader-utils/loggers.js +41 -0
- package/dist/lib/loader-utils/normalize-loader.d.ts +4 -0
- package/dist/lib/loader-utils/normalize-loader.d.ts.map +1 -0
- package/dist/lib/loader-utils/normalize-loader.js +52 -0
- package/dist/lib/loader-utils/option-defaults.d.ts +20 -0
- package/dist/lib/loader-utils/option-defaults.d.ts.map +1 -0
- package/dist/lib/loader-utils/option-defaults.js +41 -0
- package/dist/lib/loader-utils/option-utils.d.ts +36 -0
- package/dist/lib/loader-utils/option-utils.d.ts.map +1 -0
- package/dist/lib/loader-utils/option-utils.js +177 -0
- package/dist/lib/progress/fetch-progress.d.ts +6 -0
- package/dist/lib/progress/fetch-progress.d.ts.map +1 -0
- package/dist/lib/progress/fetch-progress.js +59 -0
- package/dist/lib/utils/mime-type-utils.d.ts +20 -0
- package/dist/lib/utils/mime-type-utils.d.ts.map +1 -0
- package/dist/lib/utils/mime-type-utils.js +42 -0
- package/dist/lib/utils/resource-utils.d.ts +21 -0
- package/dist/lib/utils/resource-utils.d.ts.map +1 -0
- package/dist/lib/utils/resource-utils.js +78 -0
- package/dist/lib/utils/response-utils.d.ts +18 -0
- package/dist/lib/utils/response-utils.d.ts.map +1 -0
- package/dist/lib/utils/response-utils.js +114 -0
- package/dist/null-loader.d.ts +10 -0
- package/dist/null-loader.d.ts.map +1 -0
- package/dist/null-loader.js +44 -0
- package/dist/null-worker.js +178 -2
- package/dist/workers/null-worker.d.ts +2 -0
- package/dist/workers/null-worker.d.ts.map +1 -0
- package/dist/workers/null-worker.js +5 -0
- package/package.json +7 -7
- package/src/lib/api/encode.ts +1 -0
- package/src/lib/api/register-loaders.ts +2 -1
- package/src/lib/{init.js → init.ts} +0 -0
- package/dist/dist.min.js +0 -2
- package/dist/dist.min.js.map +0 -1
- package/dist/null-worker.js.map +0 -1
|
@@ -1,28 +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.parseInBatches = parseInBatches;
|
|
9
7
|
|
|
10
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
|
|
14
|
-
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
15
|
-
|
|
16
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
17
|
-
|
|
18
|
-
var _wrapAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapAsyncGenerator"));
|
|
19
|
-
|
|
20
|
-
var _awaitAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/awaitAsyncGenerator"));
|
|
21
|
-
|
|
22
|
-
var _asyncIterator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncIterator"));
|
|
23
|
-
|
|
24
|
-
var _asyncGeneratorDelegate2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncGeneratorDelegate"));
|
|
25
|
-
|
|
26
8
|
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
27
9
|
|
|
28
10
|
var _normalizeLoader = require("../loader-utils/normalize-loader");
|
|
@@ -39,328 +21,94 @@ var _selectLoader = require("./select-loader");
|
|
|
39
21
|
|
|
40
22
|
var _parse = require("./parse");
|
|
41
23
|
|
|
42
|
-
function
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
data = _context3.sent;
|
|
71
|
-
options = options || {};
|
|
72
|
-
_getResourceUrlAndTyp = (0, _resourceUtils.getResourceUrlAndType)(data), url = _getResourceUrlAndTyp.url;
|
|
73
|
-
_context3.next = 9;
|
|
74
|
-
return (0, _selectLoader.selectLoader)(data, loaders, options);
|
|
75
|
-
|
|
76
|
-
case 9:
|
|
77
|
-
loader = _context3.sent;
|
|
78
|
-
|
|
79
|
-
if (loader) {
|
|
80
|
-
_context3.next = 12;
|
|
81
|
-
break;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
return _context3.abrupt("return", null);
|
|
85
|
-
|
|
86
|
-
case 12:
|
|
87
|
-
options = (0, _optionUtils.normalizeOptions)(options, loader, loaders, url);
|
|
88
|
-
context = (0, _loaderContext.getLoaderContext)({
|
|
89
|
-
url: url,
|
|
90
|
-
parseInBatches: parseInBatches,
|
|
91
|
-
parse: _parse.parse,
|
|
92
|
-
loaders: loaders
|
|
93
|
-
}, options, context);
|
|
94
|
-
_context3.next = 16;
|
|
95
|
-
return parseWithLoaderInBatches(loader, data, options, context);
|
|
96
|
-
|
|
97
|
-
case 16:
|
|
98
|
-
return _context3.abrupt("return", _context3.sent);
|
|
99
|
-
|
|
100
|
-
case 17:
|
|
101
|
-
case "end":
|
|
102
|
-
return _context3.stop();
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}, _callee2);
|
|
106
|
-
}));
|
|
107
|
-
return _parseInBatches.apply(this, arguments);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
function parseWithLoaderInBatches(loader, data, options, context) {
|
|
111
|
-
var outputIterator, metadataBatch, makeMetadataBatchIterator, _makeMetadataBatchIterator;
|
|
112
|
-
|
|
113
|
-
return _regenerator.default.async(function parseWithLoaderInBatches$(_context) {
|
|
114
|
-
while (1) {
|
|
115
|
-
switch (_context.prev = _context.next) {
|
|
116
|
-
case 0:
|
|
117
|
-
_makeMetadataBatchIterator = function _makeMetadataBatchIte2() {
|
|
118
|
-
_makeMetadataBatchIterator = (0, _wrapAsyncGenerator2.default)(_regenerator.default.mark(function _callee(iterator) {
|
|
119
|
-
return _regenerator.default.wrap(function _callee$(_context2) {
|
|
120
|
-
while (1) {
|
|
121
|
-
switch (_context2.prev = _context2.next) {
|
|
122
|
-
case 0:
|
|
123
|
-
_context2.next = 2;
|
|
124
|
-
return metadataBatch;
|
|
125
|
-
|
|
126
|
-
case 2:
|
|
127
|
-
return _context2.delegateYield((0, _asyncGeneratorDelegate2.default)((0, _asyncIterator2.default)(iterator), _awaitAsyncGenerator2.default), "t0", 3);
|
|
128
|
-
|
|
129
|
-
case 3:
|
|
130
|
-
case "end":
|
|
131
|
-
return _context2.stop();
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
}, _callee);
|
|
135
|
-
}));
|
|
136
|
-
return _makeMetadataBatchIterator.apply(this, arguments);
|
|
137
|
-
};
|
|
138
|
-
|
|
139
|
-
makeMetadataBatchIterator = function _makeMetadataBatchIte(_x) {
|
|
140
|
-
return _makeMetadataBatchIterator.apply(this, arguments);
|
|
141
|
-
};
|
|
142
|
-
|
|
143
|
-
_context.next = 4;
|
|
144
|
-
return _regenerator.default.awrap(parseToOutputIterator(loader, data, options, context));
|
|
145
|
-
|
|
146
|
-
case 4:
|
|
147
|
-
outputIterator = _context.sent;
|
|
148
|
-
|
|
149
|
-
if (options.metadata) {
|
|
150
|
-
_context.next = 7;
|
|
151
|
-
break;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
return _context.abrupt("return", outputIterator);
|
|
155
|
-
|
|
156
|
-
case 7:
|
|
157
|
-
metadataBatch = {
|
|
158
|
-
batchType: 'metadata',
|
|
159
|
-
metadata: {
|
|
160
|
-
_loader: loader,
|
|
161
|
-
_context: context
|
|
162
|
-
},
|
|
163
|
-
data: [],
|
|
164
|
-
bytesUsed: 0
|
|
165
|
-
};
|
|
166
|
-
return _context.abrupt("return", makeMetadataBatchIterator(outputIterator));
|
|
167
|
-
|
|
168
|
-
case 9:
|
|
169
|
-
case "end":
|
|
170
|
-
return _context.stop();
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
}, null, null, null, Promise);
|
|
24
|
+
async function parseInBatches(data, loaders, options, context) {
|
|
25
|
+
(0, _loaderUtils.assert)(!context || typeof context === 'object');
|
|
26
|
+
|
|
27
|
+
if (!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 loader = await (0, _selectLoader.selectLoader)(data, loaders, options);
|
|
39
|
+
|
|
40
|
+
if (!loader) {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
options = (0, _optionUtils.normalizeOptions)(options, loader, loaders, url);
|
|
45
|
+
context = (0, _loaderContext.getLoaderContext)({
|
|
46
|
+
url,
|
|
47
|
+
parseInBatches,
|
|
48
|
+
parse: _parse.parse,
|
|
49
|
+
loaders: loaders
|
|
50
|
+
}, options, context);
|
|
51
|
+
return await parseWithLoaderInBatches(loader, data, options, context);
|
|
174
52
|
}
|
|
175
53
|
|
|
176
|
-
function
|
|
177
|
-
|
|
54
|
+
async function parseWithLoaderInBatches(loader, data, options, context) {
|
|
55
|
+
const outputIterator = await parseToOutputIterator(loader, data, options, context);
|
|
56
|
+
|
|
57
|
+
if (!options.metadata) {
|
|
58
|
+
return outputIterator;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const metadataBatch = {
|
|
62
|
+
batchType: 'metadata',
|
|
63
|
+
metadata: {
|
|
64
|
+
_loader: loader,
|
|
65
|
+
_context: context
|
|
66
|
+
},
|
|
67
|
+
data: [],
|
|
68
|
+
bytesUsed: 0
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
async function* makeMetadataBatchIterator(iterator) {
|
|
72
|
+
yield metadataBatch;
|
|
73
|
+
yield* iterator;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
return makeMetadataBatchIterator(outputIterator);
|
|
178
77
|
}
|
|
179
78
|
|
|
180
|
-
function
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
case 5:
|
|
206
|
-
parsedData = _context4.sent;
|
|
207
|
-
batch = {
|
|
208
|
-
mimeType: loader.mimeTypes[0],
|
|
209
|
-
shape: Array.isArray(parsedData) ? 'row-table' : 'unknown',
|
|
210
|
-
batchType: 'data',
|
|
211
|
-
data: parsedData,
|
|
212
|
-
length: Array.isArray(parsedData) ? parsedData.length : 1
|
|
213
|
-
};
|
|
214
|
-
_context4.next = 9;
|
|
215
|
-
return batch;
|
|
216
|
-
|
|
217
|
-
case 9:
|
|
218
|
-
case "end":
|
|
219
|
-
return _context4.stop();
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
}, _callee3);
|
|
223
|
-
}));
|
|
224
|
-
return _parseChunkInBatches.apply(this, arguments);
|
|
225
|
-
};
|
|
226
|
-
|
|
227
|
-
parseChunkInBatches = function _parseChunkInBatches2() {
|
|
228
|
-
return _parseChunkInBatches.apply(this, arguments);
|
|
229
|
-
};
|
|
230
|
-
|
|
231
|
-
_context5.next = 4;
|
|
232
|
-
return (0, _getData.getAsyncIterableFromData)(data, options);
|
|
233
|
-
|
|
234
|
-
case 4:
|
|
235
|
-
inputIterator = _context5.sent;
|
|
236
|
-
_context5.next = 7;
|
|
237
|
-
return applyInputTransforms(inputIterator, (options === null || options === void 0 ? void 0 : options.transforms) || []);
|
|
238
|
-
|
|
239
|
-
case 7:
|
|
240
|
-
transformedIterator = _context5.sent;
|
|
241
|
-
|
|
242
|
-
if (!loader.parseInBatches) {
|
|
243
|
-
_context5.next = 10;
|
|
244
|
-
break;
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
return _context5.abrupt("return", loader.parseInBatches(transformedIterator, options, context));
|
|
248
|
-
|
|
249
|
-
case 10:
|
|
250
|
-
return _context5.abrupt("return", parseChunkInBatches());
|
|
251
|
-
|
|
252
|
-
case 11:
|
|
253
|
-
case "end":
|
|
254
|
-
return _context5.stop();
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
}, _callee4);
|
|
258
|
-
}));
|
|
259
|
-
return _parseToOutputIterator.apply(this, arguments);
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
function applyInputTransforms(_x10) {
|
|
263
|
-
return _applyInputTransforms.apply(this, arguments);
|
|
79
|
+
async function parseToOutputIterator(loader, data, options, context) {
|
|
80
|
+
const inputIterator = await (0, _getData.getAsyncIterableFromData)(data, options);
|
|
81
|
+
const transformedIterator = await applyInputTransforms(inputIterator, (options === null || options === void 0 ? void 0 : options.transforms) || []);
|
|
82
|
+
|
|
83
|
+
if (loader.parseInBatches) {
|
|
84
|
+
return loader.parseInBatches(transformedIterator, options, context);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
async function* parseChunkInBatches() {
|
|
88
|
+
const arrayBuffer = await (0, _loaderUtils.concatenateArrayBuffersAsync)(transformedIterator);
|
|
89
|
+
const parsedData = await (0, _parse.parse)(arrayBuffer, loader, { ...options,
|
|
90
|
+
mimeType: loader.mimeTypes[0]
|
|
91
|
+
}, context);
|
|
92
|
+
const batch = {
|
|
93
|
+
mimeType: loader.mimeTypes[0],
|
|
94
|
+
shape: Array.isArray(parsedData) ? 'row-table' : 'unknown',
|
|
95
|
+
batchType: 'data',
|
|
96
|
+
data: parsedData,
|
|
97
|
+
length: Array.isArray(parsedData) ? parsedData.length : 1
|
|
98
|
+
};
|
|
99
|
+
yield batch;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
return parseChunkInBatches();
|
|
264
103
|
}
|
|
265
104
|
|
|
266
|
-
function
|
|
267
|
-
|
|
268
|
-
var transforms,
|
|
269
|
-
iteratorChain,
|
|
270
|
-
_iteratorNormalCompletion,
|
|
271
|
-
_didIteratorError,
|
|
272
|
-
_iteratorError,
|
|
273
|
-
_iterator,
|
|
274
|
-
_step,
|
|
275
|
-
_value,
|
|
276
|
-
transformBatches,
|
|
277
|
-
_args6 = arguments;
|
|
278
|
-
|
|
279
|
-
return _regenerator.default.wrap(function _callee5$(_context6) {
|
|
280
|
-
while (1) {
|
|
281
|
-
switch (_context6.prev = _context6.next) {
|
|
282
|
-
case 0:
|
|
283
|
-
transforms = _args6.length > 1 && _args6[1] !== undefined ? _args6[1] : [];
|
|
284
|
-
iteratorChain = inputIterator;
|
|
285
|
-
_iteratorNormalCompletion = true;
|
|
286
|
-
_didIteratorError = false;
|
|
287
|
-
_context6.prev = 4;
|
|
288
|
-
_iterator = (0, _asyncIterator2.default)(transforms);
|
|
289
|
-
|
|
290
|
-
case 6:
|
|
291
|
-
_context6.next = 8;
|
|
292
|
-
return _iterator.next();
|
|
293
|
-
|
|
294
|
-
case 8:
|
|
295
|
-
_step = _context6.sent;
|
|
296
|
-
_iteratorNormalCompletion = _step.done;
|
|
297
|
-
_context6.next = 12;
|
|
298
|
-
return _step.value;
|
|
299
|
-
|
|
300
|
-
case 12:
|
|
301
|
-
_value = _context6.sent;
|
|
302
|
-
|
|
303
|
-
if (_iteratorNormalCompletion) {
|
|
304
|
-
_context6.next = 19;
|
|
305
|
-
break;
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
transformBatches = _value;
|
|
309
|
-
iteratorChain = transformBatches(iteratorChain);
|
|
310
|
-
|
|
311
|
-
case 16:
|
|
312
|
-
_iteratorNormalCompletion = true;
|
|
313
|
-
_context6.next = 6;
|
|
314
|
-
break;
|
|
315
|
-
|
|
316
|
-
case 19:
|
|
317
|
-
_context6.next = 25;
|
|
318
|
-
break;
|
|
319
|
-
|
|
320
|
-
case 21:
|
|
321
|
-
_context6.prev = 21;
|
|
322
|
-
_context6.t0 = _context6["catch"](4);
|
|
323
|
-
_didIteratorError = true;
|
|
324
|
-
_iteratorError = _context6.t0;
|
|
325
|
-
|
|
326
|
-
case 25:
|
|
327
|
-
_context6.prev = 25;
|
|
328
|
-
_context6.prev = 26;
|
|
329
|
-
|
|
330
|
-
if (!(!_iteratorNormalCompletion && _iterator.return != null)) {
|
|
331
|
-
_context6.next = 30;
|
|
332
|
-
break;
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
_context6.next = 30;
|
|
336
|
-
return _iterator.return();
|
|
337
|
-
|
|
338
|
-
case 30:
|
|
339
|
-
_context6.prev = 30;
|
|
340
|
-
|
|
341
|
-
if (!_didIteratorError) {
|
|
342
|
-
_context6.next = 33;
|
|
343
|
-
break;
|
|
344
|
-
}
|
|
345
|
-
|
|
346
|
-
throw _iteratorError;
|
|
347
|
-
|
|
348
|
-
case 33:
|
|
349
|
-
return _context6.finish(30);
|
|
350
|
-
|
|
351
|
-
case 34:
|
|
352
|
-
return _context6.finish(25);
|
|
105
|
+
async function applyInputTransforms(inputIterator, transforms = []) {
|
|
106
|
+
let iteratorChain = inputIterator;
|
|
353
107
|
|
|
354
|
-
|
|
355
|
-
|
|
108
|
+
for await (const transformBatches of transforms) {
|
|
109
|
+
iteratorChain = transformBatches(iteratorChain);
|
|
110
|
+
}
|
|
356
111
|
|
|
357
|
-
|
|
358
|
-
case "end":
|
|
359
|
-
return _context6.stop();
|
|
360
|
-
}
|
|
361
|
-
}
|
|
362
|
-
}, _callee5, null, [[4, 21, 25, 35], [26,, 30, 34]]);
|
|
363
|
-
}));
|
|
364
|
-
return _applyInputTransforms.apply(this, arguments);
|
|
112
|
+
return iteratorChain;
|
|
365
113
|
}
|
|
366
114
|
//# sourceMappingURL=parse-in-batches.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/api/parse-in-batches.ts"],"names":["parseInBatches","data","loaders","options","context","Array","isArray","undefined","url","loader","parse","parseWithLoaderInBatches","
|
|
1
|
+
{"version":3,"sources":["../../../../src/lib/api/parse-in-batches.ts"],"names":["parseInBatches","data","loaders","options","context","Array","isArray","undefined","url","loader","parse","parseWithLoaderInBatches","outputIterator","parseToOutputIterator","metadata","metadataBatch","batchType","_loader","_context","bytesUsed","makeMetadataBatchIterator","iterator","inputIterator","transformedIterator","applyInputTransforms","transforms","parseChunkInBatches","arrayBuffer","parsedData","mimeType","mimeTypes","batch","shape","length","iteratorChain","transformBatches"],"mappings":"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","sourcesContent":["import type {Batch} from '@loaders.gl/schema';\nimport type {\n BatchableDataType,\n Loader,\n LoaderWithParser,\n LoaderContext,\n LoaderOptions\n} from '@loaders.gl/loader-utils';\nimport {assert, concatenateArrayBuffersAsync} from '@loaders.gl/loader-utils';\nimport {isLoaderObject} from '../loader-utils/normalize-loader';\nimport {normalizeOptions} from '../loader-utils/option-utils';\nimport {getLoaderContext} from '../loader-utils/loader-context';\nimport {getAsyncIterableFromData} from '../loader-utils/get-data';\nimport {getResourceUrlAndType} from '../utils/resource-utils';\nimport {selectLoader} from './select-loader';\n\n// Ensure `parse` is available in context if loader falls back to `parse`\nimport {parse} from './parse';\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 parseInBatches(\n data: BatchableDataType,\n loaders?: Loader | Loader[] | LoaderOptions,\n options?: LoaderOptions,\n context?: LoaderContext\n): Promise<AsyncIterable<any>> {\n assert(!context || typeof context === 'object'); // parseInBatches no longer accepts final url\n\n // Signature: parseInBatches(data, options, url) - Uses registered loaders\n if (!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 // Note - only uses URL and contentType for streams and iterator inputs\n const loader = await selectLoader(data as ArrayBuffer, loaders as Loader[], options);\n // Note: if options.nothrow was set, it is possible that no loader was found, if so just return null\n if (!loader) {\n // @ts-ignore\n return null;\n }\n\n // Normalize options\n // @ts-ignore\n options = normalizeOptions(options, loader, loaders, url);\n // @ts-ignore\n context = getLoaderContext(\n // @ts-ignore\n {url, parseInBatches, parse, loaders: loaders as Loader[]},\n options,\n context\n );\n\n return await parseWithLoaderInBatches(loader as LoaderWithParser, data, options, context);\n}\n\n/**\n * Loader has been selected and context has been prepared, see if we need to emit a metadata batch\n */\nasync function parseWithLoaderInBatches(\n loader: LoaderWithParser,\n data: BatchableDataType,\n options: LoaderOptions,\n context: LoaderContext\n): Promise<AsyncIterable<any>> {\n const outputIterator = await parseToOutputIterator(loader, data, options, context);\n\n // Generate metadata batch if requested\n if (!options.metadata) {\n return outputIterator;\n }\n\n const metadataBatch = {\n batchType: 'metadata',\n metadata: {\n _loader: loader,\n _context: context\n },\n // Populate with some default fields to avoid crashing\n data: [],\n bytesUsed: 0\n };\n\n async function* makeMetadataBatchIterator(iterator) {\n yield metadataBatch;\n yield* iterator;\n }\n\n return makeMetadataBatchIterator(outputIterator);\n}\n\n/**\n * Prep work is done, now it is time to start parsing into an output operator\n * The approach depends on which parse function the loader exposes\n * `parseInBatches` (preferred), `parse` (fallback)\n */\nasync function parseToOutputIterator(\n loader: LoaderWithParser,\n data: BatchableDataType,\n options: LoaderOptions,\n context: LoaderContext\n): Promise<AsyncIterable<any>> {\n // Get an iterator from the input\n const inputIterator = await getAsyncIterableFromData(data, options);\n\n // Apply any iterator transforms (options.transforms)\n const transformedIterator = await applyInputTransforms(inputIterator, options?.transforms || []);\n\n // If loader supports parseInBatches, we are done\n if (loader.parseInBatches) {\n return loader.parseInBatches(transformedIterator, options, context);\n }\n\n // Fallback: load atomically using `parse` concatenating input iterator into single chunk\n async function* parseChunkInBatches() {\n const arrayBuffer = await concatenateArrayBuffersAsync(transformedIterator);\n // Call `parse` instead of `loader.parse` to ensure we can call workers etc.\n const parsedData = await parse(\n arrayBuffer,\n loader,\n // TODO - Hack: supply loaders MIME type to ensure we match it\n {...options, mimeType: loader.mimeTypes[0]},\n context\n );\n // yield a single batch, the output from loader.parse()\n // TODO - run through batch builder to apply options etc...\n const batch: Batch = {\n mimeType: loader.mimeTypes[0],\n shape: Array.isArray(parsedData) ? 'row-table' : 'unknown',\n batchType: 'data',\n data: parsedData,\n length: Array.isArray(parsedData) ? parsedData.length : 1\n };\n yield batch;\n }\n\n return parseChunkInBatches();\n}\n\ntype TransformBatches = (\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n) => AsyncIterable<ArrayBuffer>;\n\n/**\n * Create an iterator chain with any transform iterators (crypto, decompression)\n * @param inputIterator\n * @param options\n */\nasync function applyInputTransforms(\n inputIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n transforms: TransformBatches[] = []\n): Promise<AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>> {\n let iteratorChain = inputIterator;\n for await (const transformBatches of transforms) {\n iteratorChain = transformBatches(iteratorChain);\n }\n return iteratorChain;\n}\n"],"file":"parse-in-batches.js"}
|
|
@@ -1,14 +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.parseSync = parseSync;
|
|
9
7
|
|
|
10
|
-
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
|
-
|
|
12
8
|
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
13
9
|
|
|
14
10
|
var _selectLoader = require("./select-loader");
|
|
@@ -24,7 +20,7 @@ var _loaderContext = require("../loader-utils/loader-context");
|
|
|
24
20
|
var _resourceUtils = require("../utils/resource-utils");
|
|
25
21
|
|
|
26
22
|
function parseSync(data, loaders, options, context) {
|
|
27
|
-
(0, _loaderUtils.assert)(!context ||
|
|
23
|
+
(0, _loaderUtils.assert)(!context || typeof context === 'object');
|
|
28
24
|
|
|
29
25
|
if (!Array.isArray(loaders) && !(0, _normalizeLoader.isLoaderObject)(loaders)) {
|
|
30
26
|
context = undefined;
|
|
@@ -33,27 +29,27 @@ function parseSync(data, loaders, options, context) {
|
|
|
33
29
|
}
|
|
34
30
|
|
|
35
31
|
options = options || {};
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
32
|
+
const typedLoaders = loaders;
|
|
33
|
+
const candidateLoaders = (0, _loaderContext.getLoadersFromContext)(typedLoaders, context);
|
|
34
|
+
const loader = (0, _selectLoader.selectLoaderSync)(data, candidateLoaders, options);
|
|
39
35
|
|
|
40
36
|
if (!loader) {
|
|
41
37
|
return null;
|
|
42
38
|
}
|
|
43
39
|
|
|
44
40
|
options = (0, _optionUtils.normalizeOptions)(options, loader, candidateLoaders);
|
|
41
|
+
const {
|
|
42
|
+
url
|
|
43
|
+
} = (0, _resourceUtils.getResourceUrlAndType)(data);
|
|
45
44
|
|
|
46
|
-
|
|
47
|
-
url = _getResourceUrlAndTyp.url;
|
|
48
|
-
|
|
49
|
-
var parse = function parse() {
|
|
45
|
+
const parse = () => {
|
|
50
46
|
throw new Error('parseSync called parse');
|
|
51
47
|
};
|
|
52
48
|
|
|
53
49
|
context = (0, _loaderContext.getLoaderContext)({
|
|
54
|
-
url
|
|
55
|
-
parseSync
|
|
56
|
-
parse
|
|
50
|
+
url,
|
|
51
|
+
parseSync,
|
|
52
|
+
parse,
|
|
57
53
|
loaders: loaders
|
|
58
54
|
}, options);
|
|
59
55
|
return parseWithLoaderSync(loader, data, options, context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/api/parse-sync.ts"],"names":["parseSync","data","loaders","options","context","Array","isArray","undefined","typedLoaders","candidateLoaders","loader","url","parse","Error","parseWithLoaderSync","parseTextSync","ArrayBuffer","name"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/lib/api/parse-sync.ts"],"names":["parseSync","data","loaders","options","context","Array","isArray","undefined","typedLoaders","candidateLoaders","loader","url","parse","Error","parseWithLoaderSync","parseTextSync","ArrayBuffer","name"],"mappings":";;;;;;;AAOA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AASO,SAASA,SAAT,CACLC,IADK,EAELC,OAFK,EAGLC,OAHK,EAILC,OAJK,EAKA;AACL,2BAAO,CAACA,OAAD,IAAY,OAAOA,OAAP,KAAmB,QAAtC;;AAIA,MAAI,CAACC,KAAK,CAACC,OAAN,CAAcJ,OAAd,CAAD,IAA2B,CAAC,qCAAeA,OAAf,CAAhC,EAAyD;AACvDE,IAAAA,OAAO,GAAGG,SAAV;AACAJ,IAAAA,OAAO,GAAGD,OAAV;AACAA,IAAAA,OAAO,GAAGK,SAAV;AACD;;AAEDJ,EAAAA,OAAO,GAAGA,OAAO,IAAI,EAArB;AAIA,QAAMK,YAAY,GAAGN,OAArB;AACA,QAAMO,gBAAgB,GAAG,0CAAsBD,YAAtB,EAAoCJ,OAApC,CAAzB;AACA,QAAMM,MAAM,GAAG,oCAAiBT,IAAjB,EAAuBQ,gBAAvB,EAAyCN,OAAzC,CAAf;;AAEA,MAAI,CAACO,MAAL,EAAa;AACX,WAAO,IAAP;AACD;;AAGDP,EAAAA,OAAO,GAAG,mCAAiBA,OAAjB,EAA0BO,MAA1B,EAAkCD,gBAAlC,CAAV;AAGA,QAAM;AAACE,IAAAA;AAAD,MAAQ,0CAAsBV,IAAtB,CAAd;;AAEA,QAAMW,KAAK,GAAG,MAAM;AAClB,UAAM,IAAIC,KAAJ,CAAU,wBAAV,CAAN;AACD,GAFD;;AAGAT,EAAAA,OAAO,GAAG,qCAAiB;AAACO,IAAAA,GAAD;AAAMX,IAAAA,SAAN;AAAiBY,IAAAA,KAAjB;AAAwBV,IAAAA,OAAO,EAAEA;AAAjC,GAAjB,EAAwEC,OAAxE,CAAV;AAEA,SAAOW,mBAAmB,CAACJ,MAAD,EAA6BT,IAA7B,EAAmCE,OAAnC,EAA4CC,OAA5C,CAA1B;AACD;;AAGD,SAASU,mBAAT,CACEJ,MADF,EAEET,IAFF,EAGEE,OAHF,EAIEC,OAJF,EAKE;AACAH,EAAAA,IAAI,GAAG,iDAAmCA,IAAnC,EAAyCS,MAAzC,EAAiDP,OAAjD,CAAP;;AAEA,MAAIO,MAAM,CAACK,aAAP,IAAwB,OAAOd,IAAP,KAAgB,QAA5C,EAAsD;AACpD,WAAOS,MAAM,CAACK,aAAP,CAAqBd,IAArB,EAA2BE,OAA3B,CAAP;AACD;;AAED,MAAIO,MAAM,CAACV,SAAP,IAAoBC,IAAI,YAAYe,WAAxC,EAAqD;AACnD,WAAON,MAAM,CAACV,SAAP,CAAiBC,IAAjB,EAAuBE,OAAvB,EAAgCC,OAAhC,CAAP;AACD;;AAGD,QAAM,IAAIS,KAAJ,WACDH,MAAM,CAACO,IADN,qFAEFb,OAAO,CAACO,GAAR,IAAe,EAFb,EAAN;AAKD","sourcesContent":["import type {\n SyncDataType,\n Loader,\n LoaderWithParser,\n LoaderContext,\n LoaderOptions\n} from '@loaders.gl/loader-utils';\nimport {assert} from '@loaders.gl/loader-utils';\nimport {selectLoaderSync} from './select-loader';\nimport {isLoaderObject} from '../loader-utils/normalize-loader';\nimport {normalizeOptions} from '../loader-utils/option-utils';\nimport {getArrayBufferOrStringFromDataSync} from '../loader-utils/get-data';\nimport {getLoaderContext, getLoadersFromContext} from '../loader-utils/loader-context';\nimport {getResourceUrlAndType} from '../utils/resource-utils';\n\n/**\n * Parses `data` synchronously using a specified loader\n * @param data\n * @param loaders\n * @param options\n * @param context\n */\nexport function parseSync(\n data: SyncDataType,\n loaders?: Loader | Loader[] | LoaderOptions,\n options?: LoaderOptions,\n context?: LoaderContext\n): any {\n assert(!context || typeof context === 'object'); // parseSync no longer accepts final url\n\n // Signature: parseSync(data, options)\n // Uses registered loaders\n if (!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 options = options || {};\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 const loader = selectLoaderSync(data, candidateLoaders, options);\n // Note: if nothrow option was set, it is possible that 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);\n\n // Extract a url for auto detection\n const {url} = getResourceUrlAndType(data);\n\n const parse = () => {\n throw new Error('parseSync called parse');\n };\n context = getLoaderContext({url, parseSync, parse, loaders: loaders as Loader[]}, options);\n\n return parseWithLoaderSync(loader as LoaderWithParser, data, options, context);\n}\n\n// TODO - should accept loader.parseSync/parse and generate 1 chunk asyncIterator\nfunction parseWithLoaderSync(\n loader: LoaderWithParser,\n data: SyncDataType,\n options: LoaderOptions,\n context: LoaderContext\n) {\n data = getArrayBufferOrStringFromDataSync(data, loader, options);\n\n if (loader.parseTextSync && typeof data === 'string') {\n return loader.parseTextSync(data, options); // , context, loader);\n }\n\n if (loader.parseSync && data instanceof ArrayBuffer) {\n return loader.parseSync(data, options, context); // , loader);\n }\n\n // TBD - If synchronous parser not available, return null\n throw new Error(\n `${loader.name} loader: 'parseSync' not supported by this loader, use 'parse' instead. ${\n context.url || ''\n }`\n );\n}\n"],"file":"parse-sync.js"}
|