@loaders.gl/core 3.4.14 → 3.4.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dist.min.js +106 -104
- package/dist/es5/bundle.js +1 -1
- package/dist/es5/bundle.js.map +1 -1
- package/dist/es5/index.js +55 -55
- package/dist/es5/iterators/batch-iterators/timed-batch-iterator.js +14 -86
- 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 -33
- package/dist/es5/iterators/make-iterator/make-array-buffer-iterator.js.map +1 -1
- package/dist/es5/iterators/make-iterator/make-blob-iterator.js +10 -39
- 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 -119
- package/dist/es5/iterators/make-iterator/make-stream-iterator.js.map +1 -1
- package/dist/es5/iterators/make-iterator/make-string-iterator.js +11 -30
- package/dist/es5/iterators/make-iterator/make-string-iterator.js.map +1 -1
- package/dist/es5/iterators/make-stream/make-dom-stream.js +22 -54
- package/dist/es5/iterators/make-stream/make-dom-stream.js.map +1 -1
- package/dist/es5/iterators/make-stream/make-node-stream.js +50 -152
- package/dist/es5/iterators/make-stream/make-node-stream.js.map +1 -1
- package/dist/es5/javascript-utils/is-type.js +18 -56
- package/dist/es5/javascript-utils/is-type.js.map +1 -1
- package/dist/es5/lib/api/encode.js +54 -203
- package/dist/es5/lib/api/encode.js.map +1 -1
- package/dist/es5/lib/api/load-in-batches.js +9 -41
- package/dist/es5/lib/api/load-in-batches.js.map +1 -1
- package/dist/es5/lib/api/load.js +15 -48
- package/dist/es5/lib/api/load.js.map +1 -1
- package/dist/es5/lib/api/loader-options.js +2 -2
- package/dist/es5/lib/api/parse-in-batches.js +71 -259
- package/dist/es5/lib/api/parse-in-batches.js.map +1 -1
- package/dist/es5/lib/api/parse-sync.js +9 -11
- package/dist/es5/lib/api/parse-sync.js.map +1 -1
- package/dist/es5/lib/api/parse.js +62 -125
- package/dist/es5/lib/api/parse.js.map +1 -1
- package/dist/es5/lib/api/register-loaders.js +8 -25
- package/dist/es5/lib/api/register-loaders.js.map +1 -1
- package/dist/es5/lib/api/save.js +4 -28
- package/dist/es5/lib/api/save.js.map +1 -1
- package/dist/es5/lib/api/select-loader.js +76 -170
- package/dist/es5/lib/api/select-loader.js.map +1 -1
- package/dist/es5/lib/fetch/fetch-error-message.js +13 -44
- package/dist/es5/lib/fetch/fetch-error-message.js.map +1 -1
- package/dist/es5/lib/fetch/fetch-file.js +10 -37
- package/dist/es5/lib/fetch/fetch-file.js.map +1 -1
- package/dist/es5/lib/fetch/read-array-buffer.js +19 -65
- package/dist/es5/lib/fetch/read-array-buffer.js.map +1 -1
- package/dist/es5/lib/fetch/read-file.js +2 -2
- package/dist/es5/lib/fetch/read-file.js.map +1 -1
- package/dist/es5/lib/fetch/write-file.js +8 -29
- package/dist/es5/lib/fetch/write-file.js.map +1 -1
- package/dist/es5/lib/filesystems/browser-filesystem.js +78 -227
- package/dist/es5/lib/filesystems/browser-filesystem.js.map +1 -1
- package/dist/es5/lib/filesystems/read-array-buffer.js +6 -33
- 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 +11 -39
- package/dist/es5/lib/loader-utils/check-errors.js.map +1 -1
- package/dist/es5/lib/loader-utils/get-data.js +62 -187
- package/dist/es5/lib/loader-utils/get-data.js.map +1 -1
- package/dist/es5/lib/loader-utils/get-fetch-function.js +3 -5
- package/dist/es5/lib/loader-utils/get-fetch-function.js.map +1 -1
- package/dist/es5/lib/loader-utils/loader-context.js +8 -12
- package/dist/es5/lib/loader-utils/loader-context.js.map +1 -1
- package/dist/es5/lib/loader-utils/loggers.js +37 -67
- package/dist/es5/lib/loader-utils/loggers.js.map +1 -1
- package/dist/es5/lib/loader-utils/normalize-loader.js +9 -9
- 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 +43 -59
- package/dist/es5/lib/loader-utils/option-utils.js.map +1 -1
- package/dist/es5/lib/progress/fetch-progress.js +49 -125
- package/dist/es5/lib/progress/fetch-progress.js.map +1 -1
- package/dist/es5/lib/utils/log.js +1 -1
- package/dist/es5/lib/utils/log.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 +8 -8
- package/dist/es5/lib/utils/resource-utils.js.map +1 -1
- package/dist/es5/lib/utils/response-utils.js +71 -171
- package/dist/es5/lib/utils/response-utils.js.map +1 -1
- package/dist/es5/lib/utils/url-utils.js +2 -2
- package/dist/es5/lib/utils/url-utils.js.map +1 -1
- package/dist/es5/null-loader.js +14 -100
- package/dist/es5/null-loader.js.map +1 -1
- package/dist/esm/lib/init.js +1 -1
- package/dist/esm/null-loader.js +1 -1
- package/dist/null-worker.js +1 -1
- package/package.json +5 -5
- package/src/.DS_Store +0 -0
- package/src/lib/.DS_Store +0 -0
package/dist/es5/lib/init.js
CHANGED
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _log = require("./utils/log");
|
|
8
|
-
|
|
8
|
+
const version = typeof "3.4.15" !== 'undefined' ? "3.4.15" : 'latest';
|
|
9
9
|
if (!globalThis.loaders) {
|
|
10
10
|
_log.log.log(1, "loaders.gl ".concat(version))();
|
|
11
11
|
globalThis.loaders = Object.assign(globalThis.loaders || {}, {
|
package/dist/es5/lib/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","names":["_log","require","version","globalThis","loaders","log","concat","Object","assign","VERSION","_default","exports","default"],"sources":["../../../src/lib/init.ts"],"sourcesContent":["// loaders.gl, MIT license\nimport {log} from './utils/log';\n\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst version = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\n// @ts-ignore\nif (!globalThis.loaders) {\n log.log(1, `loaders.gl ${version}`)();\n\n globalThis.loaders = Object.assign(globalThis.loaders || {}, {\n VERSION: version,\n log\n });\n}\n// @ts-ignore\nexport default globalThis.loaders;\n"],"mappings":";;;;;;AACA,IAAAA,IAAA,GAAAC,OAAA;AAGA,
|
|
1
|
+
{"version":3,"file":"init.js","names":["_log","require","version","globalThis","loaders","log","concat","Object","assign","VERSION","_default","exports","default"],"sources":["../../../src/lib/init.ts"],"sourcesContent":["// loaders.gl, MIT license\nimport {log} from './utils/log';\n\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst version = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\n// @ts-ignore\nif (!globalThis.loaders) {\n log.log(1, `loaders.gl ${version}`)();\n\n globalThis.loaders = Object.assign(globalThis.loaders || {}, {\n VERSION: version,\n log\n });\n}\n// @ts-ignore\nexport default globalThis.loaders;\n"],"mappings":";;;;;;AACA,IAAAA,IAAA,GAAAC,OAAA;AAGA,MAAMC,OAAO,GAAG,eAAkB,KAAK,WAAW,cAAiB,QAAQ;AAG3E,IAAI,CAACC,UAAU,CAACC,OAAO,EAAE;EACvBC,QAAG,CAACA,GAAG,CAAC,CAAC,gBAAAC,MAAA,CAAgBJ,OAAO,CAAE,CAAC,CAAC,CAAC;EAErCC,UAAU,CAACC,OAAO,GAAGG,MAAM,CAACC,MAAM,CAACL,UAAU,CAACC,OAAO,IAAI,CAAC,CAAC,EAAE;IAC3DK,OAAO,EAAEP,OAAO;IAChBG,GAAG,EAAHA;EACF,CAAC,CAAC;AACJ;AAAC,IAAAK,QAAA,GAEcP,UAAU,CAACC,OAAO;AAAAO,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
|
|
@@ -1,49 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.checkFetchResponseStatus = checkFetchResponseStatus;
|
|
8
7
|
exports.checkFetchResponseStatusSync = checkFetchResponseStatusSync;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
var errorMessage, text;
|
|
17
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
18
|
-
while (1) switch (_context.prev = _context.next) {
|
|
19
|
-
case 0:
|
|
20
|
-
if (response.ok) {
|
|
21
|
-
_context.next = 12;
|
|
22
|
-
break;
|
|
23
|
-
}
|
|
24
|
-
errorMessage = "fetch failed ".concat(response.status, " ").concat(response.statusText);
|
|
25
|
-
_context.prev = 2;
|
|
26
|
-
_context.next = 5;
|
|
27
|
-
return response.text();
|
|
28
|
-
case 5:
|
|
29
|
-
text = _context.sent;
|
|
30
|
-
if (text) {
|
|
31
|
-
errorMessage += ": ".concat(getErrorText(text));
|
|
32
|
-
}
|
|
33
|
-
_context.next = 11;
|
|
34
|
-
break;
|
|
35
|
-
case 9:
|
|
36
|
-
_context.prev = 9;
|
|
37
|
-
_context.t0 = _context["catch"](2);
|
|
38
|
-
case 11:
|
|
39
|
-
throw new Error(errorMessage);
|
|
40
|
-
case 12:
|
|
41
|
-
case "end":
|
|
42
|
-
return _context.stop();
|
|
8
|
+
async function checkFetchResponseStatus(response) {
|
|
9
|
+
if (!response.ok) {
|
|
10
|
+
let errorMessage = "fetch failed ".concat(response.status, " ").concat(response.statusText);
|
|
11
|
+
try {
|
|
12
|
+
const text = await response.text();
|
|
13
|
+
if (text) {
|
|
14
|
+
errorMessage += ": ".concat(getErrorText(text));
|
|
43
15
|
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
|
|
16
|
+
} catch (error) {}
|
|
17
|
+
throw new Error(errorMessage);
|
|
18
|
+
}
|
|
47
19
|
}
|
|
48
20
|
function checkFetchResponseStatusSync(response) {
|
|
49
21
|
if (!response.ok) {
|
|
@@ -51,7 +23,7 @@ function checkFetchResponseStatusSync(response) {
|
|
|
51
23
|
}
|
|
52
24
|
}
|
|
53
25
|
function getErrorText(text) {
|
|
54
|
-
|
|
26
|
+
const matches = text.match('<pre>(.*)</pre>');
|
|
55
27
|
return matches ? matches[1] : " ".concat(text.slice(0, 10), "...");
|
|
56
28
|
}
|
|
57
29
|
//# sourceMappingURL=check-errors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-errors.js","names":["checkFetchResponseStatus","
|
|
1
|
+
{"version":3,"file":"check-errors.js","names":["checkFetchResponseStatus","response","ok","errorMessage","concat","status","statusText","text","getErrorText","error","Error","checkFetchResponseStatusSync","matches","match","slice"],"sources":["../../../../src/lib/loader-utils/check-errors.ts"],"sourcesContent":["export async function checkFetchResponseStatus(response) {\n if (!response.ok) {\n let errorMessage = `fetch failed ${response.status} ${response.statusText}`;\n try {\n const text = await response.text();\n if (text) {\n errorMessage += `: ${getErrorText(text)}`;\n }\n } catch (error) {\n // ignore error\n }\n throw new Error(errorMessage);\n }\n}\n\nexport function checkFetchResponseStatusSync(response) {\n if (!response.ok) {\n throw new Error(`fetch failed ${response.status}`);\n }\n}\n\nfunction getErrorText(text) {\n // Look for HTML error texts\n const matches = text.match('<pre>(.*)</pre>');\n return matches ? matches[1] : ` ${text.slice(0, 10)}...`;\n}\n"],"mappings":";;;;;;;AAAO,eAAeA,wBAAwBA,CAACC,QAAQ,EAAE;EACvD,IAAI,CAACA,QAAQ,CAACC,EAAE,EAAE;IAChB,IAAIC,YAAY,mBAAAC,MAAA,CAAmBH,QAAQ,CAACI,MAAM,OAAAD,MAAA,CAAIH,QAAQ,CAACK,UAAU,CAAE;IAC3E,IAAI;MACF,MAAMC,IAAI,GAAG,MAAMN,QAAQ,CAACM,IAAI,CAAC,CAAC;MAClC,IAAIA,IAAI,EAAE;QACRJ,YAAY,SAAAC,MAAA,CAASI,YAAY,CAACD,IAAI,CAAC,CAAE;MAC3C;IACF,CAAC,CAAC,OAAOE,KAAK,EAAE,CAEhB;IACA,MAAM,IAAIC,KAAK,CAACP,YAAY,CAAC;EAC/B;AACF;AAEO,SAASQ,4BAA4BA,CAACV,QAAQ,EAAE;EACrD,IAAI,CAACA,QAAQ,CAACC,EAAE,EAAE;IAChB,MAAM,IAAIQ,KAAK,iBAAAN,MAAA,CAAiBH,QAAQ,CAACI,MAAM,CAAE,CAAC;EACpD;AACF;AAEA,SAASG,YAAYA,CAACD,IAAI,EAAE;EAE1B,MAAMK,OAAO,GAAGL,IAAI,CAACM,KAAK,CAAC,iBAAiB,CAAC;EAC7C,OAAOD,OAAO,GAAGA,OAAO,CAAC,CAAC,CAAC,OAAAR,MAAA,CAAOG,IAAI,CAACO,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,QAAK;AAC1D"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
@@ -8,13 +7,11 @@ exports.getArrayBufferOrStringFromData = getArrayBufferOrStringFromData;
|
|
|
8
7
|
exports.getArrayBufferOrStringFromDataSync = getArrayBufferOrStringFromDataSync;
|
|
9
8
|
exports.getAsyncIterableFromData = getAsyncIterableFromData;
|
|
10
9
|
exports.getReadableStream = getReadableStream;
|
|
11
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
12
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
10
|
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
14
11
|
var _isType = require("../../javascript-utils/is-type");
|
|
15
12
|
var _makeIterator = require("../../iterators/make-iterator/make-iterator");
|
|
16
13
|
var _responseUtils = require("../utils/response-utils");
|
|
17
|
-
|
|
14
|
+
const ERR_DATA = 'Cannot convert supplied data type';
|
|
18
15
|
function getArrayBufferOrStringFromDataSync(data, loader, options) {
|
|
19
16
|
if (loader.text && typeof data === 'string') {
|
|
20
17
|
return data;
|
|
@@ -23,208 +20,86 @@ function getArrayBufferOrStringFromDataSync(data, loader, options) {
|
|
|
23
20
|
data = data.buffer;
|
|
24
21
|
}
|
|
25
22
|
if (data instanceof ArrayBuffer) {
|
|
26
|
-
|
|
23
|
+
const arrayBuffer = data;
|
|
27
24
|
if (loader.text && !loader.binary) {
|
|
28
|
-
|
|
25
|
+
const textDecoder = new TextDecoder('utf8');
|
|
29
26
|
return textDecoder.decode(arrayBuffer);
|
|
30
27
|
}
|
|
31
28
|
return arrayBuffer;
|
|
32
29
|
}
|
|
33
30
|
if (ArrayBuffer.isView(data)) {
|
|
34
31
|
if (loader.text && !loader.binary) {
|
|
35
|
-
|
|
36
|
-
return
|
|
32
|
+
const textDecoder = new TextDecoder('utf8');
|
|
33
|
+
return textDecoder.decode(data);
|
|
37
34
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
if (data.byteOffset !== 0 || byteLength !==
|
|
41
|
-
|
|
35
|
+
let arrayBuffer = data.buffer;
|
|
36
|
+
const byteLength = data.byteLength || data.length;
|
|
37
|
+
if (data.byteOffset !== 0 || byteLength !== arrayBuffer.byteLength) {
|
|
38
|
+
arrayBuffer = arrayBuffer.slice(data.byteOffset, data.byteOffset + byteLength);
|
|
42
39
|
}
|
|
43
|
-
return
|
|
40
|
+
return arrayBuffer;
|
|
44
41
|
}
|
|
45
42
|
throw new Error(ERR_DATA);
|
|
46
43
|
}
|
|
47
|
-
function getArrayBufferOrStringFromData(
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
_context3.next = 6;
|
|
68
|
-
return (0, _responseUtils.makeResponse)(data);
|
|
69
|
-
case 6:
|
|
70
|
-
data = _context3.sent;
|
|
71
|
-
case 7:
|
|
72
|
-
if (!(0, _isType.isResponse)(data)) {
|
|
73
|
-
_context3.next = 21;
|
|
74
|
-
break;
|
|
75
|
-
}
|
|
76
|
-
response = data;
|
|
77
|
-
_context3.next = 11;
|
|
78
|
-
return (0, _responseUtils.checkResponse)(response);
|
|
79
|
-
case 11:
|
|
80
|
-
if (!loader.binary) {
|
|
81
|
-
_context3.next = 17;
|
|
82
|
-
break;
|
|
83
|
-
}
|
|
84
|
-
_context3.next = 14;
|
|
85
|
-
return response.arrayBuffer();
|
|
86
|
-
case 14:
|
|
87
|
-
_context3.t0 = _context3.sent;
|
|
88
|
-
_context3.next = 20;
|
|
89
|
-
break;
|
|
90
|
-
case 17:
|
|
91
|
-
_context3.next = 19;
|
|
92
|
-
return response.text();
|
|
93
|
-
case 19:
|
|
94
|
-
_context3.t0 = _context3.sent;
|
|
95
|
-
case 20:
|
|
96
|
-
return _context3.abrupt("return", _context3.t0);
|
|
97
|
-
case 21:
|
|
98
|
-
if ((0, _isType.isReadableStream)(data)) {
|
|
99
|
-
data = (0, _makeIterator.makeIterator)(data, options);
|
|
100
|
-
}
|
|
101
|
-
if (!((0, _isType.isIterable)(data) || (0, _isType.isAsyncIterable)(data))) {
|
|
102
|
-
_context3.next = 24;
|
|
103
|
-
break;
|
|
104
|
-
}
|
|
105
|
-
return _context3.abrupt("return", (0, _loaderUtils.concatenateArrayBuffersAsync)(data));
|
|
106
|
-
case 24:
|
|
107
|
-
throw new Error(ERR_DATA);
|
|
108
|
-
case 25:
|
|
109
|
-
case "end":
|
|
110
|
-
return _context3.stop();
|
|
111
|
-
}
|
|
112
|
-
}, _callee);
|
|
113
|
-
}));
|
|
114
|
-
return _getArrayBufferOrStringFromData.apply(this, arguments);
|
|
115
|
-
}
|
|
116
|
-
function getAsyncIterableFromData(_x4, _x5) {
|
|
117
|
-
return _getAsyncIterableFromData.apply(this, arguments);
|
|
118
|
-
}
|
|
119
|
-
function _getAsyncIterableFromData() {
|
|
120
|
-
_getAsyncIterableFromData = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(data, options) {
|
|
121
|
-
var response, body;
|
|
122
|
-
return _regenerator.default.wrap(function _callee2$(_context4) {
|
|
123
|
-
while (1) switch (_context4.prev = _context4.next) {
|
|
124
|
-
case 0:
|
|
125
|
-
if (!(0, _isType.isIterator)(data)) {
|
|
126
|
-
_context4.next = 2;
|
|
127
|
-
break;
|
|
128
|
-
}
|
|
129
|
-
return _context4.abrupt("return", data);
|
|
130
|
-
case 2:
|
|
131
|
-
if (!(0, _isType.isResponse)(data)) {
|
|
132
|
-
_context4.next = 10;
|
|
133
|
-
break;
|
|
134
|
-
}
|
|
135
|
-
response = data;
|
|
136
|
-
_context4.next = 6;
|
|
137
|
-
return (0, _responseUtils.checkResponse)(response);
|
|
138
|
-
case 6:
|
|
139
|
-
_context4.next = 8;
|
|
140
|
-
return response.body;
|
|
141
|
-
case 8:
|
|
142
|
-
body = _context4.sent;
|
|
143
|
-
return _context4.abrupt("return", (0, _makeIterator.makeIterator)(body, options));
|
|
144
|
-
case 10:
|
|
145
|
-
if (!((0, _isType.isBlob)(data) || (0, _isType.isReadableStream)(data))) {
|
|
146
|
-
_context4.next = 12;
|
|
147
|
-
break;
|
|
148
|
-
}
|
|
149
|
-
return _context4.abrupt("return", (0, _makeIterator.makeIterator)(data, options));
|
|
150
|
-
case 12:
|
|
151
|
-
if (!(0, _isType.isAsyncIterable)(data)) {
|
|
152
|
-
_context4.next = 14;
|
|
153
|
-
break;
|
|
154
|
-
}
|
|
155
|
-
return _context4.abrupt("return", data[Symbol.asyncIterator]());
|
|
156
|
-
case 14:
|
|
157
|
-
return _context4.abrupt("return", getIterableFromData(data));
|
|
158
|
-
case 15:
|
|
159
|
-
case "end":
|
|
160
|
-
return _context4.stop();
|
|
161
|
-
}
|
|
162
|
-
}, _callee2);
|
|
163
|
-
}));
|
|
164
|
-
return _getAsyncIterableFromData.apply(this, arguments);
|
|
44
|
+
async function getArrayBufferOrStringFromData(data, loader, options) {
|
|
45
|
+
const isArrayBuffer = data instanceof ArrayBuffer || ArrayBuffer.isView(data);
|
|
46
|
+
if (typeof data === 'string' || isArrayBuffer) {
|
|
47
|
+
return getArrayBufferOrStringFromDataSync(data, loader, options);
|
|
48
|
+
}
|
|
49
|
+
if ((0, _isType.isBlob)(data)) {
|
|
50
|
+
data = await (0, _responseUtils.makeResponse)(data);
|
|
51
|
+
}
|
|
52
|
+
if ((0, _isType.isResponse)(data)) {
|
|
53
|
+
const response = data;
|
|
54
|
+
await (0, _responseUtils.checkResponse)(response);
|
|
55
|
+
return loader.binary ? await response.arrayBuffer() : await response.text();
|
|
56
|
+
}
|
|
57
|
+
if ((0, _isType.isReadableStream)(data)) {
|
|
58
|
+
data = (0, _makeIterator.makeIterator)(data, options);
|
|
59
|
+
}
|
|
60
|
+
if ((0, _isType.isIterable)(data) || (0, _isType.isAsyncIterable)(data)) {
|
|
61
|
+
return (0, _loaderUtils.concatenateArrayBuffersAsync)(data);
|
|
62
|
+
}
|
|
63
|
+
throw new Error(ERR_DATA);
|
|
165
64
|
}
|
|
166
|
-
function
|
|
167
|
-
|
|
65
|
+
async function getAsyncIterableFromData(data, options) {
|
|
66
|
+
if ((0, _isType.isIterator)(data)) {
|
|
67
|
+
return data;
|
|
68
|
+
}
|
|
69
|
+
if ((0, _isType.isResponse)(data)) {
|
|
70
|
+
const response = data;
|
|
71
|
+
await (0, _responseUtils.checkResponse)(response);
|
|
72
|
+
const body = await response.body;
|
|
73
|
+
return (0, _makeIterator.makeIterator)(body, options);
|
|
74
|
+
}
|
|
75
|
+
if ((0, _isType.isBlob)(data) || (0, _isType.isReadableStream)(data)) {
|
|
76
|
+
return (0, _makeIterator.makeIterator)(data, options);
|
|
77
|
+
}
|
|
78
|
+
if ((0, _isType.isAsyncIterable)(data)) {
|
|
79
|
+
return data[Symbol.asyncIterator]();
|
|
80
|
+
}
|
|
81
|
+
return getIterableFromData(data);
|
|
168
82
|
}
|
|
169
|
-
function
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
}
|
|
179
|
-
return _context5.abrupt("return", data);
|
|
180
|
-
case 2:
|
|
181
|
-
if (!(0, _isType.isResponse)(data)) {
|
|
182
|
-
_context5.next = 4;
|
|
183
|
-
break;
|
|
184
|
-
}
|
|
185
|
-
return _context5.abrupt("return", data.body);
|
|
186
|
-
case 4:
|
|
187
|
-
_context5.next = 6;
|
|
188
|
-
return (0, _responseUtils.makeResponse)(data);
|
|
189
|
-
case 6:
|
|
190
|
-
response = _context5.sent;
|
|
191
|
-
return _context5.abrupt("return", response.body);
|
|
192
|
-
case 8:
|
|
193
|
-
case "end":
|
|
194
|
-
return _context5.stop();
|
|
195
|
-
}
|
|
196
|
-
}, _callee3);
|
|
197
|
-
}));
|
|
198
|
-
return _getReadableStream.apply(this, arguments);
|
|
83
|
+
async function getReadableStream(data) {
|
|
84
|
+
if ((0, _isType.isReadableStream)(data)) {
|
|
85
|
+
return data;
|
|
86
|
+
}
|
|
87
|
+
if ((0, _isType.isResponse)(data)) {
|
|
88
|
+
return data.body;
|
|
89
|
+
}
|
|
90
|
+
const response = await (0, _responseUtils.makeResponse)(data);
|
|
91
|
+
return response.body;
|
|
199
92
|
}
|
|
200
93
|
function getIterableFromData(data) {
|
|
201
94
|
if (ArrayBuffer.isView(data)) {
|
|
202
|
-
return
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
case 0:
|
|
206
|
-
_context.next = 2;
|
|
207
|
-
return data.buffer;
|
|
208
|
-
case 2:
|
|
209
|
-
case "end":
|
|
210
|
-
return _context.stop();
|
|
211
|
-
}
|
|
212
|
-
}, oneChunk);
|
|
213
|
-
})();
|
|
95
|
+
return function* oneChunk() {
|
|
96
|
+
yield data.buffer;
|
|
97
|
+
}();
|
|
214
98
|
}
|
|
215
99
|
if (data instanceof ArrayBuffer) {
|
|
216
|
-
return
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
case 0:
|
|
220
|
-
_context2.next = 2;
|
|
221
|
-
return data;
|
|
222
|
-
case 2:
|
|
223
|
-
case "end":
|
|
224
|
-
return _context2.stop();
|
|
225
|
-
}
|
|
226
|
-
}, oneChunk);
|
|
227
|
-
})();
|
|
100
|
+
return function* oneChunk() {
|
|
101
|
+
yield data;
|
|
102
|
+
}();
|
|
228
103
|
}
|
|
229
104
|
if ((0, _isType.isIterator)(data)) {
|
|
230
105
|
return data;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-data.js","names":["_loaderUtils","require","_isType","_makeIterator","_responseUtils","ERR_DATA","getArrayBufferOrStringFromDataSync","data","loader","options","text","isBuffer","buffer","ArrayBuffer","arrayBuffer","binary","textDecoder","TextDecoder","decode","isView","byteLength","length","byteOffset","slice","Error","getArrayBufferOrStringFromData","_x","_x2","_x3","_getArrayBufferOrStringFromData","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","isArrayBuffer","response","wrap","_callee$","_context3","prev","next","abrupt","isBlob","makeResponse","sent","isResponse","checkResponse","t0","isReadableStream","makeIterator","isIterable","isAsyncIterable","concatenateArrayBuffersAsync","stop","getAsyncIterableFromData","_x4","_x5","_getAsyncIterableFromData","_callee2","body","_callee2$","_context4","isIterator","Symbol","asyncIterator","getIterableFromData","getReadableStream","_x6","_getReadableStream","_callee3","_callee3$","_context5","oneChunk","oneChunk$","_context","_context2","iterator"],"sources":["../../../../src/lib/loader-utils/get-data.ts"],"sourcesContent":["import type {\n DataType,\n SyncDataType,\n BatchableDataType,\n Loader,\n LoaderOptions\n} from '@loaders.gl/loader-utils';\nimport {concatenateArrayBuffersAsync} from '@loaders.gl/loader-utils';\nimport {\n isResponse,\n isReadableStream,\n isAsyncIterable,\n isIterable,\n isIterator,\n isBlob,\n isBuffer\n} from '../../javascript-utils/is-type';\nimport {makeIterator} from '../../iterators/make-iterator/make-iterator';\nimport {checkResponse, makeResponse} from '../utils/response-utils';\n\nconst ERR_DATA = 'Cannot convert supplied data type';\n\n// eslint-disable-next-line complexity\nexport function getArrayBufferOrStringFromDataSync(\n data: SyncDataType,\n loader: Loader,\n options: LoaderOptions\n): ArrayBuffer | string {\n if (loader.text && typeof data === 'string') {\n return data;\n }\n\n if (isBuffer(data)) {\n // @ts-ignore\n data = data.buffer;\n }\n\n if (data instanceof ArrayBuffer) {\n const arrayBuffer = data;\n if (loader.text && !loader.binary) {\n const textDecoder = new TextDecoder('utf8');\n return textDecoder.decode(arrayBuffer);\n }\n return arrayBuffer;\n }\n\n // We may need to handle offsets\n if (ArrayBuffer.isView(data)) {\n // TextDecoder is invoked on typed arrays and will handle offsets\n if (loader.text && !loader.binary) {\n const textDecoder = new TextDecoder('utf8');\n return textDecoder.decode(data);\n }\n\n let arrayBuffer = data.buffer;\n\n // Since we are returning the underlying arrayBuffer, we must create a new copy\n // if this typed array / Buffer is a partial view into the ArryayBuffer\n // TODO - this is a potentially unnecessary copy\n const byteLength = data.byteLength || data.length;\n if (data.byteOffset !== 0 || byteLength !== arrayBuffer.byteLength) {\n // console.warn(`loaders.gl copying arraybuffer of length ${byteLength}`);\n arrayBuffer = arrayBuffer.slice(data.byteOffset, data.byteOffset + byteLength);\n }\n return arrayBuffer;\n }\n\n throw new Error(ERR_DATA);\n}\n\n// Convert async iterator to a promise\nexport async function getArrayBufferOrStringFromData(\n data: DataType,\n loader: Loader,\n options: LoaderOptions\n): Promise<ArrayBuffer | string> {\n const isArrayBuffer = data instanceof ArrayBuffer || ArrayBuffer.isView(data);\n if (typeof data === 'string' || isArrayBuffer) {\n return getArrayBufferOrStringFromDataSync(data as string | ArrayBuffer, loader, options);\n }\n\n // Blobs and files are FileReader compatible\n if (isBlob(data)) {\n data = await makeResponse(data);\n }\n\n if (isResponse(data)) {\n const response = data as Response;\n await checkResponse(response);\n return loader.binary ? await response.arrayBuffer() : await response.text();\n }\n\n if (isReadableStream(data)) {\n // @ts-expect-error TS2559 options type\n data = makeIterator(data as ReadableStream, options);\n }\n\n if (isIterable(data) || isAsyncIterable(data)) {\n // Assume arrayBuffer iterator - attempt to concatenate\n return concatenateArrayBuffersAsync(data as AsyncIterable<ArrayBuffer>);\n }\n\n throw new Error(ERR_DATA);\n}\n\nexport async function getAsyncIterableFromData(\n data: BatchableDataType,\n options: LoaderOptions\n): Promise<AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>> {\n if (isIterator(data)) {\n return data as AsyncIterable<ArrayBuffer>;\n }\n\n if (isResponse(data)) {\n const response = data as Response;\n // Note Since this function is not async, we currently can't load error message, just status\n await checkResponse(response);\n // TODO - bug in polyfill, body can be a Promise under Node.js\n // eslint-disable-next-line @typescript-eslint/await-thenable\n const body = await response.body;\n // TODO - body can be null?\n return makeIterator(body as ReadableStream<Uint8Array>, options as any);\n }\n\n if (isBlob(data) || isReadableStream(data)) {\n return makeIterator(data as Blob | ReadableStream, options as any);\n }\n\n if (isAsyncIterable(data)) {\n return data[Symbol.asyncIterator]();\n }\n\n return getIterableFromData(data);\n}\n\nexport async function getReadableStream(data: BatchableDataType): Promise<ReadableStream> {\n if (isReadableStream(data)) {\n return data as ReadableStream;\n }\n if (isResponse(data)) {\n // @ts-ignore\n return data.body;\n }\n const response = await makeResponse(data);\n // @ts-ignore\n return response.body;\n}\n\n// HELPERS\n\nfunction getIterableFromData(data) {\n // generate an iterator that emits a single chunk\n if (ArrayBuffer.isView(data)) {\n return (function* oneChunk() {\n yield data.buffer;\n })();\n }\n\n if (data instanceof ArrayBuffer) {\n return (function* oneChunk() {\n yield data;\n })();\n }\n\n if (isIterator(data)) {\n return data;\n }\n\n if (isIterable(data)) {\n return data[Symbol.iterator]();\n }\n\n throw new Error(ERR_DATA);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"get-data.js","names":["_loaderUtils","require","_isType","_makeIterator","_responseUtils","ERR_DATA","getArrayBufferOrStringFromDataSync","data","loader","options","text","isBuffer","buffer","ArrayBuffer","arrayBuffer","binary","textDecoder","TextDecoder","decode","isView","byteLength","length","byteOffset","slice","Error","getArrayBufferOrStringFromData","isArrayBuffer","isBlob","makeResponse","isResponse","response","checkResponse","isReadableStream","makeIterator","isIterable","isAsyncIterable","concatenateArrayBuffersAsync","getAsyncIterableFromData","isIterator","body","Symbol","asyncIterator","getIterableFromData","getReadableStream","oneChunk","iterator"],"sources":["../../../../src/lib/loader-utils/get-data.ts"],"sourcesContent":["import type {\n DataType,\n SyncDataType,\n BatchableDataType,\n Loader,\n LoaderOptions\n} from '@loaders.gl/loader-utils';\nimport {concatenateArrayBuffersAsync} from '@loaders.gl/loader-utils';\nimport {\n isResponse,\n isReadableStream,\n isAsyncIterable,\n isIterable,\n isIterator,\n isBlob,\n isBuffer\n} from '../../javascript-utils/is-type';\nimport {makeIterator} from '../../iterators/make-iterator/make-iterator';\nimport {checkResponse, makeResponse} from '../utils/response-utils';\n\nconst ERR_DATA = 'Cannot convert supplied data type';\n\n// eslint-disable-next-line complexity\nexport function getArrayBufferOrStringFromDataSync(\n data: SyncDataType,\n loader: Loader,\n options: LoaderOptions\n): ArrayBuffer | string {\n if (loader.text && typeof data === 'string') {\n return data;\n }\n\n if (isBuffer(data)) {\n // @ts-ignore\n data = data.buffer;\n }\n\n if (data instanceof ArrayBuffer) {\n const arrayBuffer = data;\n if (loader.text && !loader.binary) {\n const textDecoder = new TextDecoder('utf8');\n return textDecoder.decode(arrayBuffer);\n }\n return arrayBuffer;\n }\n\n // We may need to handle offsets\n if (ArrayBuffer.isView(data)) {\n // TextDecoder is invoked on typed arrays and will handle offsets\n if (loader.text && !loader.binary) {\n const textDecoder = new TextDecoder('utf8');\n return textDecoder.decode(data);\n }\n\n let arrayBuffer = data.buffer;\n\n // Since we are returning the underlying arrayBuffer, we must create a new copy\n // if this typed array / Buffer is a partial view into the ArryayBuffer\n // TODO - this is a potentially unnecessary copy\n const byteLength = data.byteLength || data.length;\n if (data.byteOffset !== 0 || byteLength !== arrayBuffer.byteLength) {\n // console.warn(`loaders.gl copying arraybuffer of length ${byteLength}`);\n arrayBuffer = arrayBuffer.slice(data.byteOffset, data.byteOffset + byteLength);\n }\n return arrayBuffer;\n }\n\n throw new Error(ERR_DATA);\n}\n\n// Convert async iterator to a promise\nexport async function getArrayBufferOrStringFromData(\n data: DataType,\n loader: Loader,\n options: LoaderOptions\n): Promise<ArrayBuffer | string> {\n const isArrayBuffer = data instanceof ArrayBuffer || ArrayBuffer.isView(data);\n if (typeof data === 'string' || isArrayBuffer) {\n return getArrayBufferOrStringFromDataSync(data as string | ArrayBuffer, loader, options);\n }\n\n // Blobs and files are FileReader compatible\n if (isBlob(data)) {\n data = await makeResponse(data);\n }\n\n if (isResponse(data)) {\n const response = data as Response;\n await checkResponse(response);\n return loader.binary ? await response.arrayBuffer() : await response.text();\n }\n\n if (isReadableStream(data)) {\n // @ts-expect-error TS2559 options type\n data = makeIterator(data as ReadableStream, options);\n }\n\n if (isIterable(data) || isAsyncIterable(data)) {\n // Assume arrayBuffer iterator - attempt to concatenate\n return concatenateArrayBuffersAsync(data as AsyncIterable<ArrayBuffer>);\n }\n\n throw new Error(ERR_DATA);\n}\n\nexport async function getAsyncIterableFromData(\n data: BatchableDataType,\n options: LoaderOptions\n): Promise<AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>> {\n if (isIterator(data)) {\n return data as AsyncIterable<ArrayBuffer>;\n }\n\n if (isResponse(data)) {\n const response = data as Response;\n // Note Since this function is not async, we currently can't load error message, just status\n await checkResponse(response);\n // TODO - bug in polyfill, body can be a Promise under Node.js\n // eslint-disable-next-line @typescript-eslint/await-thenable\n const body = await response.body;\n // TODO - body can be null?\n return makeIterator(body as ReadableStream<Uint8Array>, options as any);\n }\n\n if (isBlob(data) || isReadableStream(data)) {\n return makeIterator(data as Blob | ReadableStream, options as any);\n }\n\n if (isAsyncIterable(data)) {\n return data[Symbol.asyncIterator]();\n }\n\n return getIterableFromData(data);\n}\n\nexport async function getReadableStream(data: BatchableDataType): Promise<ReadableStream> {\n if (isReadableStream(data)) {\n return data as ReadableStream;\n }\n if (isResponse(data)) {\n // @ts-ignore\n return data.body;\n }\n const response = await makeResponse(data);\n // @ts-ignore\n return response.body;\n}\n\n// HELPERS\n\nfunction getIterableFromData(data) {\n // generate an iterator that emits a single chunk\n if (ArrayBuffer.isView(data)) {\n return (function* oneChunk() {\n yield data.buffer;\n })();\n }\n\n if (data instanceof ArrayBuffer) {\n return (function* oneChunk() {\n yield data;\n })();\n }\n\n if (isIterator(data)) {\n return data;\n }\n\n if (isIterable(data)) {\n return data[Symbol.iterator]();\n }\n\n throw new Error(ERR_DATA);\n}\n"],"mappings":"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"}
|
|
@@ -8,15 +8,13 @@ var _isType = require("../../javascript-utils/is-type");
|
|
|
8
8
|
var _fetchFile = require("../fetch/fetch-file");
|
|
9
9
|
var _optionUtils = require("./option-utils");
|
|
10
10
|
function getFetchFunction(options, context) {
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
const globalOptions = (0, _optionUtils.getGlobalLoaderOptions)();
|
|
12
|
+
const fetchOptions = options || globalOptions;
|
|
13
13
|
if (typeof fetchOptions.fetch === 'function') {
|
|
14
14
|
return fetchOptions.fetch;
|
|
15
15
|
}
|
|
16
16
|
if ((0, _isType.isObject)(fetchOptions.fetch)) {
|
|
17
|
-
return
|
|
18
|
-
return (0, _fetchFile.fetchFile)(url, fetchOptions);
|
|
19
|
-
};
|
|
17
|
+
return url => (0, _fetchFile.fetchFile)(url, fetchOptions);
|
|
20
18
|
}
|
|
21
19
|
if (context !== null && context !== void 0 && context.fetch) {
|
|
22
20
|
return context === null || context === void 0 ? void 0 : context.fetch;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-fetch-function.js","names":["_isType","require","_fetchFile","_optionUtils","getFetchFunction","options","context","globalOptions","getGlobalLoaderOptions","fetchOptions","fetch","isObject","url","fetchFile"],"sources":["../../../../src/lib/loader-utils/get-fetch-function.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {LoaderContext, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {isObject} from '../../javascript-utils/is-type';\nimport {fetchFile} from '../fetch/fetch-file';\nimport {getGlobalLoaderOptions} from './option-utils';\n\n/**\n * Gets the current fetch function from options and context\n * @param options\n * @param context\n */\nexport function getFetchFunction(\n options?: LoaderOptions,\n context?: Omit<LoaderContext, 'fetch'> & Partial<Pick<LoaderContext, 'fetch'>>\n) {\n const globalOptions = getGlobalLoaderOptions();\n\n const fetchOptions = options || globalOptions;\n\n // options.fetch can be a function\n if (typeof fetchOptions.fetch === 'function') {\n return fetchOptions.fetch;\n }\n\n // options.fetch can be an options object\n if (isObject(fetchOptions.fetch)) {\n return (url) => fetchFile(url, fetchOptions as RequestInit);\n }\n\n // else refer to context (from parent loader) if available\n if (context?.fetch) {\n return context?.fetch;\n }\n\n // else return the default fetch function\n return fetchFile;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAOO,SAASG,gBAAgBA,CAC9BC,OAAuB,EACvBC,OAA8E,EAC9E;EACA,
|
|
1
|
+
{"version":3,"file":"get-fetch-function.js","names":["_isType","require","_fetchFile","_optionUtils","getFetchFunction","options","context","globalOptions","getGlobalLoaderOptions","fetchOptions","fetch","isObject","url","fetchFile"],"sources":["../../../../src/lib/loader-utils/get-fetch-function.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {LoaderContext, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {isObject} from '../../javascript-utils/is-type';\nimport {fetchFile} from '../fetch/fetch-file';\nimport {getGlobalLoaderOptions} from './option-utils';\n\n/**\n * Gets the current fetch function from options and context\n * @param options\n * @param context\n */\nexport function getFetchFunction(\n options?: LoaderOptions,\n context?: Omit<LoaderContext, 'fetch'> & Partial<Pick<LoaderContext, 'fetch'>>\n) {\n const globalOptions = getGlobalLoaderOptions();\n\n const fetchOptions = options || globalOptions;\n\n // options.fetch can be a function\n if (typeof fetchOptions.fetch === 'function') {\n return fetchOptions.fetch;\n }\n\n // options.fetch can be an options object\n if (isObject(fetchOptions.fetch)) {\n return (url) => fetchFile(url, fetchOptions as RequestInit);\n }\n\n // else refer to context (from parent loader) if available\n if (context?.fetch) {\n return context?.fetch;\n }\n\n // else return the default fetch function\n return fetchFile;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAOO,SAASG,gBAAgBA,CAC9BC,OAAuB,EACvBC,OAA8E,EAC9E;EACA,MAAMC,aAAa,GAAG,IAAAC,mCAAsB,EAAC,CAAC;EAE9C,MAAMC,YAAY,GAAGJ,OAAO,IAAIE,aAAa;EAG7C,IAAI,OAAOE,YAAY,CAACC,KAAK,KAAK,UAAU,EAAE;IAC5C,OAAOD,YAAY,CAACC,KAAK;EAC3B;EAGA,IAAI,IAAAC,gBAAQ,EAACF,YAAY,CAACC,KAAK,CAAC,EAAE;IAChC,OAAQE,GAAG,IAAK,IAAAC,oBAAS,EAACD,GAAG,EAAEH,YAA2B,CAAC;EAC7D;EAGA,IAAIH,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEI,KAAK,EAAE;IAClB,OAAOJ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEI,KAAK;EACvB;EAGA,OAAOG,oBAAS;AAClB"}
|
|
@@ -1,27 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.getLoaderContext = getLoaderContext;
|
|
8
7
|
exports.getLoadersFromContext = getLoadersFromContext;
|
|
9
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
8
|
var _getFetchFunction = require("./get-fetch-function");
|
|
12
9
|
var _urlUtils = require("../utils/url-utils");
|
|
13
10
|
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
14
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
15
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
16
11
|
function getLoaderContext(context, options, parentContext) {
|
|
17
12
|
if (parentContext) {
|
|
18
13
|
return parentContext;
|
|
19
14
|
}
|
|
20
|
-
|
|
21
|
-
fetch: (0, _getFetchFunction.getFetchFunction)(options, context)
|
|
22
|
-
|
|
15
|
+
const newContext = {
|
|
16
|
+
fetch: (0, _getFetchFunction.getFetchFunction)(options, context),
|
|
17
|
+
...context
|
|
18
|
+
};
|
|
23
19
|
if (newContext.url) {
|
|
24
|
-
|
|
20
|
+
const baseUrl = (0, _urlUtils.stripQueryString)(newContext.url);
|
|
25
21
|
newContext.baseUrl = baseUrl;
|
|
26
22
|
newContext.queryString = (0, _urlUtils.extractQueryString)(newContext.url);
|
|
27
23
|
newContext.filename = _loaderUtils.path.filename(baseUrl);
|
|
@@ -36,13 +32,13 @@ function getLoadersFromContext(loaders, context) {
|
|
|
36
32
|
if (!context && loaders && !Array.isArray(loaders)) {
|
|
37
33
|
return loaders;
|
|
38
34
|
}
|
|
39
|
-
|
|
35
|
+
let candidateLoaders;
|
|
40
36
|
if (loaders) {
|
|
41
37
|
candidateLoaders = Array.isArray(loaders) ? loaders : [loaders];
|
|
42
38
|
}
|
|
43
39
|
if (context && context.loaders) {
|
|
44
|
-
|
|
45
|
-
candidateLoaders = candidateLoaders ? [
|
|
40
|
+
const contextLoaders = Array.isArray(context.loaders) ? context.loaders : [context.loaders];
|
|
41
|
+
candidateLoaders = candidateLoaders ? [...candidateLoaders, ...contextLoaders] : contextLoaders;
|
|
46
42
|
}
|
|
47
43
|
return candidateLoaders && candidateLoaders.length ? candidateLoaders : null;
|
|
48
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader-context.js","names":["_getFetchFunction","require","_urlUtils","_loaderUtils","
|
|
1
|
+
{"version":3,"file":"loader-context.js","names":["_getFetchFunction","require","_urlUtils","_loaderUtils","getLoaderContext","context","options","parentContext","newContext","fetch","getFetchFunction","url","baseUrl","stripQueryString","queryString","extractQueryString","filename","path","dirname","Array","isArray","loaders","getLoadersFromContext","candidateLoaders","contextLoaders","length"],"sources":["../../../../src/lib/loader-utils/loader-context.ts"],"sourcesContent":["import type {Loader, LoaderOptions, LoaderContext} from '@loaders.gl/loader-utils';\nimport {getFetchFunction} from './get-fetch-function';\nimport {extractQueryString, stripQueryString} from '../utils/url-utils';\nimport {path} from '@loaders.gl/loader-utils';\n\n/**\n * \"sub\" loaders invoked by other loaders get a \"context\" injected on `this`\n * The context will inject core methods like `parse` and contain information\n * about loaders and options passed in to the top-level `parse` call.\n *\n * @param context\n * @param options\n * @param previousContext\n */\nexport function getLoaderContext(\n context: Omit<LoaderContext, 'fetch'> & Partial<Pick<LoaderContext, 'fetch'>>,\n options: LoaderOptions,\n parentContext: LoaderContext | null\n): LoaderContext {\n // For recursive calls, we already have a context\n // TODO - add any additional loaders to context?\n if (parentContext) {\n return parentContext;\n }\n\n const newContext: LoaderContext = {\n fetch: getFetchFunction(options, context),\n ...context\n };\n\n // Parse URLs so that subloaders can easily generate correct strings\n if (newContext.url) {\n const baseUrl = stripQueryString(newContext.url);\n newContext.baseUrl = baseUrl;\n newContext.queryString = extractQueryString(newContext.url);\n newContext.filename = path.filename(baseUrl);\n newContext.baseUrl = path.dirname(baseUrl);\n }\n\n // Recursive loading does not use single loader\n if (!Array.isArray(newContext.loaders)) {\n newContext.loaders = null;\n }\n\n return newContext;\n}\n\n// eslint-disable-next-line complexity\nexport function getLoadersFromContext(\n loaders: Loader[] | Loader | undefined,\n context?: LoaderContext\n) {\n // A single non-array loader is force selected, but only on top-level (context === null)\n if (!context && loaders && !Array.isArray(loaders)) {\n return loaders;\n }\n\n // Create a merged list\n let candidateLoaders;\n if (loaders) {\n candidateLoaders = Array.isArray(loaders) ? loaders : [loaders];\n }\n if (context && context.loaders) {\n const contextLoaders = Array.isArray(context.loaders) ? context.loaders : [context.loaders];\n candidateLoaders = candidateLoaders ? [...candidateLoaders, ...contextLoaders] : contextLoaders;\n }\n // If no loaders, return null to look in globally registered loaders\n return candidateLoaders && candidateLoaders.length ? candidateLoaders : null;\n}\n"],"mappings":";;;;;;;AACA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAWO,SAASG,gBAAgBA,CAC9BC,OAA6E,EAC7EC,OAAsB,EACtBC,aAAmC,EACpB;EAGf,IAAIA,aAAa,EAAE;IACjB,OAAOA,aAAa;EACtB;EAEA,MAAMC,UAAyB,GAAG;IAChCC,KAAK,EAAE,IAAAC,kCAAgB,EAACJ,OAAO,EAAED,OAAO,CAAC;IACzC,GAAGA;EACL,CAAC;EAGD,IAAIG,UAAU,CAACG,GAAG,EAAE;IAClB,MAAMC,OAAO,GAAG,IAAAC,0BAAgB,EAACL,UAAU,CAACG,GAAG,CAAC;IAChDH,UAAU,CAACI,OAAO,GAAGA,OAAO;IAC5BJ,UAAU,CAACM,WAAW,GAAG,IAAAC,4BAAkB,EAACP,UAAU,CAACG,GAAG,CAAC;IAC3DH,UAAU,CAACQ,QAAQ,GAAGC,iBAAI,CAACD,QAAQ,CAACJ,OAAO,CAAC;IAC5CJ,UAAU,CAACI,OAAO,GAAGK,iBAAI,CAACC,OAAO,CAACN,OAAO,CAAC;EAC5C;EAGA,IAAI,CAACO,KAAK,CAACC,OAAO,CAACZ,UAAU,CAACa,OAAO,CAAC,EAAE;IACtCb,UAAU,CAACa,OAAO,GAAG,IAAI;EAC3B;EAEA,OAAOb,UAAU;AACnB;AAGO,SAASc,qBAAqBA,CACnCD,OAAsC,EACtChB,OAAuB,EACvB;EAEA,IAAI,CAACA,OAAO,IAAIgB,OAAO,IAAI,CAACF,KAAK,CAACC,OAAO,CAACC,OAAO,CAAC,EAAE;IAClD,OAAOA,OAAO;EAChB;EAGA,IAAIE,gBAAgB;EACpB,IAAIF,OAAO,EAAE;IACXE,gBAAgB,GAAGJ,KAAK,CAACC,OAAO,CAACC,OAAO,CAAC,GAAGA,OAAO,GAAG,CAACA,OAAO,CAAC;EACjE;EACA,IAAIhB,OAAO,IAAIA,OAAO,CAACgB,OAAO,EAAE;IAC9B,MAAMG,cAAc,GAAGL,KAAK,CAACC,OAAO,CAACf,OAAO,CAACgB,OAAO,CAAC,GAAGhB,OAAO,CAACgB,OAAO,GAAG,CAAChB,OAAO,CAACgB,OAAO,CAAC;IAC3FE,gBAAgB,GAAGA,gBAAgB,GAAG,CAAC,GAAGA,gBAAgB,EAAE,GAAGC,cAAc,CAAC,GAAGA,cAAc;EACjG;EAEA,OAAOD,gBAAgB,IAAIA,gBAAgB,CAACE,MAAM,GAAGF,gBAAgB,GAAG,IAAI;AAC9E"}
|