@loaders.gl/core 5.0.0-alpha.1 → 5.0.0-alpha.11
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/LICENSE +14 -3
- package/dist/dist.dev.js +1246 -227
- package/dist/dist.min.js +3 -3
- package/dist/index.cjs +2695 -270
- package/dist/index.cjs.map +3 -4
- package/dist/iterators/make-iterator/make-stream-iterator.js +49 -10
- package/dist/iterators/make-iterator/make-stream-iterator.js.map +1 -1
- package/dist/lib/api/create-data-source.d.ts +1 -1
- package/dist/lib/api/create-data-source.d.ts.map +1 -1
- package/dist/lib/api/create-data-source.js +23 -2
- package/dist/lib/api/create-data-source.js.map +1 -1
- package/dist/lib/api/load-in-batches.d.ts.map +1 -1
- package/dist/lib/api/load-in-batches.js +17 -6
- package/dist/lib/api/load-in-batches.js.map +1 -1
- package/dist/lib/api/load-loader.d.ts +2 -0
- package/dist/lib/api/load-loader.d.ts.map +1 -1
- package/dist/lib/api/load-loader.js +113 -7
- package/dist/lib/api/load-loader.js.map +1 -1
- package/dist/lib/api/load.d.ts +3 -3
- package/dist/lib/api/load.d.ts.map +1 -1
- package/dist/lib/api/load.js +36 -6
- package/dist/lib/api/load.js.map +1 -1
- package/dist/lib/api/parse-file.d.ts.map +1 -1
- package/dist/lib/api/parse-file.js +6 -2
- package/dist/lib/api/parse-file.js.map +1 -1
- package/dist/lib/api/parse-in-batches.d.ts.map +1 -1
- package/dist/lib/api/parse-in-batches.js +12 -3
- package/dist/lib/api/parse-in-batches.js.map +1 -1
- package/dist/lib/api/parse.d.ts.map +1 -1
- package/dist/lib/api/parse.js +11 -3
- package/dist/lib/api/parse.js.map +1 -1
- package/dist/lib/api/preload.d.ts +6 -3
- package/dist/lib/api/preload.d.ts.map +1 -1
- package/dist/lib/api/preload.js +4 -5
- package/dist/lib/api/preload.js.map +1 -1
- package/dist/lib/filesystems/browser-filesystem.d.ts.map +1 -1
- package/dist/lib/filesystems/browser-filesystem.js +25 -11
- package/dist/lib/filesystems/browser-filesystem.js.map +1 -1
- package/dist/lib/init.js +1 -1
- package/dist/lib/init.js.map +1 -1
- package/dist/lib/loader-utils/get-fetch-function.d.ts.map +1 -1
- package/dist/lib/loader-utils/get-fetch-function.js +16 -10
- package/dist/lib/loader-utils/get-fetch-function.js.map +1 -1
- package/dist/lib/loader-utils/loader-context.d.ts +1 -1
- package/dist/lib/loader-utils/loader-context.d.ts.map +1 -1
- package/dist/lib/loader-utils/loader-context.js +8 -3
- package/dist/lib/loader-utils/loader-context.js.map +1 -1
- package/dist/lib/loader-utils/option-defaults.d.ts.map +1 -1
- package/dist/lib/loader-utils/option-defaults.js +3 -0
- package/dist/lib/loader-utils/option-defaults.js.map +1 -1
- package/dist/lib/loader-utils/option-utils.d.ts +7 -0
- package/dist/lib/loader-utils/option-utils.d.ts.map +1 -1
- package/dist/lib/loader-utils/option-utils.js +41 -1
- package/dist/lib/loader-utils/option-utils.js.map +1 -1
- package/dist/lib/utils/response-utils.js +2 -11
- package/dist/lib/utils/response-utils.js.map +1 -1
- package/dist/null-loader.js +1 -1
- package/dist/null-loader.js.map +1 -1
- package/dist/null-worker-node.js +130 -58
- package/dist/null-worker.js +130 -58
- package/package.json +6 -6
- package/src/iterators/make-iterator/make-stream-iterator.ts +48 -10
- package/src/lib/api/create-data-source.ts +31 -2
- package/src/lib/api/load-in-batches.ts +18 -11
- package/src/lib/api/load-loader.ts +157 -14
- package/src/lib/api/load.ts +87 -9
- package/src/lib/api/parse-file.ts +15 -2
- package/src/lib/api/parse-in-batches.ts +22 -3
- package/src/lib/api/parse.ts +18 -3
- package/src/lib/api/preload.ts +22 -7
- package/src/lib/filesystems/browser-filesystem.ts +25 -11
- package/src/lib/loader-utils/get-fetch-function.ts +15 -14
- package/src/lib/loader-utils/loader-context.ts +8 -3
- package/src/lib/loader-utils/option-defaults.ts +3 -0
- package/src/lib/loader-utils/option-utils.ts +47 -1
- package/src/lib/utils/response-utils.ts +2 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-file.js","sourceRoot":"","sources":["../../../src/lib/api/parse-file.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAgBpC,OAAO,
|
|
1
|
+
{"version":3,"file":"parse-file.js","sourceRoot":"","sources":["../../../src/lib/api/parse-file.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-in-batches.d.ts","sourceRoot":"","sources":["../../../src/lib/api/parse-in-batches.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse-in-batches.d.ts","sourceRoot":"","sources":["../../../src/lib/api/parse-in-batches.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,MAAM,EAGN,aAAa,EACb,aAAa,EACb,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EAErB,MAAM,0BAA0B,CAAC;AAkBlC;;GAEG;AACH,wBAAsB,cAAc,CAClC,OAAO,SAAS,MAAM,EACtB,QAAQ,SAAS,aAAa,GAAG,sBAAsB,CACrD,iBAAiB,CAAC,OAAO,CAAC,EAC1B,eAAe,CAAC,OAAO,CAAC,CACzB,EAED,IAAI,EAAE,iBAAiB,EACvB,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAEpD;;GAEG;AACH,wBAAsB,cAAc,CAClC,YAAY,SAAS,MAAM,EAAE,EAC7B,QAAQ,SAAS,aAAa,GAAG,sBAAsB,CAAC,YAAY,CAAC,EAErE,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,YAAY,EACrB,OAAO,CAAC,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC;AAE/C;;;GAGG;AAEH,wBAAsB,cAAc,CAClC,IAAI,EAAE,iBAAiB,EACvB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC"}
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
import { isTable, makeBatchFromTable } from '@loaders.gl/schema-utils';
|
|
5
|
-
import {
|
|
5
|
+
import { resolveLoaderAuthenticationOptions } from '@loaders.gl/loader-utils';
|
|
6
|
+
import { canParseWithWorker, concatenateArrayBuffersAsync, isBrowser, parseWithWorkerInBatches } from '@loaders.gl/loader-utils';
|
|
6
7
|
import { isLoaderObject } from "../loader-utils/normalize-loader.js";
|
|
7
8
|
import { normalizeOptions } from "../loader-utils/option-utils.js";
|
|
8
9
|
import { getLoaderContext } from "../loader-utils/loader-context.js";
|
|
@@ -41,7 +42,11 @@ context) {
|
|
|
41
42
|
return [];
|
|
42
43
|
}
|
|
43
44
|
// Normalize options
|
|
44
|
-
const
|
|
45
|
+
const normalizedOptions = normalizeOptions(options, loader, loaderArray, url);
|
|
46
|
+
const authenticationLoader = !loader.getAuthentications && normalizedOptions.core?.credentials?.length
|
|
47
|
+
? await getLoaderImplementation(loader, normalizedOptions, url || context?.url)
|
|
48
|
+
: loader;
|
|
49
|
+
const strictOptions = await resolveLoaderAuthenticationOptions(authenticationLoader, url || '', normalizedOptions);
|
|
45
50
|
context = getLoaderContext({ url, _parseInBatches: parseInBatches, _parse: parse, loaders: loaderArray }, strictOptions, context || null);
|
|
46
51
|
const loaderWithParser = await getLoaderImplementation(loader, strictOptions, context.url);
|
|
47
52
|
return await parseWithLoaderInBatches(loader, loaderWithParser, data, strictOptions, context);
|
|
@@ -82,8 +87,12 @@ async function parseToOutputIterator(loader, data, options, context) {
|
|
|
82
87
|
const inputIterator = await getAsyncIterableFromData(data, options);
|
|
83
88
|
// Apply any iterator transforms (options.transforms)
|
|
84
89
|
const transformedIterator = await applyInputTransforms(inputIterator, options?.core?.transforms || []);
|
|
85
|
-
//
|
|
90
|
+
// Stream supported browser batch parsers through one stateful worker session.
|
|
86
91
|
if (loader.parseInBatches) {
|
|
92
|
+
// The loader-level adapter is intentionally piloted with CSV Arrow batches first.
|
|
93
|
+
if (loader.id === 'csv' && isBrowser && canParseWithWorker(loader, options)) {
|
|
94
|
+
return parseWithWorkerInBatches(loader, transformedIterator, options, context, parse);
|
|
95
|
+
}
|
|
87
96
|
return loader.parseInBatches(transformedIterator, options, context);
|
|
88
97
|
}
|
|
89
98
|
return parseChunkInBatches(transformedIterator, loader, options, context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-in-batches.js","sourceRoot":"","sources":["../../../src/lib/api/parse-in-batches.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAGpC,OAAO,EAAC,OAAO,EAAE,kBAAkB,EAAC,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"parse-in-batches.js","sourceRoot":"","sources":["../../../src/lib/api/parse-in-batches.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAGpC,OAAO,EAAC,OAAO,EAAE,kBAAkB,EAAC,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAC,kCAAkC,EAAC,MAAM,0BAA0B,CAAC;AAgB5E,OAAO,EACL,kBAAkB,EAClB,4BAA4B,EAC5B,SAAS,EACT,wBAAwB,EACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAC,cAAc,EAAC,4CAAyC;AAChE,OAAO,EAAC,gBAAgB,EAAC,wCAAqC;AAC9D,OAAO,EAAC,gBAAgB,EAAC,0CAAuC;AAChE,OAAO,EAAC,wBAAwB,EAAC,oCAAiC;AAClE,OAAO,EAAC,cAAc,EAAC,mCAAgC;AACvD,OAAO,EAAC,uBAAuB,EAAC,yBAAsB;AACtD,OAAO,EAAC,YAAY,EAAC,2BAAwB;AAE7C,yEAAyE;AACzE,OAAO,EAAC,KAAK,EAAC,mBAAgB;AAyC9B;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAuB,EACvB,OAA2B,EAAE,gBAAgB;AAC7C,OAAuB,EAAE,gBAAgB;AACzC,OAAuB;IAEvB,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAEjE,0EAA0E;IAC1E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QACxD,OAAO,GAAG,SAAS,CAAC,CAAC,2CAA2C;QAChE,OAAO,GAAG,OAAmC,CAAC;QAC9C,OAAO,GAAG,SAAS,CAAC;IACtB,CAAC;IAED,IAAI,GAAG,MAAM,IAAI,CAAC,CAAC,sBAAsB;IACzC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IAExB,mCAAmC;IACnC,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAEjC,qCAAqC;IACrC,uEAAuE;IACvE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1D,oGAAoG;IACpG,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,oBAAoB;IACpB,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;IAC9E,MAAM,oBAAoB,GACxB,CAAC,MAAM,CAAC,kBAAkB,IAAI,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM;QACvE,CAAC,CAAC,MAAM,uBAAuB,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAI,OAAO,EAAE,GAAG,CAAC;QAC/E,CAAC,CAAC,MAAM,CAAC;IACb,MAAM,aAAa,GAAG,MAAM,kCAAkC,CAC5D,oBAAoB,EACpB,GAAG,IAAI,EAAE,EACT,iBAAiB,CAClB,CAAC;IACF,OAAO,GAAG,gBAAgB,CACxB,EAAC,GAAG,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAC,EAC3E,aAAa,EACb,OAAO,IAAI,IAAI,CAChB,CAAC;IAEF,MAAM,gBAAgB,GAAG,MAAM,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3F,OAAO,MAAM,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;AAChG,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,wBAAwB,CACrC,cAAsB,EACtB,MAAwB,EACxB,IAAuB,EACvB,OAA4B,EAC5B,OAAsB;IAEtB,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAEnF,uCAAuC;IACvC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC7B,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,MAAM,aAAa,GAAG;QACpB,KAAK,EAAE,UAAU;QACjB,SAAS,EAAE,UAAU;QACrB,QAAQ,EAAE;YACR,OAAO,EAAE,cAAc;YACvB,QAAQ,EAAE,OAAO;SAClB;QACD,sDAAsD;QACtD,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,CAAC;KACb,CAAC;IAEF,KAAK,SAAS,CAAC,CAAC,yBAAyB,CACvC,QAAoD;QAEpD,MAAM,aAAa,CAAC;QACpB,KAAK,CAAC,CAAC,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,yBAAyB,CAAC,cAAc,CAAC,CAAC;AACnD,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,qBAAqB,CAClC,MAAwB,EACxB,IAAuB,EACvB,OAA4B,EAC5B,OAAsB;IAEtB,iCAAiC;IACjC,MAAM,aAAa,GAAG,MAAM,wBAAwB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAEpE,qDAAqD;IACrD,MAAM,mBAAmB,GAAG,MAAM,oBAAoB,CACpD,aAAa,EACb,OAAO,EAAE,IAAI,EAAE,UAAU,IAAI,EAAE,CAChC,CAAC;IAEF,8EAA8E;IAC9E,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,kFAAkF;QAClF,IAAI,MAAM,CAAC,EAAE,KAAK,KAAK,IAAI,SAAS,IAAI,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;YAC5E,OAAO,wBAAwB,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACxF,CAAC;QACD,OAAO,MAAM,CAAC,cAAc,CAAC,mBAAmB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,mBAAmB,CAAC,mBAAmB,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC5E,CAAC;AAED,yFAAyF;AACzF,KAAK,SAAS,CAAC,CAAC,mBAAmB,CACjC,mBAEoD,EACpD,MAAwB,EACxB,OAA4B,EAC5B,OAAsB;IAEtB,MAAM,WAAW,GAAG,MAAM,4BAA4B,CAAC,mBAAmB,CAAC,CAAC;IAC5E,4EAA4E;IAC5E,MAAM,UAAU,GAAG,MAAM,KAAK,CAC5B,WAAW,EACX,MAAM;IACN,8DAA8D;IAC9D,EAAC,GAAG,OAAO,EAAE,IAAI,EAAE,EAAC,GAAG,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAC,EAAC,EACrE,OAAO,CACR,CAAC;IAEF,6EAA6E;IAC7E,MAAM,KAAK,GAAG,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAErD,MAAM,KAAK,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,UAAmB,EAAE,MAAc;IAC7D,2DAA2D;IAC3D,MAAM,KAAK,GAAU,OAAO,CAAC,UAAU,CAAC;QACtC,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC;QAChC,CAAC,CAAC;YACA,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,MAAM;YACjB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAC1D,CAAC;IAEJ,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAErC,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,oBAAoB,CACjC,aAE+C,EAC/C,aAAiC,EAAE;IAInC,IAAI,aAAa,GAAG,aAAa,CAAC;IAClC,IAAI,KAAK,EAAE,MAAM,gBAAgB,IAAI,UAAU,EAAE,CAAC;QAChD,aAAa,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../src/lib/api/parse.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../src/lib/api/parse.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,MAAM,EACN,aAAa,EACb,aAAa,EACb,sBAAsB,EACtB,QAAQ,EAER,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EAEtB,MAAM,0BAA0B,CAAC;AAqBlC;;GAEG;AACH,wBAAsB,KAAK,CACzB,OAAO,SAAS,MAAM,EACtB,QAAQ,SAAS,aAAa,GAAG,sBAAsB,CACrD,iBAAiB,CAAC,OAAO,CAAC,EAC1B,eAAe,CAAC,OAAO,CAAC,CACzB,EAED,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,EAClC,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;AAEtC;;GAEG;AACH,wBAAsB,KAAK,CACzB,YAAY,SAAS,MAAM,EAAE,EAC7B,QAAQ,SAAS,aAAa,GAAG,sBAAsB,CAAC,YAAY,CAAC,EAErE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,EAClC,OAAO,EAAE,YAAY,EACrB,OAAO,CAAC,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,CAAC;AAEhD;;;GAGG;AACH,wBAAsB,KAAK,CACzB,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,EAClC,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,OAAO,CAAC,CAAC"}
|
package/dist/lib/api/parse.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
// loaders.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
-
import {
|
|
4
|
+
import { resolveLoaderAuthenticationOptions } from '@loaders.gl/loader-utils';
|
|
5
|
+
import { parseWithWorker, shouldParseWithWorker, mergeOptions, isResponse, isBlob, isSourceLoader } from '@loaders.gl/loader-utils';
|
|
5
6
|
import { validateWorkerVersion } from '@loaders.gl/worker-utils';
|
|
6
7
|
import { isLoaderObject } from "../loader-utils/normalize-loader.js";
|
|
7
8
|
import { normalizeOptions } from "../loader-utils/option-utils.js";
|
|
@@ -46,7 +47,11 @@ export async function parse(data, loaders, options, context) {
|
|
|
46
47
|
}
|
|
47
48
|
// Normalize options
|
|
48
49
|
// @ts-expect-error candidateLoaders
|
|
49
|
-
const
|
|
50
|
+
const normalizedOptions = normalizeOptions(options, loader, candidateLoaders, url); // Could be invalid...
|
|
51
|
+
const authenticationLoader = !loader.getAuthentications && normalizedOptions.core?.credentials?.length
|
|
52
|
+
? await getLoaderImplementation(loader, normalizedOptions, url || context?.url)
|
|
53
|
+
: loader;
|
|
54
|
+
const strictOptions = await resolveLoaderAuthenticationOptions(authenticationLoader, url || '', normalizedOptions);
|
|
50
55
|
// Get a context (if already present, will be unchanged)
|
|
51
56
|
context = getLoaderContext(
|
|
52
57
|
// @ts-expect-error
|
|
@@ -66,10 +71,13 @@ async function parseWithLoader(loader, data, options, context) {
|
|
|
66
71
|
context.response = { headers, ok, redirected, status, statusText, type, url };
|
|
67
72
|
}
|
|
68
73
|
const loaderWithParser = await getLoaderImplementation(loader, options, context.url);
|
|
69
|
-
if (
|
|
74
|
+
if (shouldParseWithWorker(loaderWithParser, data, options, context, loader)) {
|
|
70
75
|
data = await getArrayBufferFromData(data, options);
|
|
71
76
|
return await parseWithWorker(loaderWithParser, data, options, context, parse);
|
|
72
77
|
}
|
|
78
|
+
if (isBlob(data) && loaderWithParser.parseBlob) {
|
|
79
|
+
return await loaderWithParser.parseBlob(data, options, context);
|
|
80
|
+
}
|
|
73
81
|
data = await getArrayBufferOrStringFromData(data, loader, options);
|
|
74
82
|
return await parseWithLoaderImplementation(loaderWithParser, data, options, context);
|
|
75
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/lib/api/parse.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/lib/api/parse.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import type { Loader, LoaderOptions, LoaderWithParser } from '@loaders.gl/loader-utils';
|
|
1
|
+
import type { Loader, LoaderOptions, LoaderWithParser, SourceLoader } from '@loaders.gl/loader-utils';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
* May return a parser-bearing loader that also supports `parseSync`.
|
|
3
|
+
* Prepares a source implementation and its declared dependencies before source creation.
|
|
5
4
|
*/
|
|
5
|
+
export declare function preload<SourceT extends SourceLoader>(loader: SourceT, options?: LoaderOptions, url?: string): Promise<SourceT>;
|
|
6
|
+
/** Prepares a parser and its recursively declared dependencies. */
|
|
6
7
|
export declare function preload<LoaderT extends Loader>(loader: LoaderT, options?: LoaderOptions, url?: string): Promise<LoaderWithParser>;
|
|
7
8
|
/**
|
|
8
9
|
* Returns a cached parser-bearing loader implementation if one is already available.
|
|
9
10
|
*/
|
|
11
|
+
export declare function preloadSync<SourceT extends SourceLoader>(loader: SourceT): SourceT | null;
|
|
12
|
+
/** Returns a cached parser, including prepared default dependency bindings. */
|
|
10
13
|
export declare function preloadSync(loader: Loader): LoaderWithParser | null;
|
|
11
14
|
//# sourceMappingURL=preload.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preload.d.ts","sourceRoot":"","sources":["../../../src/lib/api/preload.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"preload.d.ts","sourceRoot":"","sources":["../../../src/lib/api/preload.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAOpG;;GAEG;AACH,wBAAsB,OAAO,CAAC,OAAO,SAAS,YAAY,EACxD,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,aAAa,EACvB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,mEAAmE;AACnE,wBAAsB,OAAO,CAAC,OAAO,SAAS,MAAM,EAClD,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,aAAa,EACvB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAY7B;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,SAAS,YAAY,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC;AAC3F,+EAA+E;AAC/E,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAAC"}
|
package/dist/lib/api/preload.js
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
// loaders.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
-
import { getLoaderImplementation, getLoaderImplementationSync } from "./load-loader.js";
|
|
4
|
+
import { getLoaderImplementation, getLoaderImplementationSync, preloadLoaderDependencies } from "./load-loader.js";
|
|
5
5
|
export async function preload(loader, options, url) {
|
|
6
|
-
return
|
|
6
|
+
return loader.subloaders
|
|
7
|
+
? await preloadLoaderDependencies(loader, options, url)
|
|
8
|
+
: await getLoaderImplementation(loader, options, url);
|
|
7
9
|
}
|
|
8
|
-
/**
|
|
9
|
-
* Returns a cached parser-bearing loader implementation if one is already available.
|
|
10
|
-
*/
|
|
11
10
|
export function preloadSync(loader) {
|
|
12
11
|
return getLoaderImplementationSync(loader);
|
|
13
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preload.js","sourceRoot":"","sources":["../../../src/lib/api/preload.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAGpC,OAAO,
|
|
1
|
+
{"version":3,"file":"preload.js","sourceRoot":"","sources":["../../../src/lib/api/preload.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAGpC,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,EAC1B,yBAAsB;AAkBvB,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,MAAc,EACd,OAAuB,EACvB,GAAY;IAEZ,OAAO,MAAM,CAAC,UAAU;QACtB,CAAC,CAAC,MAAM,yBAAyB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC;QACvD,CAAC,CAAC,MAAM,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;AAC1D,CAAC;AAQD,MAAM,UAAU,WAAW,CAAC,MAAc;IACxC,OAAO,2BAA2B,CAAC,MAAM,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-filesystem.d.ts","sourceRoot":"","sources":["../../../src/lib/filesystems/browser-filesystem.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,UAAU,EAAE,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAGvE,KAAK,wBAAwB,GAAG;IAC9B,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,qBAAa,iBAAkB,YAAW,UAAU;IAClD,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,SAAS,CAAqC;IAEtD;;;;OAIG;gBACS,KAAK,EAAE,QAAQ,GAAG,IAAI,EAAE,EAAE,OAAO,CAAC,EAAE,wBAAwB;IAexE;;;OAGG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"browser-filesystem.d.ts","sourceRoot":"","sources":["../../../src/lib/filesystems/browser-filesystem.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,UAAU,EAAE,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAGvE,KAAK,wBAAwB,GAAG;IAC9B,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,qBAAa,iBAAkB,YAAW,UAAU;IAClD,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,SAAS,CAAqC;IAEtD;;;;OAIG;gBACS,KAAK,EAAE,QAAQ,GAAG,IAAI,EAAE,EAAE,OAAO,CAAC,EAAE,wBAAwB;IAexE;;;OAGG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IA6CnE;;;;OAIG;IACG,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IASlD;;OAEG;IACG,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAC;IAQnE;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYnC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC;IAO/E,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;CAQ5C"}
|
|
@@ -37,21 +37,32 @@ export class BrowserFileSystem {
|
|
|
37
37
|
return this._fetch(path, options);
|
|
38
38
|
}
|
|
39
39
|
// Local fetches are served from the list of files
|
|
40
|
-
const file = this.
|
|
40
|
+
const file = this._getFile(path, true);
|
|
41
41
|
if (!file) {
|
|
42
42
|
return new Response(path, { status: 400, statusText: 'NOT FOUND' });
|
|
43
43
|
}
|
|
44
44
|
const headers = new Headers(options?.headers);
|
|
45
45
|
const range = headers.get('Range');
|
|
46
|
-
const bytes = range && /bytes=(
|
|
46
|
+
const bytes = range && /bytes=(\d+)-(\d+)/.exec(range);
|
|
47
47
|
if (bytes) {
|
|
48
48
|
const start = parseInt(bytes[1]);
|
|
49
|
-
const end = parseInt(bytes[2]);
|
|
49
|
+
const end = Math.min(parseInt(bytes[2]), file.size - 1);
|
|
50
|
+
if (start > end) {
|
|
51
|
+
const response = new Response(null, {
|
|
52
|
+
status: 416,
|
|
53
|
+
headers: { 'Content-Range': `bytes */${file.size}` }
|
|
54
|
+
});
|
|
55
|
+
Object.defineProperty(response, 'url', { value: path });
|
|
56
|
+
return response;
|
|
57
|
+
}
|
|
50
58
|
// The trick when reading File objects is to read successive "slices" of the File
|
|
51
59
|
// Per spec https://w3c.github.io/FileAPI/, slicing a File should only update the start and end fields
|
|
52
60
|
// Actually reading from file should happen in `readAsArrayBuffer` (and as far we can tell it does)
|
|
53
|
-
const data = await file.slice(start, end).arrayBuffer();
|
|
54
|
-
const response = new Response(data
|
|
61
|
+
const data = await file.slice(start, end + 1).arrayBuffer();
|
|
62
|
+
const response = new Response(data, {
|
|
63
|
+
status: 206,
|
|
64
|
+
headers: { 'Content-Range': `bytes ${start}-${end}/${file.size}` }
|
|
65
|
+
});
|
|
55
66
|
Object.defineProperty(response, 'url', { value: path });
|
|
56
67
|
return response;
|
|
57
68
|
}
|
|
@@ -77,7 +88,7 @@ export class BrowserFileSystem {
|
|
|
77
88
|
* Return information (size) about files in this file system
|
|
78
89
|
*/
|
|
79
90
|
async stat(path, options) {
|
|
80
|
-
const file = this.
|
|
91
|
+
const file = this._getFile(path, false);
|
|
81
92
|
if (!file) {
|
|
82
93
|
throw new Error(path);
|
|
83
94
|
}
|
|
@@ -87,20 +98,23 @@ export class BrowserFileSystem {
|
|
|
87
98
|
* Just removes the file from the list
|
|
88
99
|
*/
|
|
89
100
|
async unlink(path) {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
101
|
+
const file = this._getFile(path, false);
|
|
102
|
+
if (file) {
|
|
103
|
+
delete this.files[file.name];
|
|
104
|
+
delete this.lowerCaseFiles[file.name.toLowerCase()];
|
|
105
|
+
this.usedFiles[file.name] = true;
|
|
106
|
+
}
|
|
93
107
|
}
|
|
94
108
|
// implements IRandomAccessFileSystem
|
|
95
109
|
// RANDOM ACCESS
|
|
96
110
|
async openReadableFile(pathname, flags) {
|
|
97
|
-
return new BlobFile(this.
|
|
111
|
+
return new BlobFile(this._getFile(pathname, true));
|
|
98
112
|
}
|
|
99
113
|
// PRIVATE
|
|
100
114
|
// Supports case independent paths, and file usage tracking
|
|
101
115
|
_getFile(path, used) {
|
|
102
116
|
// Prefer case match, but fall back to case independent.
|
|
103
|
-
const file = this.files[path] || this.lowerCaseFiles[path];
|
|
117
|
+
const file = this.files[path] || this.lowerCaseFiles[path.toLowerCase()];
|
|
104
118
|
if (file && used) {
|
|
105
119
|
this.usedFiles[path] = true;
|
|
106
120
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-filesystem.js","sourceRoot":"","sources":["../../../src/lib/filesystems/browser-filesystem.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAGpC,OAAO,EAAC,QAAQ,EAAC,MAAM,0BAA0B,CAAC;AAMlD;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IACpB,MAAM,CAAe;IACrB,KAAK,GAA+B,EAAE,CAAC;IACvC,cAAc,GAA+B,EAAE,CAAC;IAChD,SAAS,GAAkC,EAAE,CAAC;IAEtD;;;;OAIG;IACH,YAAY,KAAwB,EAAE,OAAkC;QACtE,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,KAAK,IAAI,KAAK,CAAC;QAEtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,yBAAyB;IAEzB;;;OAGG;IACH,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,OAAqB;QAC7C,oDAAoD;QACpD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACpC,CAAC;QAED,kDAAkD;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"browser-filesystem.js","sourceRoot":"","sources":["../../../src/lib/filesystems/browser-filesystem.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/init.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
import { log } from '@loaders.gl/loader-utils';
|
|
5
5
|
// @ts-ignore TS2304: Cannot find name '__VERSION__'.
|
|
6
|
-
const version = typeof "5.0.0-alpha.
|
|
6
|
+
const version = typeof "5.0.0-alpha.11" !== 'undefined' ? "5.0.0-alpha.11" : '';
|
|
7
7
|
// @ts-ignore
|
|
8
8
|
if (!globalThis.loaders) {
|
|
9
9
|
log.log(1, `loaders.gl ${version}`)();
|
package/dist/lib/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/lib/init.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,GAAG,EAAC,MAAM,0BAA0B,CAAC;AAE7C,qDAAqD;AACrD,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/lib/init.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,GAAG,EAAC,MAAM,0BAA0B,CAAC;AAE7C,qDAAqD;AACrD,MAAM,OAAO,GAAG,uBAAkB,KAAK,WAAW,CAAC,CAAC,kBAAa,CAAC,CAAC,EAAE,CAAC;AAEtE,aAAa;AACb,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IACxB,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,OAAO,EAAE,CAAC,EAAE,CAAC;IAEtC,6FAA6F;IAC7F,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,EAAE;QAC3D,OAAO,EAAE,OAAO;QAChB,GAAG;KACJ,CAAC,CAAC;AACL,CAAC;AACD,aAAa;AACb,eAAe,UAAU,CAAC,OAAO,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-fetch-function.d.ts","sourceRoot":"","sources":["../../../src/lib/loader-utils/get-fetch-function.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,aAAa,EAAE,aAAa,EAAE,SAAS,EAAC,MAAM,0BAA0B,CAAC;AAKtF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,CAAC,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,SAAS,CAAC,GAChD,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,SAAS,CAAC,CAAC,GAClD,SAAS,
|
|
1
|
+
{"version":3,"file":"get-fetch-function.d.ts","sourceRoot":"","sources":["../../../src/lib/loader-utils/get-fetch-function.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,aAAa,EAAE,aAAa,EAAE,SAAS,EAAC,MAAM,0BAA0B,CAAC;AAKtF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,CAAC,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,SAAS,CAAC,GAChD,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,SAAS,CAAC,CAAC,GAClD,SAAS,CAwBX"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// loaders.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
-
import { isObject } from '@loaders.gl/loader-utils';
|
|
4
|
+
import { createAuthenticatedFetch, isObject } from '@loaders.gl/loader-utils';
|
|
5
5
|
import { fetchFile } from "../fetch/fetch-file.js";
|
|
6
6
|
import { getGlobalLoaderOptions } from "./option-utils.js";
|
|
7
7
|
/**
|
|
@@ -13,19 +13,25 @@ export function getFetchFunction(options, context) {
|
|
|
13
13
|
const globalOptions = getGlobalLoaderOptions();
|
|
14
14
|
const loaderOptions = options || globalOptions;
|
|
15
15
|
const fetchOption = loaderOptions.fetch ?? loaderOptions.core?.fetch;
|
|
16
|
+
let fetchFunction;
|
|
16
17
|
// options.fetch can be a function
|
|
17
18
|
if (typeof fetchOption === 'function') {
|
|
18
|
-
|
|
19
|
+
fetchFunction = fetchOption;
|
|
19
20
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
return url => fetchFile(url, fetchOption);
|
|
21
|
+
else if (isObject(fetchOption)) {
|
|
22
|
+
fetchFunction = context?.fetch || fetchFile;
|
|
23
23
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
return context?.fetch;
|
|
24
|
+
else if (context?.fetch) {
|
|
25
|
+
fetchFunction = context.fetch;
|
|
27
26
|
}
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
else {
|
|
28
|
+
fetchFunction = fetchFile;
|
|
29
|
+
}
|
|
30
|
+
return createAuthenticatedFetch({
|
|
31
|
+
fetch: fetchFunction,
|
|
32
|
+
credentials: loaderOptions.core?.credentials || [],
|
|
33
|
+
authentications: loaderOptions.core?.authentications,
|
|
34
|
+
fetchOptions: isObject(fetchOption) ? fetchOption : undefined
|
|
35
|
+
});
|
|
30
36
|
}
|
|
31
37
|
//# sourceMappingURL=get-fetch-function.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-fetch-function.js","sourceRoot":"","sources":["../../../src/lib/loader-utils/get-fetch-function.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAGpC,OAAO,EAAC,QAAQ,EAAC,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"get-fetch-function.js","sourceRoot":"","sources":["../../../src/lib/loader-utils/get-fetch-function.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAGpC,OAAO,EAAC,wBAAwB,EAAE,QAAQ,EAAC,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAC,SAAS,EAAC,+BAA4B;AAC9C,OAAO,EAAC,sBAAsB,EAAC,0BAAuB;AAEtD;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAuB,EACvB,OACmD;IAEnD,MAAM,aAAa,GAAG,sBAAsB,EAAE,CAAC;IAE/C,MAAM,aAAa,GAAG,OAAO,IAAI,aAAa,CAAC;IAC/C,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC;IACrE,IAAI,aAAwB,CAAC;IAE7B,kCAAkC;IAClC,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE,CAAC;QACtC,aAAa,GAAG,WAAW,CAAC;IAC9B,CAAC;SAAM,IAAI,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACjC,aAAa,GAAG,OAAO,EAAE,KAAK,IAAI,SAAS,CAAC;IAC9C,CAAC;SAAM,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;QAC1B,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,aAAa,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED,OAAO,wBAAwB,CAAC;QAC9B,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,aAAa,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE;QAClD,eAAe,EAAE,aAAa,CAAC,IAAI,EAAE,eAAe;QACpD,YAAY,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAE,WAA2B,CAAC,CAAC,CAAC,SAAS;KAC/E,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -8,7 +8,7 @@ type LoaderContextProps = Omit<LoaderContext, 'fetch' | 'coreApi'> & Partial<Pic
|
|
|
8
8
|
*
|
|
9
9
|
* @param context
|
|
10
10
|
* @param options
|
|
11
|
-
* @param
|
|
11
|
+
* @param parentContext
|
|
12
12
|
*/
|
|
13
13
|
export declare function getLoaderContext(context: LoaderContextProps, options: StrictLoaderOptions, parentContext: LoaderContext | null): LoaderContext;
|
|
14
14
|
export declare function getLoadersFromContext(loaders: Loader[] | Loader | undefined, context?: LoaderContext): Loader | Loader[] | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader-context.d.ts","sourceRoot":"","sources":["../../../src/lib/loader-utils/loader-context.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,MAAM,EAAE,aAAa,EAAE,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAMzF,iDAAiD;AACjD,KAAK,kBAAkB,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,SAAS,CAAC,GAChE,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC;AAEpD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,mBAAmB,EAC5B,aAAa,EAAE,aAAa,GAAG,IAAI,GAClC,aAAa,
|
|
1
|
+
{"version":3,"file":"loader-context.d.ts","sourceRoot":"","sources":["../../../src/lib/loader-utils/loader-context.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,MAAM,EAAE,aAAa,EAAE,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAMzF,iDAAiD;AACjD,KAAK,kBAAkB,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,SAAS,CAAC,GAChE,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC;AAEpD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,mBAAmB,EAC5B,aAAa,EAAE,aAAa,GAAG,IAAI,GAClC,aAAa,CAiCf;AAGD,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,EACtC,OAAO,CAAC,EAAE,aAAa,GACtB,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAiB/B"}
|
|
@@ -12,13 +12,18 @@ import { coreApi } from "../api/core-api.js";
|
|
|
12
12
|
*
|
|
13
13
|
* @param context
|
|
14
14
|
* @param options
|
|
15
|
-
* @param
|
|
15
|
+
* @param parentContext
|
|
16
16
|
*/
|
|
17
17
|
export function getLoaderContext(context, options, parentContext) {
|
|
18
|
-
// For recursive calls,
|
|
18
|
+
// For recursive calls, preserve the context while applying this loader's options
|
|
19
19
|
// TODO - add any additional loaders to context?
|
|
20
20
|
if (parentContext) {
|
|
21
|
-
return
|
|
21
|
+
return {
|
|
22
|
+
...parentContext,
|
|
23
|
+
coreApi: parentContext.coreApi || context.coreApi || coreApi,
|
|
24
|
+
_parse: parentContext._parse || context._parse,
|
|
25
|
+
fetch: getFetchFunction(options, parentContext)
|
|
26
|
+
};
|
|
22
27
|
}
|
|
23
28
|
const newContext = {
|
|
24
29
|
...context,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader-context.js","sourceRoot":"","sources":["../../../src/lib/loader-utils/loader-context.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAGpC,OAAO,EAAC,gBAAgB,EAAC,gCAA6B;AACtD,OAAO,EAAC,kBAAkB,EAAE,gBAAgB,EAAC,8BAA2B;AACxE,OAAO,EAAC,IAAI,EAAC,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAC,OAAO,EAAC,2BAAwB;AAMxC;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAA2B,EAC3B,OAA4B,EAC5B,aAAmC;IAEnC,
|
|
1
|
+
{"version":3,"file":"loader-context.js","sourceRoot":"","sources":["../../../src/lib/loader-utils/loader-context.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAGpC,OAAO,EAAC,gBAAgB,EAAC,gCAA6B;AACtD,OAAO,EAAC,kBAAkB,EAAE,gBAAgB,EAAC,8BAA2B;AACxE,OAAO,EAAC,IAAI,EAAC,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAC,OAAO,EAAC,2BAAwB;AAMxC;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAA2B,EAC3B,OAA4B,EAC5B,aAAmC;IAEnC,iFAAiF;IACjF,gDAAgD;IAChD,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO;YACL,GAAG,aAAa;YAChB,OAAO,EAAE,aAAa,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO;YAC5D,MAAM,EAAE,aAAa,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM;YAC9C,KAAK,EAAE,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC;SAChD,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAkB;QAChC,GAAG,OAAO;QACV,KAAK,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC;QACzC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,OAAO;KACpC,CAAC;IAEF,oEAAoE;IACpE,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACjD,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;QAC7B,UAAU,CAAC,WAAW,GAAG,kBAAkB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC5D,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC7C,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,+CAA+C;IAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,sCAAsC;AACtC,MAAM,UAAU,qBAAqB,CACnC,OAAsC,EACtC,OAAuB;IAEvB,4EAA4E;IAC5E,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,uBAAuB;IACvB,IAAI,gBAAgB,CAAC;IACrB,IAAI,OAAO,EAAE,CAAC;QACZ,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5F,gBAAgB,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;IAClG,CAAC;IACD,oEAAoE;IACpE,OAAO,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;AACpF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"option-defaults.d.ts","sourceRoot":"","sources":["../../../src/lib/loader-utils/option-defaults.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAI5D,eAAO,MAAM,sBAAsB,EAAE,
|
|
1
|
+
{"version":3,"file":"option-defaults.d.ts","sourceRoot":"","sources":["../../../src/lib/loader-utils/option-defaults.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAI5D,eAAO,MAAM,sBAAsB,EAAE,aA+BpC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8ClC,CAAC"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import { isBrowser } from '@loaders.gl/loader-utils';
|
|
5
5
|
import { ConsoleLog } from "./loggers.js";
|
|
6
6
|
export const DEFAULT_LOADER_OPTIONS = {
|
|
7
|
+
searchParams: undefined,
|
|
7
8
|
core: {
|
|
8
9
|
baseUrl: undefined,
|
|
9
10
|
// baseUrl
|
|
@@ -15,8 +16,10 @@ export const DEFAULT_LOADER_OPTIONS = {
|
|
|
15
16
|
shape: undefined,
|
|
16
17
|
log: new ConsoleLog(), // A probe.gl compatible (`log.log()()` syntax) that just logs to console
|
|
17
18
|
useLocalLibraries: false,
|
|
19
|
+
subloaders: undefined,
|
|
18
20
|
CDN: 'https://unpkg.com/@loaders.gl',
|
|
19
21
|
worker: true, // By default, use worker if provided by loader.
|
|
22
|
+
workerThreshold: 0.1,
|
|
20
23
|
maxConcurrency: 3, // How many worker instances should be created for each loader.
|
|
21
24
|
maxMobileConcurrency: 1, // How many worker instances should be created for each loader on mobile devices.
|
|
22
25
|
reuseWorkers: isBrowser, // By default reuse workers in browser (Node.js refuses to terminate if browsers are running)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"option-defaults.js","sourceRoot":"","sources":["../../../src/lib/loader-utils/option-defaults.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAGpC,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAC,UAAU,EAAC,qBAAkB;AAErC,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACnD,IAAI,EAAE;QACJ,OAAO,EAAE,SAAS;QAClB,UAAU;QACV,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,SAAS;QACnB,gBAAgB,EAAE,SAAS;QAC3B,uBAAuB,EAAE,SAAS;QAClC,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,IAAI,UAAU,EAAE,EAAE,yEAAyE;QAChG,iBAAiB,EAAE,KAAK;
|
|
1
|
+
{"version":3,"file":"option-defaults.js","sourceRoot":"","sources":["../../../src/lib/loader-utils/option-defaults.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAGpC,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAC,UAAU,EAAC,qBAAkB;AAErC,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACnD,YAAY,EAAE,SAAS;IACvB,IAAI,EAAE;QACJ,OAAO,EAAE,SAAS;QAClB,UAAU;QACV,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,SAAS;QACnB,gBAAgB,EAAE,SAAS;QAC3B,uBAAuB,EAAE,SAAS;QAClC,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,IAAI,UAAU,EAAE,EAAE,yEAAyE;QAChG,iBAAiB,EAAE,KAAK;QACxB,UAAU,EAAE,SAAS;QAErB,GAAG,EAAE,+BAA+B;QACpC,MAAM,EAAE,IAAI,EAAE,gDAAgD;QAC9D,eAAe,EAAE,GAAG;QACpB,cAAc,EAAE,CAAC,EAAE,+DAA+D;QAClF,oBAAoB,EAAE,CAAC,EAAE,iFAAiF;QAC1G,YAAY,EAAE,SAAS,EAAE,6FAA6F;QACtH,YAAY,EAAE,KAAK,EAAE,yCAAyC;QAC9D,WAAW,EAAE,EAAE,EAAE,0CAA0C;QAE3D,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE,MAAM;QACjB,eAAe,EAAE,CAAC;QAClB,QAAQ,EAAE,KAAK,EAAE,qFAAqF;QACtG,UAAU,EAAE,EAAE;KACf;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,6BAA6B;IAC7B,OAAO,EAAE,cAAc;IACvB,KAAK,EAAE,YAAY;IACnB,QAAQ,EAAE,eAAe;IACzB,gBAAgB,EAAE,uBAAuB;IACzC,uBAAuB,EAAE,8BAA8B;IACvD,OAAO,EAAE,cAAc;IACvB,GAAG,EAAE,UAAU;IACf,iBAAiB,EAAE,wBAAwB;IAE3C,GAAG,EAAE,UAAU;IACf,MAAM,EAAE,aAAa;IACrB,cAAc,EAAE,qBAAqB;IACrC,oBAAoB,EAAE,2BAA2B;IACjD,YAAY,EAAE,mBAAmB;IACjC,YAAY,EAAE,kBAAkB;IAChC,WAAW,EAAE,kBAAkB;IAC/B,OAAO,EAAE,kBAAkB;IAE3B,KAAK,EAAE,YAAY;IACnB,QAAQ,EAAE,eAAe;IACzB,KAAK,EAAE,YAAY;IACnB,SAAS,EAAE,gBAAgB;IAC3B,eAAe,EAAE,sBAAsB;IACvC,QAAQ,EAAE,eAAe;IACzB,UAAU,EAAE,iBAAiB;IAE7B,qBAAqB;IACrB,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,kBAAkB;IAC5B,GAAG,EAAE,cAAc;IAEnB,6CAA6C;IAC7C,MAAM,EAAE,mBAAmB;IAC3B,OAAO,EAAE,oBAAoB;IAC7B,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,wBAAwB;IACrC,KAAK,EAAE,kBAAkB;IACzB,QAAQ,EAAE,qBAAqB;IAC/B,QAAQ,EAAE,qBAAqB;IAC/B,cAAc,EAAE,2BAA2B;IAC3C,SAAS,EAAE,sBAAsB;IACjC,SAAS,EAAE,sBAAsB;IACjC,MAAM,EAAE,mBAAmB;CAC5B,CAAC"}
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import { Loader, LoaderOptions, StrictLoaderOptions } from '@loaders.gl/loader-utils';
|
|
2
|
+
/**
|
|
3
|
+
* Appends loader search parameters to a URL while preserving existing parameters and fragments.
|
|
4
|
+
* @param url URL to update
|
|
5
|
+
* @param options Loader options containing optional search parameters
|
|
6
|
+
* @returns URL with the configured parameters appended
|
|
7
|
+
*/
|
|
8
|
+
export declare function applySearchParamsToUrl(url: string, options?: LoaderOptions): string;
|
|
2
9
|
/**
|
|
3
10
|
* Global state for loaders.gl. Stored on `globalThis.loaders._state`
|
|
4
11
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"option-utils.d.ts","sourceRoot":"","sources":["../../../src/lib/loader-utils/option-utils.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,MAAM,EACN,aAAa,EAIb,mBAAmB,EAEpB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"option-utils.d.ts","sourceRoot":"","sources":["../../../src/lib/loader-utils/option-utils.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,MAAM,EACN,aAAa,EAIb,mBAAmB,EAEpB,MAAM,0BAA0B,CAAC;AAgClC;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,CA0BnF;AAED;;GAEG;AACH,KAAK,iBAAiB,GAAG;IACvB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,iBAAiB,CAWxD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,mBAAmB,CAQ5D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAO7D;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,EAAE,EAClB,GAAG,CAAC,EAAE,MAAM,GACX,mBAAmB,CASrB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,GAAG,mBAAmB,CAYlF"}
|
|
@@ -16,6 +16,7 @@ const CORE_LOADER_OPTION_KEYS = [
|
|
|
16
16
|
'useLocalLibraries',
|
|
17
17
|
'CDN',
|
|
18
18
|
'worker',
|
|
19
|
+
'workerThreshold',
|
|
19
20
|
'maxConcurrency',
|
|
20
21
|
'maxMobileConcurrency',
|
|
21
22
|
'reuseWorkers',
|
|
@@ -30,6 +31,35 @@ const CORE_LOADER_OPTION_KEYS = [
|
|
|
30
31
|
'metadata',
|
|
31
32
|
'transforms'
|
|
32
33
|
];
|
|
34
|
+
/**
|
|
35
|
+
* Appends loader search parameters to a URL while preserving existing parameters and fragments.
|
|
36
|
+
* @param url URL to update
|
|
37
|
+
* @param options Loader options containing optional search parameters
|
|
38
|
+
* @returns URL with the configured parameters appended
|
|
39
|
+
*/
|
|
40
|
+
export function applySearchParamsToUrl(url, options) {
|
|
41
|
+
const searchParams = options?.searchParams;
|
|
42
|
+
if (!searchParams || Object.keys(searchParams).length === 0 || /^(?:data|blob):/i.test(url)) {
|
|
43
|
+
return url;
|
|
44
|
+
}
|
|
45
|
+
const hashIndex = url.indexOf('#');
|
|
46
|
+
const hash = hashIndex >= 0 ? url.slice(hashIndex) : '';
|
|
47
|
+
const urlWithoutHash = hashIndex >= 0 ? url.slice(0, hashIndex) : url;
|
|
48
|
+
const queryIndex = urlWithoutHash.indexOf('?');
|
|
49
|
+
const path = queryIndex >= 0 ? urlWithoutHash.slice(0, queryIndex) : urlWithoutHash;
|
|
50
|
+
const query = queryIndex >= 0 ? urlWithoutHash.slice(queryIndex + 1) : '';
|
|
51
|
+
const existingSearchParams = new URLSearchParams(query);
|
|
52
|
+
const appendedSearchParams = new URLSearchParams();
|
|
53
|
+
for (const [key, value] of Object.entries(searchParams)) {
|
|
54
|
+
if (!existingSearchParams.has(key)) {
|
|
55
|
+
appendedSearchParams.set(key, String(value));
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
const serializedAppendedSearchParams = appendedSearchParams.toString();
|
|
59
|
+
return `${path}${queryIndex >= 0 ? `?${query}` : ''}${serializedAppendedSearchParams
|
|
60
|
+
? `${queryIndex >= 0 ? '&' : '?'}${serializedAppendedSearchParams}`
|
|
61
|
+
: ''}${hash}`;
|
|
62
|
+
}
|
|
33
63
|
/**
|
|
34
64
|
* Helper for safely accessing global loaders.gl variables
|
|
35
65
|
* Wraps initialization of global variable in function to defeat overly aggressive tree-shakers
|
|
@@ -82,7 +112,10 @@ export function normalizeOptions(options, loader, loaders, url) {
|
|
|
82
112
|
loaders = loaders || [];
|
|
83
113
|
loaders = Array.isArray(loaders) ? loaders : [loaders];
|
|
84
114
|
validateOptions(options, loaders);
|
|
85
|
-
|
|
115
|
+
validateWorkerThreshold(options);
|
|
116
|
+
const normalizedOptions = normalizeLoaderOptions(normalizeOptionsInternal(loader, options, url));
|
|
117
|
+
validateWorkerThreshold(normalizedOptions);
|
|
118
|
+
return normalizedOptions;
|
|
86
119
|
}
|
|
87
120
|
/**
|
|
88
121
|
* Returns a copy of the provided options with deprecated top-level core fields moved into `core`
|
|
@@ -122,6 +155,13 @@ function validateOptions(options, loaders) {
|
|
|
122
155
|
validateOptionsObject(idOptions, loader.id, loaderOptions, deprecatedOptions, loaders);
|
|
123
156
|
}
|
|
124
157
|
}
|
|
158
|
+
/** Validates the automatic worker-selection threshold. */
|
|
159
|
+
function validateWorkerThreshold(options) {
|
|
160
|
+
const threshold = options.core?.workerThreshold;
|
|
161
|
+
if (threshold !== undefined && (!Number.isFinite(threshold) || threshold < 0 || threshold > 1)) {
|
|
162
|
+
throw new Error('core.workerThreshold must be a finite number between 0 and 1');
|
|
163
|
+
}
|
|
164
|
+
}
|
|
125
165
|
// eslint-disable-next-line max-params, complexity
|
|
126
166
|
function validateOptionsObject(options, id, defaultOptions, deprecatedOptions, loaders) {
|
|
127
167
|
const loaderName = id || 'Top level';
|