@loaders.gl/core 4.5.3 → 5.0.0-alpha.10
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 +1789 -352
- package/dist/dist.min.js +4 -3
- package/dist/index.cjs +3087 -311
- package/dist/index.cjs.map +3 -4
- package/dist/index.d.ts +8 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/iterators/make-iterator/make-stream-iterator.js +48 -9
- package/dist/iterators/make-iterator/make-stream-iterator.js.map +1 -1
- package/dist/lib/api/core-api.d.ts +6 -0
- package/dist/lib/api/core-api.d.ts.map +1 -0
- package/dist/lib/api/core-api.js +23 -0
- package/dist/lib/api/core-api.js.map +1 -0
- package/dist/lib/api/create-data-source.d.ts +2 -2
- package/dist/lib/api/create-data-source.d.ts.map +1 -1
- package/dist/lib/api/create-data-source.js +36 -14
- package/dist/lib/api/create-data-source.js.map +1 -1
- package/dist/lib/api/load-in-batches.d.ts +4 -4
- 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 +10 -0
- package/dist/lib/api/load-loader.d.ts.map +1 -0
- package/dist/lib/api/load-loader.js +222 -0
- package/dist/lib/api/load-loader.js.map +1 -0
- 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 +84 -5
- package/dist/lib/api/load.js.map +1 -1
- package/dist/lib/api/parse-file.d.ts +15 -0
- package/dist/lib/api/parse-file.d.ts.map +1 -0
- package/dist/lib/api/parse-file.js +74 -0
- package/dist/lib/api/parse-file.js.map +1 -0
- package/dist/lib/api/parse-in-batches.d.ts +2 -2
- package/dist/lib/api/parse-in-batches.d.ts.map +1 -1
- package/dist/lib/api/parse-in-batches.js +18 -7
- package/dist/lib/api/parse-in-batches.js.map +1 -1
- package/dist/lib/api/parse-sync.d.ts +2 -2
- package/dist/lib/api/parse-sync.d.ts.map +1 -1
- package/dist/lib/api/parse-sync.js +10 -1
- package/dist/lib/api/parse-sync.js.map +1 -1
- package/dist/lib/api/parse.d.ts +2 -2
- package/dist/lib/api/parse.d.ts.map +1 -1
- package/dist/lib/api/parse.js +34 -17
- package/dist/lib/api/parse.js.map +1 -1
- package/dist/lib/api/preload.d.ts +14 -0
- package/dist/lib/api/preload.d.ts.map +1 -0
- package/dist/lib/api/preload.js +13 -0
- package/dist/lib/api/preload.js.map +1 -0
- package/dist/lib/api/register-loaders.js +1 -1
- package/dist/lib/api/register-loaders.js.map +1 -1
- package/dist/lib/api/select-loader.d.ts.map +1 -1
- package/dist/lib/api/select-loader.js +48 -5
- package/dist/lib/api/select-loader.js.map +1 -1
- package/dist/lib/api/select-source.d.ts +3 -3
- package/dist/lib/api/select-source.d.ts.map +1 -1
- package/dist/lib/api/select-source.js +2 -5
- package/dist/lib/api/select-source.js.map +1 -1
- package/dist/lib/fetch/fetch-error-message.js +1 -1
- package/dist/lib/fetch/fetch-error-message.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/check-errors.js +1 -1
- package/dist/lib/loader-utils/check-errors.js.map +1 -1
- package/dist/lib/loader-utils/get-data.d.ts +4 -0
- package/dist/lib/loader-utils/get-data.d.ts.map +1 -1
- package/dist/lib/loader-utils/get-data.js +26 -0
- package/dist/lib/loader-utils/get-data.js.map +1 -1
- package/dist/lib/loader-utils/get-fetch-function.d.ts +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 +2 -2
- package/dist/lib/loader-utils/loader-context.d.ts.map +1 -1
- package/dist/lib/loader-utils/loader-context.js +11 -4
- package/dist/lib/loader-utils/loader-context.js.map +1 -1
- package/dist/lib/loader-utils/loggers.d.ts +19 -0
- package/dist/lib/loader-utils/loggers.d.ts.map +1 -1
- package/dist/lib/loader-utils/loggers.js +28 -2
- package/dist/lib/loader-utils/loggers.js.map +1 -1
- package/dist/lib/loader-utils/option-defaults.d.ts +1 -0
- package/dist/lib/loader-utils/option-defaults.d.ts.map +1 -1
- package/dist/lib/loader-utils/option-defaults.js +5 -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 +91 -3
- package/dist/lib/loader-utils/option-utils.js.map +1 -1
- package/dist/lib/utils/response-utils.js +5 -14
- package/dist/lib/utils/response-utils.js.map +1 -1
- package/dist/null-loader.d.ts.map +1 -1
- package/dist/null-loader.js +1 -1
- package/dist/null-loader.js.map +1 -1
- package/dist/null-worker-node.js +270 -42
- package/dist/null-worker.js +270 -42
- package/package.json +6 -6
- package/src/index.ts +10 -1
- package/src/iterators/make-iterator/make-stream-iterator.ts +47 -9
- package/src/lib/api/core-api.ts +25 -0
- package/src/lib/api/create-data-source.ts +53 -24
- package/src/lib/api/load-in-batches.ts +33 -21
- package/src/lib/api/load-loader.ts +306 -0
- package/src/lib/api/load.ts +160 -9
- package/src/lib/api/parse-file.ts +156 -0
- package/src/lib/api/parse-in-batches.ts +35 -8
- package/src/lib/api/parse-sync.ts +27 -2
- package/src/lib/api/parse.ts +61 -20
- package/src/lib/api/preload.ts +46 -0
- package/src/lib/api/register-loaders.ts +1 -1
- package/src/lib/api/select-loader.ts +57 -5
- package/src/lib/api/select-source.ts +7 -10
- package/src/lib/fetch/fetch-error-message.ts +1 -1
- package/src/lib/filesystems/browser-filesystem.ts +25 -11
- package/src/lib/loader-utils/check-errors.ts +1 -1
- package/src/lib/loader-utils/get-data.ts +36 -0
- package/src/lib/loader-utils/get-fetch-function.ts +17 -15
- package/src/lib/loader-utils/loader-context.ts +13 -5
- package/src/lib/loader-utils/loggers.ts +28 -2
- package/src/lib/loader-utils/option-defaults.ts +5 -0
- package/src/lib/loader-utils/option-utils.ts +106 -3
- package/src/lib/utils/response-utils.ts +5 -15
- package/src/null-loader.ts +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export type { Loader, LoaderWithParser, LoaderContext, LoaderOptions, Writer, WriterOptions, DataType, SyncDataType, BatchableDataType, ReadableFile, WritableFile, Stat, FileSystem, RandomAccessFileSystem } from '@loaders.gl/loader-utils';
|
|
1
|
+
export type { Loader, LoaderWithParser, LoaderContext, CoreAPI, LoaderOptions, Writer, WriterOptions, DataType, SyncDataType, BatchableDataType, ReadableFile, WritableFile, Stat, FileSystem, RandomAccessFileSystem } from '@loaders.gl/loader-utils';
|
|
2
|
+
export type { SourceLoader } from '@loaders.gl/loader-utils';
|
|
2
3
|
export { fetchFile } from "./lib/fetch/fetch-file.js";
|
|
3
4
|
export { FetchError } from "./lib/fetch/fetch-error.js";
|
|
4
5
|
export { readArrayBuffer } from "./lib/fetch/read-array-buffer.js";
|
|
@@ -6,8 +7,11 @@ export { setLoaderOptions, getLoaderOptions } from "./lib/api/loader-options.js"
|
|
|
6
7
|
export { registerLoaders } from "./lib/api/register-loaders.js";
|
|
7
8
|
export { selectLoader, selectLoaderSync } from "./lib/api/select-loader.js";
|
|
8
9
|
export { parse } from "./lib/api/parse.js";
|
|
10
|
+
export { parseFile } from "./lib/api/parse-file.js";
|
|
9
11
|
export { parseSync } from "./lib/api/parse-sync.js";
|
|
10
12
|
export { parseInBatches } from "./lib/api/parse-in-batches.js";
|
|
13
|
+
export { preload, preloadSync } from "./lib/api/preload.js";
|
|
14
|
+
export { coreApi } from "./lib/api/core-api.js";
|
|
11
15
|
export { load } from "./lib/api/load.js";
|
|
12
16
|
export { loadInBatches } from "./lib/api/load-in-batches.js";
|
|
13
17
|
export { encodeTable, encodeTableAsText, encodeTableInBatches } from "./lib/api/encode-table.js";
|
|
@@ -19,7 +23,7 @@ export { setPathPrefix, getPathPrefix, resolvePath } from '@loaders.gl/loader-ut
|
|
|
19
23
|
export { RequestScheduler } from '@loaders.gl/loader-utils';
|
|
20
24
|
export { makeIterator } from "./iterators/make-iterator/make-iterator.js";
|
|
21
25
|
export { makeStream } from "./iterators/make-stream/make-stream.js";
|
|
22
|
-
export {
|
|
26
|
+
export { NullLoader } from "./null-loader.js";
|
|
23
27
|
export { JSONLoader } from '@loaders.gl/loader-utils';
|
|
24
28
|
export { fetchProgress as _fetchProgress } from "./lib/progress/fetch-progress.js";
|
|
25
29
|
export { BrowserFileSystem as _BrowserFileSystem } from "./lib/filesystems/browser-filesystem.js";
|
|
@@ -29,4 +33,6 @@ export { assert } from '@loaders.gl/loader-utils';
|
|
|
29
33
|
export { forEach, concatenateArrayBuffersAsync } from '@loaders.gl/loader-utils';
|
|
30
34
|
export { makeTextDecoderIterator, makeTextEncoderIterator, makeLineIterator, makeNumberedLineIterator } from '@loaders.gl/loader-utils';
|
|
31
35
|
export { isPureObject, isPromise, isIterable, isAsyncIterable, isIterator, isResponse, isReadableStream, isWritableStream } from '@loaders.gl/loader-utils';
|
|
36
|
+
/** @deprecated Use NullLoader. */
|
|
37
|
+
export { NullWorkerLoader } from "./null-loader.js";
|
|
32
38
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,YAAY,EACV,MAAM,EACN,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,MAAM,EACN,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,IAAI,EACJ,UAAU,EACV,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,YAAY,EACV,MAAM,EACN,gBAAgB,EAChB,aAAa,EACb,OAAO,EACP,aAAa,EACb,MAAM,EACN,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,IAAI,EACJ,UAAU,EACV,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAG3D,OAAO,EAAC,SAAS,EAAC,kCAA+B;AACjD,OAAO,EAAC,UAAU,EAAC,mCAAgC;AAEnD,OAAO,EAAC,eAAe,EAAC,yCAAsC;AAK9D,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,oCAAiC;AAC5E,OAAO,EAAC,eAAe,EAAC,sCAAmC;AAC3D,OAAO,EAAC,YAAY,EAAE,gBAAgB,EAAC,mCAAgC;AAGvE,OAAO,EAAC,KAAK,EAAC,2BAAwB;AACtC,OAAO,EAAC,SAAS,EAAC,gCAA6B;AAC/C,OAAO,EAAC,SAAS,EAAC,gCAA6B;AAC/C,OAAO,EAAC,cAAc,EAAC,sCAAmC;AAC1D,OAAO,EAAC,OAAO,EAAE,WAAW,EAAC,6BAA0B;AACvD,OAAO,EAAC,OAAO,EAAC,8BAA2B;AAE3C,OAAO,EAAC,IAAI,EAAC,0BAAuB;AACpC,OAAO,EAAC,aAAa,EAAC,qCAAkC;AAGxD,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAE,oBAAoB,EAAC,kCAA+B;AAC5F,OAAO,EAAC,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAC,4BAAyB;AACrF,OAAO,EAAC,UAAU,EAAE,cAAc,EAAC,4BAAyB;AAG5D,OAAO,EAAC,gBAAgB,EAAC,wCAAqC;AAC9D,OAAO,EAAC,YAAY,IAAI,aAAa,EAAC,mCAAgC;AAGtE,OAAO,EAAC,aAAa,EAAE,aAAa,EAAE,WAAW,EAAC,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAG1D,OAAO,EAAC,YAAY,EAAC,mDAAgD;AACrE,OAAO,EAAC,UAAU,EAAC,+CAA4C;AAG/D,OAAO,EAAC,UAAU,EAAC,yBAAsB;AACzC,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAGpD,OAAO,EAAC,aAAa,IAAI,cAAc,EAAC,yCAAsC;AAC9E,OAAO,EAAC,iBAAiB,IAAI,kBAAkB,EAAC,gDAA6C;AAG7F,OAAO,EAAC,kBAAkB,EAAC,sCAAmC;AAM9D,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAC,MAAM,0BAA0B,CAAC;AAC7F,OAAO,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAC,OAAO,EAAE,4BAA4B,EAAC,MAAM,0BAA0B,CAAC;AAE/E,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,YAAY,EACZ,SAAS,EACT,UAAU,EACV,eAAe,EACf,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAGlC,kCAAkC;AAClC,OAAO,EAAC,gBAAgB,EAAC,yBAAsB"}
|
package/dist/index.js
CHANGED
|
@@ -13,8 +13,11 @@ export { registerLoaders } from "./lib/api/register-loaders.js";
|
|
|
13
13
|
export { selectLoader, selectLoaderSync } from "./lib/api/select-loader.js";
|
|
14
14
|
// LOADING (READING + PARSING)
|
|
15
15
|
export { parse } from "./lib/api/parse.js";
|
|
16
|
+
export { parseFile } from "./lib/api/parse-file.js";
|
|
16
17
|
export { parseSync } from "./lib/api/parse-sync.js";
|
|
17
18
|
export { parseInBatches } from "./lib/api/parse-in-batches.js";
|
|
19
|
+
export { preload, preloadSync } from "./lib/api/preload.js";
|
|
20
|
+
export { coreApi } from "./lib/api/core-api.js";
|
|
18
21
|
export { load } from "./lib/api/load.js";
|
|
19
22
|
export { loadInBatches } from "./lib/api/load-in-batches.js";
|
|
20
23
|
// ENCODING (ENCODING AND WRITING)
|
|
@@ -31,7 +34,7 @@ export { RequestScheduler } from '@loaders.gl/loader-utils';
|
|
|
31
34
|
export { makeIterator } from "./iterators/make-iterator/make-iterator.js";
|
|
32
35
|
export { makeStream } from "./iterators/make-stream/make-stream.js";
|
|
33
36
|
// CORE LOADERS
|
|
34
|
-
export {
|
|
37
|
+
export { NullLoader } from "./null-loader.js";
|
|
35
38
|
export { JSONLoader } from '@loaders.gl/loader-utils';
|
|
36
39
|
// EXPERIMENTAL
|
|
37
40
|
export { fetchProgress as _fetchProgress } from "./lib/progress/fetch-progress.js";
|
|
@@ -47,4 +50,7 @@ export { forEach, concatenateArrayBuffersAsync } from '@loaders.gl/loader-utils'
|
|
|
47
50
|
export { makeTextDecoderIterator, makeTextEncoderIterator, makeLineIterator, makeNumberedLineIterator } from '@loaders.gl/loader-utils';
|
|
48
51
|
// "JAVASCRIPT" UTILS - move to loader-utils?
|
|
49
52
|
export { isPureObject, isPromise, isIterable, isAsyncIterable, isIterator, isResponse, isReadableStream, isWritableStream } from '@loaders.gl/loader-utils';
|
|
53
|
+
// DEPRECATED EXPORTS
|
|
54
|
+
/** @deprecated Use NullLoader. */
|
|
55
|
+
export { NullWorkerLoader } from "./null-loader.js";
|
|
50
56
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAsBpC,2BAA2B;AAC3B,OAAO,EAAC,SAAS,EAAC,kCAA+B;AACjD,OAAO,EAAC,UAAU,EAAC,mCAAgC;AAEnD,OAAO,EAAC,eAAe,EAAC,yCAAsC;AAC9D,sDAAsD;AACtD,mEAAmE;AAEnE,gBAAgB;AAChB,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,oCAAiC;AAC5E,OAAO,EAAC,eAAe,EAAC,sCAAmC;AAC3D,OAAO,EAAC,YAAY,EAAE,gBAAgB,EAAC,mCAAgC;AAEvE,8BAA8B;AAC9B,OAAO,EAAC,KAAK,EAAC,2BAAwB;AACtC,OAAO,EAAC,SAAS,EAAC,gCAA6B;AAC/C,OAAO,EAAC,SAAS,EAAC,gCAA6B;AAC/C,OAAO,EAAC,cAAc,EAAC,sCAAmC;AAC1D,OAAO,EAAC,OAAO,EAAE,WAAW,EAAC,6BAA0B;AACvD,OAAO,EAAC,OAAO,EAAC,8BAA2B;AAE3C,OAAO,EAAC,IAAI,EAAC,0BAAuB;AACpC,OAAO,EAAC,aAAa,EAAC,qCAAkC;AAExD,kCAAkC;AAClC,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAE,oBAAoB,EAAC,kCAA+B;AAC5F,OAAO,EAAC,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAC,4BAAyB;AACrF,OAAO,EAAC,UAAU,EAAE,cAAc,EAAC,4BAAyB;AAE5D,uBAAuB;AACvB,OAAO,EAAC,gBAAgB,EAAC,wCAAqC;AAC9D,OAAO,EAAC,YAAY,IAAI,aAAa,EAAC,mCAAgC;AAEtE,iEAAiE;AACjE,OAAO,EAAC,aAAa,EAAE,aAAa,EAAE,WAAW,EAAC,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAE1D,iBAAiB;AACjB,OAAO,EAAC,YAAY,EAAC,mDAAgD;AACrE,OAAO,EAAC,UAAU,EAAC,+CAA4C;AAE/D,eAAe;AACf,OAAO,EAAC,UAAU,EAAC,yBAAsB;AACzC,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAEpD,eAAe;AACf,OAAO,EAAC,aAAa,IAAI,cAAc,EAAC,yCAAsC;AAC9E,OAAO,EAAC,iBAAiB,IAAI,kBAAkB,EAAC,gDAA6C;AAE7F,cAAc;AACd,OAAO,EAAC,kBAAkB,EAAC,sCAAmC;AAE9D,EAAE;AACF,qDAAqD;AACrD,EAAE;AAEF,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAC,MAAM,0BAA0B,CAAC;AAC7F,OAAO,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAC,OAAO,EAAE,4BAA4B,EAAC,MAAM,0BAA0B,CAAC;AAE/E,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,0BAA0B,CAAC;AAElC,6CAA6C;AAC7C,OAAO,EACL,YAAY,EACZ,SAAS,EACT,UAAU,EACV,eAAe,EACf,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAElC,qBAAqB;AACrB,kCAAkC;AAClC,OAAO,EAAC,gBAAgB,EAAC,yBAAsB"}
|
|
@@ -27,30 +27,69 @@ async function* makeBrowserStreamIterator(stream, options) {
|
|
|
27
27
|
// In the browser, we first need to get a lock on the stream
|
|
28
28
|
const reader = stream.getReader();
|
|
29
29
|
let nextBatchPromise;
|
|
30
|
+
let streamFinished = false;
|
|
31
|
+
let streamReadFailed = false;
|
|
32
|
+
let iteratorFailed = false;
|
|
30
33
|
try {
|
|
31
34
|
// eslint-disable-next-line no-constant-condition
|
|
32
35
|
while (true) {
|
|
33
36
|
const currentBatchPromise = nextBatchPromise || reader.read();
|
|
34
|
-
|
|
35
|
-
// Idea is to make fetching happen in parallel with processing / parsing
|
|
36
|
-
if (options?._streamReadAhead) {
|
|
37
|
-
nextBatchPromise = reader.read();
|
|
38
|
-
}
|
|
37
|
+
nextBatchPromise = undefined;
|
|
39
38
|
// Read from the stream
|
|
40
39
|
// value is a Uint8Array
|
|
41
|
-
|
|
40
|
+
let batch;
|
|
41
|
+
try {
|
|
42
|
+
batch = await currentBatchPromise;
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
streamReadFailed = true;
|
|
46
|
+
throw error;
|
|
47
|
+
}
|
|
48
|
+
const { done, value } = batch;
|
|
42
49
|
// Exit if we're done
|
|
43
50
|
if (done) {
|
|
51
|
+
streamFinished = true;
|
|
44
52
|
return;
|
|
45
53
|
}
|
|
54
|
+
// Issue a read for an additional batch while the current batch is processed
|
|
55
|
+
if (options?._streamReadAhead) {
|
|
56
|
+
nextBatchPromise = reader.read();
|
|
57
|
+
// Observe a prefetched rejection even if the consumer stops before requesting it
|
|
58
|
+
void nextBatchPromise.catch(() => { });
|
|
59
|
+
}
|
|
46
60
|
// Else yield the chunk
|
|
47
61
|
yield toArrayBuffer(value);
|
|
48
62
|
}
|
|
49
63
|
}
|
|
50
64
|
catch (error) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
65
|
+
iteratorFailed = true;
|
|
66
|
+
throw error;
|
|
67
|
+
}
|
|
68
|
+
finally {
|
|
69
|
+
let cleanupFailed = false;
|
|
70
|
+
let cleanupError;
|
|
71
|
+
if (!streamFinished && !streamReadFailed) {
|
|
72
|
+
try {
|
|
73
|
+
await reader.cancel();
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
cleanupFailed = true;
|
|
77
|
+
cleanupError = error;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
try {
|
|
81
|
+
reader.releaseLock();
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
if (!cleanupFailed) {
|
|
85
|
+
cleanupFailed = true;
|
|
86
|
+
cleanupError = error;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// Preserve errors from iteration instead of replacing them with cleanup errors
|
|
90
|
+
if (!iteratorFailed && cleanupFailed) {
|
|
91
|
+
throw cleanupError;
|
|
92
|
+
}
|
|
54
93
|
}
|
|
55
94
|
}
|
|
56
95
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make-stream-iterator.js","sourceRoot":"","sources":["../../../src/iterators/make-iterator/make-stream-iterator.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAGpC,OAAO,EAAC,SAAS,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAMlE;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAiC,EACjC,OAA+B;IAE/B,OAAO,SAAS;QACd,CAAC,CAAC,yBAAyB,CAAC,MAAwB,EAAE,OAAO,CAAC;QAC9D,CAAC,CAAC,sBAAsB,CAAC,MAAkB,EAAE,OAAO,CAAC,CAAC;AAC1D,CAAC;AAED;;;;GAIG;AACH,KAAK,SAAS,CAAC,CAAC,yBAAyB,CACvC,MAAsB,EACtB,OAA+B;IAE/B,4DAA4D;IAC5D,kDAAkD;IAClD,iCAAiC;IACjC,IAAI;IACJ,4DAA4D;IAC5D,8CAA8C;IAC9C,IAAI;IAEJ,4DAA4D;IAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAElC,IAAI,gBAA2E,CAAC;
|
|
1
|
+
{"version":3,"file":"make-stream-iterator.js","sourceRoot":"","sources":["../../../src/iterators/make-iterator/make-stream-iterator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-api.d.ts","sourceRoot":"","sources":["../../../src/lib/api/core-api.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAC;AAStD;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,OAQpB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { fetchFile } from "../fetch/fetch-file.js";
|
|
5
|
+
import { parse } from "./parse.js";
|
|
6
|
+
import { parseFile } from "./parse-file.js";
|
|
7
|
+
import { parseSync } from "./parse-sync.js";
|
|
8
|
+
import { parseInBatches } from "./parse-in-batches.js";
|
|
9
|
+
import { load } from "./load.js";
|
|
10
|
+
import { loadInBatches } from "./load-in-batches.js";
|
|
11
|
+
/**
|
|
12
|
+
* Shared Core API surface that can be injected into contexts and sources.
|
|
13
|
+
*/
|
|
14
|
+
export const coreApi = Object.freeze({
|
|
15
|
+
fetchFile,
|
|
16
|
+
parse,
|
|
17
|
+
parseFile,
|
|
18
|
+
parseSync,
|
|
19
|
+
parseInBatches,
|
|
20
|
+
load,
|
|
21
|
+
loadInBatches
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=core-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-api.js","sourceRoot":"","sources":["../../../src/lib/api/core-api.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAGpC,OAAO,EAAC,SAAS,EAAC,+BAA4B;AAC9C,OAAO,EAAC,KAAK,EAAC,mBAAgB;AAC9B,OAAO,EAAC,SAAS,EAAC,wBAAqB;AACvC,OAAO,EAAC,SAAS,EAAC,wBAAqB;AACvC,OAAO,EAAC,cAAc,EAAC,8BAA2B;AAClD,OAAO,EAAC,IAAI,EAAC,kBAAe;AAC5B,OAAO,EAAC,aAAa,EAAC,6BAA0B;AAEhD;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAY,MAAM,CAAC,MAAM,CAAC;IAC5C,SAAS;IACT,KAAK;IACL,SAAS;IACT,SAAS;IACT,cAAc;IACd,IAAI;IACJ,aAAa;CACd,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SourceLoader, SourceArrayOptionsType, SourceArrayDataSourceType } from '@loaders.gl/loader-utils';
|
|
2
2
|
/**
|
|
3
3
|
* Creates a source from a service
|
|
4
4
|
* If type is not supplied, will try to automatically detect the the
|
|
@@ -6,5 +6,5 @@ import { Source, SourceArrayOptionsType, SourceArrayDataSourceType } from '@load
|
|
|
6
6
|
* @param type type of source. if not known, set to 'auto'
|
|
7
7
|
* @returns an DataSource instance
|
|
8
8
|
*/
|
|
9
|
-
export declare function createDataSource<SourceArrayT extends
|
|
9
|
+
export declare function createDataSource<SourceArrayT extends SourceLoader[]>(data: unknown, sources: Readonly<SourceArrayT>, options?: Readonly<SourceArrayOptionsType<SourceArrayT>>): SourceArrayDataSourceType<SourceArrayT>;
|
|
10
10
|
//# sourceMappingURL=create-data-source.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-data-source.d.ts","sourceRoot":"","sources":["../../../src/lib/api/create-data-source.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"create-data-source.d.ts","sourceRoot":"","sources":["../../../src/lib/api/create-data-source.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAKlC;;;;;;GAMG;AAGH,wBAAgB,gBAAgB,CAAC,YAAY,SAAS,YAAY,EAAE,EAClE,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,EAC/B,OAAO,GAAE,QAAQ,CACf,sBAAsB,CAAC,YAAY,CAAC,CACQ,GAC7C,yBAAyB,CAAC,YAAY,CAAC,CA6CzC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
// loaders.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { resolveAuthenticationOptions } from '@loaders.gl/loader-utils';
|
|
5
|
+
import { coreApi } from "./core-api.js";
|
|
6
|
+
import { selectLoaderSync } from "./select-loader.js";
|
|
4
7
|
/**
|
|
5
8
|
* Creates a source from a service
|
|
6
9
|
* If type is not supplied, will try to automatically detect the the
|
|
@@ -10,24 +13,43 @@
|
|
|
10
13
|
*/
|
|
11
14
|
// DataSourceOptionsT extends DataSourceOptions = DataSourceOptions,
|
|
12
15
|
// DataSourceT extends DataSource = DataSource
|
|
13
|
-
export function createDataSource(data, sources, options) {
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
+
export function createDataSource(data, sources, options = {}) {
|
|
17
|
+
const resolvedOptions = (options || {});
|
|
18
|
+
const type = resolvedOptions?.core?.type || resolvedOptions.type || 'auto';
|
|
19
|
+
const source = sources.length === 1
|
|
20
|
+
? sources[0]
|
|
21
|
+
: type === 'auto'
|
|
22
|
+
? selectLoaderSync(data, sources, {
|
|
23
|
+
// `createDataSource` supports non-fetch inputs such as in-memory tables.
|
|
24
|
+
// Selection remains best-effort for those cases.
|
|
25
|
+
...resolvedOptions,
|
|
26
|
+
core: { ...resolvedOptions?.core, type: 'auto' }
|
|
27
|
+
})
|
|
28
|
+
: getSourceOfType(type, sources);
|
|
16
29
|
if (!source) {
|
|
17
30
|
throw new Error('Not a valid source type');
|
|
18
31
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
if (service.testURL && service.testURL(url)) {
|
|
27
|
-
return service;
|
|
28
|
-
}
|
|
32
|
+
const contributions = resolvedOptions.core?.credentials?.length
|
|
33
|
+
? source.getAuthentications?.(typeof data === 'string' ? data : '', resolvedOptions)
|
|
34
|
+
: undefined;
|
|
35
|
+
if (contributions && 'then' in contributions) {
|
|
36
|
+
// Avoid an unhandled rejection from a hook that cannot be awaited by this sync API.
|
|
37
|
+
void contributions.catch(() => { });
|
|
38
|
+
throw new Error('Use load() with an asynchronous getAuthentications() hook.');
|
|
29
39
|
}
|
|
30
|
-
|
|
40
|
+
const authenticatedOptions = resolveAuthenticationOptions(contributions?.length
|
|
41
|
+
? {
|
|
42
|
+
...resolvedOptions,
|
|
43
|
+
core: {
|
|
44
|
+
...resolvedOptions.core,
|
|
45
|
+
authentications: [
|
|
46
|
+
...(resolvedOptions.core?.authentications || []),
|
|
47
|
+
...(contributions || [])
|
|
48
|
+
]
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
: resolvedOptions);
|
|
52
|
+
return source.createDataSource(data, authenticatedOptions, coreApi);
|
|
31
53
|
}
|
|
32
54
|
/** Guess service type from URL */
|
|
33
55
|
function getSourceOfType(type, sources) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-data-source.js","sourceRoot":"","sources":["../../../src/lib/api/create-data-source.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;
|
|
1
|
+
{"version":3,"file":"create-data-source.js","sourceRoot":"","sources":["../../../src/lib/api/create-data-source.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAOpC,OAAO,EAAC,4BAA4B,EAAC,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAC,OAAO,EAAC,sBAAmB;AACnC,OAAO,EAAC,gBAAgB,EAAC,2BAAwB;AAEjD;;;;;;GAMG;AACH,oEAAoE;AACpE,8CAA8C;AAC9C,MAAM,UAAU,gBAAgB,CAC9B,IAAa,EACb,OAA+B,EAC/B,UAEI,EAA0C;IAE9C,MAAM,eAAe,GAAG,CAAC,OAAO,IAAI,EAAE,CAAyC,CAAC;IAChF,MAAM,IAAI,GAAG,eAAe,EAAE,IAAI,EAAE,IAAI,IAAK,eAAe,CAAC,IAA0B,IAAI,MAAM,CAAC;IAClG,MAAM,MAAM,GACV,OAAO,CAAC,MAAM,KAAK,CAAC;QAClB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACZ,CAAC,CAAC,IAAI,KAAK,MAAM;YACf,CAAC,CAAE,gBAAgB,CAAC,IAAa,EAAE,OAAoC,EAAE;gBACrE,yEAAyE;gBACzE,iDAAiD;gBACjD,GAAG,eAAe;gBAClB,IAAI,EAAE,EAAC,GAAG,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAC;aAC/C,CAAiC;YACpC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAEvC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM;QAC7D,CAAC,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,eAAe,CAAC;QACpF,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,aAAa,IAAI,MAAM,IAAI,aAAa,EAAE,CAAC;QAC7C,oFAAoF;QACpF,KAAK,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,oBAAoB,GAAG,4BAA4B,CACvD,aAAa,EAAE,MAAM;QACnB,CAAC,CAAC;YACE,GAAG,eAAe;YAClB,IAAI,EAAE;gBACJ,GAAG,eAAe,CAAC,IAAI;gBACvB,eAAe,EAAE;oBACf,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,IAAI,EAAE,CAAC;oBAChD,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC;iBACzB;aACF;SACF;QACH,CAAC,CAAC,eAAe,CACpB,CAAC;IACF,OAAO,MAAM,CAAC,gBAAgB,CAC5B,IAAqB,EACrB,oBAAoB,EACpB,OAAO,CACmC,CAAC;AAC/C,CAAC;AAED,kCAAkC;AAClC,SAAS,eAAe,CAAC,IAAY,EAAE,OAAiC;IACtE,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;QAC9B,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAC1B,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Loader, LoaderOptions, LoaderContext, LoaderBatchType, LoaderOptionsType, LoaderOptionsWithShape, LoaderShapeType } from '@loaders.gl/loader-utils';
|
|
2
2
|
type FileType = string | File | Blob | Response | (string | File | Blob | Response)[] | FileList;
|
|
3
3
|
/**
|
|
4
4
|
* Parses `data` synchronously using a specified loader
|
|
5
5
|
*/
|
|
6
|
-
export declare function loadInBatches<LoaderT extends
|
|
6
|
+
export declare function loadInBatches<LoaderT extends Loader, OptionsT extends LoaderOptions = LoaderOptionsWithShape<LoaderOptionsType<LoaderT>, LoaderShapeType<LoaderT>>>(files: FileType, loader: LoaderT, options?: OptionsT, context?: LoaderContext): Promise<AsyncIterable<LoaderBatchType<LoaderT>>>;
|
|
7
7
|
/**
|
|
8
8
|
* Parses `data` using a specified loader
|
|
9
9
|
* @param data
|
|
@@ -11,7 +11,7 @@ export declare function loadInBatches<LoaderT extends LoaderWithParser, OptionsT
|
|
|
11
11
|
* @param options
|
|
12
12
|
* @param context
|
|
13
13
|
*/
|
|
14
|
-
export declare function loadInBatches(files: FileType, loaders?:
|
|
15
|
-
export declare function loadInBatches(files: FileType[] | FileList, loaders?:
|
|
14
|
+
export declare function loadInBatches(files: FileType, loaders?: Loader | Loader[] | LoaderOptions, options?: LoaderOptions, context?: LoaderContext): Promise<AsyncIterable<unknown>>;
|
|
15
|
+
export declare function loadInBatches(files: FileType[] | FileList, loaders?: Loader | Loader[] | LoaderOptions, options?: LoaderOptions, context?: LoaderContext): Promise<AsyncIterable<unknown>>[];
|
|
16
16
|
export {};
|
|
17
17
|
//# sourceMappingURL=load-in-batches.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-in-batches.d.ts","sourceRoot":"","sources":["../../../src/lib/api/load-in-batches.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"load-in-batches.d.ts","sourceRoot":"","sources":["../../../src/lib/api/load-in-batches.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,MAAM,EACN,aAAa,EACb,aAAa,EAEb,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAUlC,KAAK,QAAQ,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,QAAQ,GAAG,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC;AAEjG;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,SAAS,MAAM,EACtB,QAAQ,SAAS,aAAa,GAAG,sBAAsB,CACrD,iBAAiB,CAAC,OAAO,CAAC,EAC1B,eAAe,CAAC,OAAO,CAAC,CACzB,EAED,KAAK,EAAE,QAAQ,EACf,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;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,QAAQ,EACf,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,aAAa,EAC3C,OAAO,CAAC,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;AAEnC,wBAAgB,aAAa,CAC3B,KAAK,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,aAAa,EAC3C,OAAO,CAAC,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
// loaders.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { resolveLoaderAuthenticationOptions } from '@loaders.gl/loader-utils';
|
|
4
5
|
import { isLoaderObject } from "../loader-utils/normalize-loader.js";
|
|
5
6
|
import { getFetchFunction } from "../loader-utils/get-fetch-function.js";
|
|
7
|
+
import { applySearchParamsToUrl } from "../loader-utils/option-utils.js";
|
|
6
8
|
import { parseInBatches } from "./parse-in-batches.js";
|
|
9
|
+
import { selectLoader } from "./select-loader.js";
|
|
10
|
+
import { getLoaderImplementation } from "./load-loader.js";
|
|
7
11
|
export function loadInBatches(files, loaders, options, context) {
|
|
8
12
|
let loadersArray;
|
|
9
13
|
// Signature: load(url, options)
|
|
@@ -15,21 +19,28 @@ export function loadInBatches(files, loaders, options, context) {
|
|
|
15
19
|
else {
|
|
16
20
|
loadersArray = loaders;
|
|
17
21
|
}
|
|
18
|
-
// Select fetch function
|
|
19
|
-
const fetch = getFetchFunction(options || {});
|
|
20
22
|
// Single url/file
|
|
21
23
|
if (!Array.isArray(files)) {
|
|
22
|
-
return loadOneFileInBatches(files, loadersArray, options || {}
|
|
24
|
+
return loadOneFileInBatches(files, loadersArray, options || {});
|
|
23
25
|
}
|
|
24
26
|
// Multiple URLs / files
|
|
25
|
-
const promises = files.map(
|
|
27
|
+
const promises = files.map(file => loadOneFileInBatches(file, loadersArray, options || {}));
|
|
26
28
|
// No point in waiting here for all responses before starting to stream individual streams?
|
|
27
29
|
return promises;
|
|
28
30
|
}
|
|
29
|
-
async function loadOneFileInBatches(file, loaders, options
|
|
31
|
+
async function loadOneFileInBatches(file, loaders, options) {
|
|
30
32
|
if (typeof file === 'string') {
|
|
31
33
|
const url = file;
|
|
32
|
-
const
|
|
34
|
+
const loader = await selectLoader(url, loaders, {
|
|
35
|
+
...options,
|
|
36
|
+
core: { ...options.core, nothrow: true }
|
|
37
|
+
});
|
|
38
|
+
const authenticationLoader = loader && !loader.getAuthentications && options.core?.credentials?.length
|
|
39
|
+
? await getLoaderImplementation(loader, options, url)
|
|
40
|
+
: loader;
|
|
41
|
+
options = await resolveLoaderAuthenticationOptions(authenticationLoader, url, options);
|
|
42
|
+
const fetch = getFetchFunction(options);
|
|
43
|
+
const response = await fetch(applySearchParamsToUrl(url, options));
|
|
33
44
|
// pick right overload
|
|
34
45
|
return Array.isArray(loaders)
|
|
35
46
|
? await parseInBatches(response, loaders, options)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-in-batches.js","sourceRoot":"","sources":["../../../src/lib/api/load-in-batches.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;
|
|
1
|
+
{"version":3,"file":"load-in-batches.js","sourceRoot":"","sources":["../../../src/lib/api/load-in-batches.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAYpC,OAAO,EAAC,kCAAkC,EAAC,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAC,cAAc,EAAC,4CAAyC;AAChE,OAAO,EAAC,gBAAgB,EAAC,8CAA2C;AACpE,OAAO,EAAC,sBAAsB,EAAC,wCAAqC;AAEpE,OAAO,EAAC,cAAc,EAAC,8BAA2B;AAClD,OAAO,EAAC,YAAY,EAAC,2BAAwB;AAC7C,OAAO,EAAC,uBAAuB,EAAC,yBAAsB;AAyCtD,MAAM,UAAU,aAAa,CAC3B,KAAuC,EACvC,OAA2C,EAC3C,OAAuB,EACvB,OAAuB;IAEvB,IAAI,YAA2C,CAAC;IAChD,gCAAgC;IAChC,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,OAAwB,CAAC;QACnC,YAAY,GAAG,SAAS,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,YAAY,GAAG,OAAwC,CAAC;IAC1D,CAAC;IAED,kBAAkB;IAClB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,oBAAoB,CAAC,KAAK,EAAE,YAAa,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,wBAAwB;IACxB,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,EAAE,YAAa,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IAE7F,2FAA2F;IAC3F,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,IAAc,EACd,OAA0B,EAC1B,OAAsB;IAEtB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC;QACjB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE;YAC9C,GAAG,OAAO;YACV,IAAI,EAAE,EAAC,GAAG,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAC;SACvC,CAAC,CAAC;QACH,MAAM,oBAAoB,GACxB,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,IAAI,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM;YACvE,CAAC,CAAC,MAAM,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC;YACrD,CAAC,CAAC,MAAM,CAAC;QACb,OAAO,GAAG,MAAM,kCAAkC,CAAC,oBAAoB,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACvF,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,sBAAsB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;QACnE,sBAAsB;QACtB,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAC3B,CAAC,CAAC,MAAM,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC;YAClD,CAAC,CAAC,MAAM,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IACD,sBAAsB;IACtB,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAC3B,CAAC,CAAC,MAAM,cAAc,CAAC,IAAyB,EAAE,OAAO,EAAE,OAAO,CAAC;QACnE,CAAC,CAAC,MAAM,cAAc,CAAC,IAAyB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACxE,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Loader, LoaderOptions, LoaderWithParser } from '@loaders.gl/loader-utils';
|
|
2
|
+
/** Gets a parser-bearing implementation for a loader, loading it if needed. */
|
|
3
|
+
export declare function getLoaderImplementation(loader: Loader, options?: LoaderOptions, url?: string): Promise<LoaderWithParser>;
|
|
4
|
+
/** Gets a cached parser-bearing implementation for a loader without loading it. */
|
|
5
|
+
export declare function getLoaderImplementationSync(loader: Loader): LoaderWithParser | null;
|
|
6
|
+
/** Returns true when a loader object already includes parser methods. */
|
|
7
|
+
export declare function isLoaderWithParser(loader: Loader): loader is LoaderWithParser;
|
|
8
|
+
/** Resolves declared dependencies and binds parser entry points to their implementations. */
|
|
9
|
+
export declare function preloadLoaderDependencies(loader: Loader, options?: LoaderOptions, url?: string): Promise<LoaderWithParser>;
|
|
10
|
+
//# sourceMappingURL=load-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-loader.d.ts","sourceRoot":"","sources":["../../../src/lib/api/load-loader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,MAAM,EACN,aAAa,EACb,gBAAgB,EAEjB,MAAM,0BAA0B,CAAC;AAKlC,+EAA+E;AAC/E,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,aAAa,EACvB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,gBAAgB,CAAC,CAkD3B;AAED,mFAAmF;AACnF,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAYnF;AAED,yEAAyE;AACzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,gBAAgB,CAW7E;AAiFD,6FAA6F;AAC7F,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,aAAa,EACvB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,gBAAgB,CAAC,CAI3B"}
|