@loaders.gl/core 4.4.5 → 5.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/LICENSE +14 -3
  2. package/dist/dist.dev.js +800 -271
  3. package/dist/dist.min.js +4 -3
  4. package/dist/index.cjs +2191 -296
  5. package/dist/index.cjs.map +3 -4
  6. package/dist/index.d.ts +8 -2
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +7 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/iterators/make-iterator/make-stream-iterator.js +48 -9
  11. package/dist/iterators/make-iterator/make-stream-iterator.js.map +1 -1
  12. package/dist/lib/api/core-api.d.ts +6 -0
  13. package/dist/lib/api/core-api.d.ts.map +1 -0
  14. package/dist/lib/api/core-api.js +23 -0
  15. package/dist/lib/api/core-api.js.map +1 -0
  16. package/dist/lib/api/create-data-source.d.ts +2 -2
  17. package/dist/lib/api/create-data-source.d.ts.map +1 -1
  18. package/dist/lib/api/create-data-source.js +15 -14
  19. package/dist/lib/api/create-data-source.js.map +1 -1
  20. package/dist/lib/api/load-in-batches.d.ts +4 -4
  21. package/dist/lib/api/load-in-batches.d.ts.map +1 -1
  22. package/dist/lib/api/load-in-batches.js +1 -1
  23. package/dist/lib/api/load-in-batches.js.map +1 -1
  24. package/dist/lib/api/load-loader.d.ts +8 -0
  25. package/dist/lib/api/load-loader.d.ts.map +1 -0
  26. package/dist/lib/api/load-loader.js +110 -0
  27. package/dist/lib/api/load-loader.js.map +1 -0
  28. package/dist/lib/api/load.d.ts +2 -2
  29. package/dist/lib/api/load.d.ts.map +1 -1
  30. package/dist/lib/api/load.js +66 -3
  31. package/dist/lib/api/load.js.map +1 -1
  32. package/dist/lib/api/parse-file.d.ts +15 -0
  33. package/dist/lib/api/parse-file.d.ts.map +1 -0
  34. package/dist/lib/api/parse-file.js +70 -0
  35. package/dist/lib/api/parse-file.js.map +1 -0
  36. package/dist/lib/api/parse-in-batches.d.ts +2 -2
  37. package/dist/lib/api/parse-in-batches.d.ts.map +1 -1
  38. package/dist/lib/api/parse-in-batches.js +6 -4
  39. package/dist/lib/api/parse-in-batches.js.map +1 -1
  40. package/dist/lib/api/parse-sync.d.ts +2 -2
  41. package/dist/lib/api/parse-sync.d.ts.map +1 -1
  42. package/dist/lib/api/parse-sync.js +10 -1
  43. package/dist/lib/api/parse-sync.js.map +1 -1
  44. package/dist/lib/api/parse.d.ts +2 -2
  45. package/dist/lib/api/parse.d.ts.map +1 -1
  46. package/dist/lib/api/parse.js +28 -16
  47. package/dist/lib/api/parse.js.map +1 -1
  48. package/dist/lib/api/preload.d.ts +11 -0
  49. package/dist/lib/api/preload.d.ts.map +1 -0
  50. package/dist/lib/api/preload.js +14 -0
  51. package/dist/lib/api/preload.js.map +1 -0
  52. package/dist/lib/api/register-loaders.js +1 -1
  53. package/dist/lib/api/register-loaders.js.map +1 -1
  54. package/dist/lib/api/select-loader.d.ts.map +1 -1
  55. package/dist/lib/api/select-loader.js +48 -5
  56. package/dist/lib/api/select-loader.js.map +1 -1
  57. package/dist/lib/api/select-source.d.ts +3 -3
  58. package/dist/lib/api/select-source.d.ts.map +1 -1
  59. package/dist/lib/api/select-source.js +2 -5
  60. package/dist/lib/api/select-source.js.map +1 -1
  61. package/dist/lib/fetch/fetch-error-message.js +1 -1
  62. package/dist/lib/fetch/fetch-error-message.js.map +1 -1
  63. package/dist/lib/init.js +1 -1
  64. package/dist/lib/init.js.map +1 -1
  65. package/dist/lib/loader-utils/check-errors.js +1 -1
  66. package/dist/lib/loader-utils/check-errors.js.map +1 -1
  67. package/dist/lib/loader-utils/get-data.d.ts +4 -0
  68. package/dist/lib/loader-utils/get-data.d.ts.map +1 -1
  69. package/dist/lib/loader-utils/get-data.js +26 -0
  70. package/dist/lib/loader-utils/get-data.js.map +1 -1
  71. package/dist/lib/loader-utils/get-fetch-function.d.ts +1 -1
  72. package/dist/lib/loader-utils/get-fetch-function.d.ts.map +1 -1
  73. package/dist/lib/loader-utils/get-fetch-function.js +1 -1
  74. package/dist/lib/loader-utils/get-fetch-function.js.map +1 -1
  75. package/dist/lib/loader-utils/loader-context.d.ts +1 -1
  76. package/dist/lib/loader-utils/loader-context.d.ts.map +1 -1
  77. package/dist/lib/loader-utils/loader-context.js +3 -1
  78. package/dist/lib/loader-utils/loader-context.js.map +1 -1
  79. package/dist/lib/loader-utils/loggers.d.ts +19 -0
  80. package/dist/lib/loader-utils/loggers.d.ts.map +1 -1
  81. package/dist/lib/loader-utils/loggers.js +28 -2
  82. package/dist/lib/loader-utils/loggers.js.map +1 -1
  83. package/dist/lib/loader-utils/option-defaults.d.ts +1 -0
  84. package/dist/lib/loader-utils/option-defaults.d.ts.map +1 -1
  85. package/dist/lib/loader-utils/option-defaults.js +2 -0
  86. package/dist/lib/loader-utils/option-defaults.js.map +1 -1
  87. package/dist/lib/loader-utils/option-utils.d.ts.map +1 -1
  88. package/dist/lib/loader-utils/option-utils.js +50 -2
  89. package/dist/lib/loader-utils/option-utils.js.map +1 -1
  90. package/dist/lib/utils/response-utils.js +3 -3
  91. package/dist/lib/utils/response-utils.js.map +1 -1
  92. package/dist/null-loader.d.ts.map +1 -1
  93. package/dist/null-loader.js +1 -1
  94. package/dist/null-loader.js.map +1 -1
  95. package/dist/null-worker-node.js +199 -36
  96. package/dist/null-worker.js +199 -36
  97. package/package.json +6 -6
  98. package/src/index.ts +10 -1
  99. package/src/iterators/make-iterator/make-stream-iterator.ts +47 -9
  100. package/src/lib/api/core-api.ts +25 -0
  101. package/src/lib/api/create-data-source.ts +24 -24
  102. package/src/lib/api/load-in-batches.ts +16 -11
  103. package/src/lib/api/load-loader.ts +152 -0
  104. package/src/lib/api/load.ts +98 -5
  105. package/src/lib/api/parse-file.ts +143 -0
  106. package/src/lib/api/parse-in-batches.ts +13 -5
  107. package/src/lib/api/parse-sync.ts +27 -2
  108. package/src/lib/api/parse.ts +49 -18
  109. package/src/lib/api/preload.ts +31 -0
  110. package/src/lib/api/register-loaders.ts +1 -1
  111. package/src/lib/api/select-loader.ts +57 -5
  112. package/src/lib/api/select-source.ts +7 -10
  113. package/src/lib/fetch/fetch-error-message.ts +1 -1
  114. package/src/lib/loader-utils/check-errors.ts +1 -1
  115. package/src/lib/loader-utils/get-data.ts +36 -0
  116. package/src/lib/loader-utils/get-fetch-function.ts +3 -2
  117. package/src/lib/loader-utils/loader-context.ts +5 -2
  118. package/src/lib/loader-utils/loggers.ts +28 -2
  119. package/src/lib/loader-utils/option-defaults.ts +2 -0
  120. package/src/lib/loader-utils/option-utils.ts +59 -2
  121. package/src/lib/utils/response-utils.ts +3 -3
  122. package/src/null-loader.ts +3 -3
@@ -0,0 +1,70 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ import { isSourceLoader, mergeOptions } from '@loaders.gl/loader-utils';
5
+ import { validateWorkerVersion } from '@loaders.gl/worker-utils';
6
+ import { isLoaderObject } from "../loader-utils/normalize-loader.js";
7
+ import { normalizeOptions } from "../loader-utils/option-utils.js";
8
+ import { getLoaderContext, getLoadersFromContext } from "../loader-utils/loader-context.js";
9
+ import { getLoaderImplementation } from "./load-loader.js";
10
+ import { parse } from "./parse.js";
11
+ import { selectLoader } from "./select-loader.js";
12
+ /**
13
+ * Parses a random access readable file using a specified loader.
14
+ * @param file readable file
15
+ * @param loaders loader or loaders to use
16
+ * @param options loader options
17
+ * @param context loader context
18
+ * @returns parsed data
19
+ */
20
+ export async function parseFile(file, loaders, options, context) {
21
+ if (loaders && !Array.isArray(loaders) && !isLoaderObject(loaders)) {
22
+ context = undefined;
23
+ options = loaders;
24
+ loaders = undefined;
25
+ }
26
+ options = options || {};
27
+ const url = file.url || '';
28
+ const typedLoaders = loaders;
29
+ const candidateLoaders = getLoadersFromContext(typedLoaders, context);
30
+ const loader = await selectLoader(url, candidateLoaders, options);
31
+ if (!loader) {
32
+ return null;
33
+ }
34
+ if (isSourceLoader(loader)) {
35
+ throw new Error(`${loader.id} is a SourceLoader. Use load() to create a runtime source object instead of parseFile().`);
36
+ }
37
+ // @ts-expect-error candidateLoaders may be a single forced loader
38
+ const strictOptions = normalizeOptions(options, loader, candidateLoaders, url);
39
+ context = getLoaderContext(
40
+ // @ts-expect-error candidateLoaders may be a single forced loader
41
+ { url, _parse: parse, loaders: candidateLoaders }, strictOptions, context || null);
42
+ return await parseFileWithLoader(loader, file, strictOptions, context);
43
+ }
44
+ /**
45
+ * Parses a readable file after a loader has been selected.
46
+ * @param loader selected loader
47
+ * @param file readable file
48
+ * @param options strict loader options
49
+ * @param context loader context
50
+ * @returns parsed data
51
+ */
52
+ async function parseFileWithLoader(loader, file, options, context) {
53
+ validateWorkerVersion(loader);
54
+ options = mergeOptions(loader.options, options);
55
+ const loaderWithParser = await getLoaderImplementation(loader, options, context.url);
56
+ if (loaderWithParser.parseFile) {
57
+ return await loaderWithParser.parseFile(file, options, context);
58
+ }
59
+ const parseFunction = loaderWithParser.parse;
60
+ if (parseFunction) {
61
+ const length = file.bigsize > 0n ? Number(file.bigsize) : file.size;
62
+ if (!length) {
63
+ throw new Error(`${loader.id} loader - cannot fall back to parse without a file size`);
64
+ }
65
+ const data = await file.read(0n, length);
66
+ return await parse(data, loaderWithParser, options, context);
67
+ }
68
+ throw new Error(`${loader.id} loader - no file parser found`);
69
+ }
70
+ //# sourceMappingURL=parse-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-file.js","sourceRoot":"","sources":["../../../src/lib/api/parse-file.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import type { Loader, LoaderOptions, LoaderContext, BatchableDataType, LoaderOptionsType, LoaderBatchType, LoaderArrayOptionsType, LoaderArrayBatchType } from '@loaders.gl/loader-utils';
1
+ import type { Loader, LoaderOptions, LoaderContext, LoaderOptionsWithShape, BatchableDataType, LoaderOptionsType, LoaderShapeType, LoaderBatchType, LoaderArrayOptionsType, LoaderArrayBatchType } from '@loaders.gl/loader-utils';
2
2
  /**
3
3
  * Parses `data` synchronously using a specified loader
4
4
  */
5
- export declare function parseInBatches<LoaderT extends Loader, OptionsT extends LoaderOptions = LoaderOptionsType<LoaderT>>(data: BatchableDataType, loader: LoaderT, options?: OptionsT, context?: LoaderContext): Promise<AsyncIterable<LoaderBatchType<LoaderT>>>;
5
+ export declare function parseInBatches<LoaderT extends Loader, OptionsT extends LoaderOptions = LoaderOptionsWithShape<LoaderOptionsType<LoaderT>, LoaderShapeType<LoaderT>>>(data: BatchableDataType, loader: LoaderT, options?: OptionsT, context?: LoaderContext): Promise<AsyncIterable<LoaderBatchType<LoaderT>>>;
6
6
  /**
7
7
  * Parses `data` using one of the supplied loaders
8
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"parse-in-batches.d.ts","sourceRoot":"","sources":["../../../src/lib/api/parse-in-batches.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,MAAM,EAGN,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EAErB,MAAM,0BAA0B,CAAC;AAYlC;;GAEG;AACH,wBAAsB,cAAc,CAClC,OAAO,SAAS,MAAM,EACtB,QAAQ,SAAS,aAAa,GAAG,iBAAiB,CAAC,OAAO,CAAC,EAE3D,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"}
1
+ {"version":3,"file":"parse-in-batches.d.ts","sourceRoot":"","sources":["../../../src/lib/api/parse-in-batches.ts"],"names":[],"mappings":"AAMA,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;AAalC;;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"}
@@ -8,6 +8,7 @@ import { normalizeOptions } from "../loader-utils/option-utils.js";
8
8
  import { getLoaderContext } from "../loader-utils/loader-context.js";
9
9
  import { getAsyncIterableFromData } from "../loader-utils/get-data.js";
10
10
  import { getResourceUrl } from "../utils/resource-utils.js";
11
+ import { getLoaderImplementation } from "./load-loader.js";
11
12
  import { selectLoader } from "./select-loader.js";
12
13
  // Ensure `parse` is available in context if loader falls back to `parse`
13
14
  import { parse } from "./parse.js";
@@ -42,12 +43,13 @@ context) {
42
43
  // Normalize options
43
44
  const strictOptions = normalizeOptions(options, loader, loaderArray, url);
44
45
  context = getLoaderContext({ url, _parseInBatches: parseInBatches, _parse: parse, loaders: loaderArray }, strictOptions, context || null);
45
- return await parseWithLoaderInBatches(loader, data, strictOptions, context);
46
+ const loaderWithParser = await getLoaderImplementation(loader, strictOptions, context.url);
47
+ return await parseWithLoaderInBatches(loader, loaderWithParser, data, strictOptions, context);
46
48
  }
47
49
  /**
48
50
  * Loader has been selected and context has been prepared, see if we need to emit a metadata batch
49
51
  */
50
- async function parseWithLoaderInBatches(loader, data, options, context) {
52
+ async function parseWithLoaderInBatches(originalLoader, loader, data, options, context) {
51
53
  const outputIterator = await parseToOutputIterator(loader, data, options, context);
52
54
  // Generate metadata batch if requested
53
55
  if (!options?.core?.metadata) {
@@ -57,7 +59,7 @@ async function parseWithLoaderInBatches(loader, data, options, context) {
57
59
  shape: 'metadata',
58
60
  batchType: 'metadata',
59
61
  metadata: {
60
- _loader: loader,
62
+ _loader: originalLoader,
61
63
  _context: context
62
64
  },
63
65
  // Populate with some default fields to avoid crashing
@@ -102,7 +104,7 @@ async function* parseChunkInBatches(transformedIterator, loader, options, contex
102
104
  * @todo run through batch builder to apply options etc...
103
105
  */
104
106
  function convertDataToBatch(parsedData, loader) {
105
- // prettier-ignore
107
+ // biome-ignore format: preserve intentional fixture layout
106
108
  const batch = isTable(parsedData)
107
109
  ? makeBatchFromTable(parsedData)
108
110
  : {
@@ -1 +1 @@
1
- {"version":3,"file":"parse-in-batches.js","sourceRoot":"","sources":["../../../src/lib/api/parse-in-batches.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-in-batches.js","sourceRoot":"","sources":["../../../src/lib/api/parse-in-batches.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import type { Loader, LoaderOptions, LoaderContext, SyncDataType, LoaderOptionsType, LoaderReturnType, LoaderArrayOptionsType, LoaderArrayReturnType } from '@loaders.gl/loader-utils';
1
+ import type { Loader, LoaderOptions, LoaderContext, LoaderOptionsWithShape, SyncDataType, LoaderOptionsType, LoaderShapeType, LoaderReturnType, LoaderArrayOptionsType, LoaderArrayReturnType } from '@loaders.gl/loader-utils';
2
2
  /**
3
3
  * Parses `data` synchronously using the specified loader
4
4
  */
5
- export declare function parseSync<LoaderT extends Loader, OptionsT extends LoaderOptions = LoaderOptionsType<LoaderT>>(data: SyncDataType, loader: LoaderT, options?: OptionsT, context?: LoaderContext): LoaderReturnType<LoaderT>;
5
+ export declare function parseSync<LoaderT extends Loader, OptionsT extends LoaderOptions = LoaderOptionsWithShape<LoaderOptionsType<LoaderT>, LoaderShapeType<LoaderT>>>(data: SyncDataType, loader: LoaderT, options?: OptionsT, context?: LoaderContext): LoaderReturnType<LoaderT>;
6
6
  /**
7
7
  * Parses `data` synchronously by matching one of the supplied loaders
8
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"parse-sync.d.ts","sourceRoot":"","sources":["../../../src/lib/api/parse-sync.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,MAAM,EAEN,aAAa,EACb,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EAEtB,MAAM,0BAA0B,CAAC;AAUlC;;GAEG;AACH,wBAAgB,SAAS,CACvB,OAAO,SAAS,MAAM,EACtB,QAAQ,SAAS,aAAa,GAAG,iBAAiB,CAAC,OAAO,CAAC,EAE3D,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE,aAAa,GACtB,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAE7B;;GAEG;AACH,wBAAgB,SAAS,CACvB,YAAY,SAAS,MAAM,EAAE,EAC7B,QAAQ,SAAS,aAAa,GAAG,sBAAsB,CAAC,YAAY,CAAC,EAErE,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,YAAY,EACrB,OAAO,CAAC,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE,aAAa,GACtB,qBAAqB,CAAC,YAAY,CAAC,CAAC;AAEvC;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"parse-sync.d.ts","sourceRoot":"","sources":["../../../src/lib/api/parse-sync.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,MAAM,EAEN,aAAa,EACb,aAAa,EACb,sBAAsB,EACtB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EAEtB,MAAM,0BAA0B,CAAC;AAYlC;;GAEG;AACH,wBAAgB,SAAS,CACvB,OAAO,SAAS,MAAM,EACtB,QAAQ,SAAS,aAAa,GAAG,sBAAsB,CACrD,iBAAiB,CAAC,OAAO,CAAC,EAC1B,eAAe,CAAC,OAAO,CAAC,CACzB,EAED,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE,aAAa,GACtB,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAE7B;;GAEG;AACH,wBAAgB,SAAS,CACvB,YAAY,SAAS,MAAM,EAAE,EAC7B,QAAQ,SAAS,aAAa,GAAG,sBAAsB,CAAC,YAAY,CAAC,EAErE,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,YAAY,EACrB,OAAO,CAAC,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE,aAAa,GACtB,qBAAqB,CAAC,YAAY,CAAC,CAAC;AAEvC;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC"}
@@ -1,12 +1,14 @@
1
1
  // loaders.gl
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
+ import { isSourceLoader } from '@loaders.gl/loader-utils';
4
5
  import { selectLoaderSync } from "./select-loader.js";
5
6
  import { isLoaderObject } from "../loader-utils/normalize-loader.js";
6
7
  import { normalizeOptions } from "../loader-utils/option-utils.js";
7
8
  import { getArrayBufferOrStringFromDataSync } from "../loader-utils/get-data.js";
8
9
  import { getLoaderContext, getLoadersFromContext } from "../loader-utils/loader-context.js";
9
10
  import { getResourceUrl } from "../utils/resource-utils.js";
11
+ import { getLoaderImplementationSync } from "./load-loader.js";
10
12
  /**
11
13
  * Parses `data` synchronously using a specified loader
12
14
  */
@@ -28,6 +30,9 @@ export function parseSync(data, loaders, options, context) {
28
30
  if (!loader) {
29
31
  return null;
30
32
  }
33
+ if (isSourceLoader(loader)) {
34
+ throw new Error(`${loader.id} is a SourceLoader. Use load() to create a runtime source object instead of parseSync().`);
35
+ }
31
36
  // Normalize options
32
37
  const strictOptions = normalizeOptions(options, loader, candidateLoaders);
33
38
  // Extract a url for auto detection
@@ -36,7 +41,8 @@ export function parseSync(data, loaders, options, context) {
36
41
  throw new Error('parseSync called parse (which is async');
37
42
  };
38
43
  context = getLoaderContext({ url, _parseSync: parse, _parse: parse, loaders: loaders }, strictOptions, context || null);
39
- return parseWithLoaderSync(loader, data, strictOptions, context);
44
+ const loaderWithParser = getLoaderImplementationSync(loader);
45
+ return parseWithLoaderSync(loaderWithParser || loader, data, strictOptions, context);
40
46
  }
41
47
  // TODO - should accept loader.parseSync/parse and generate 1 chunk asyncIterator
42
48
  function parseWithLoaderSync(loader, data, options, context) {
@@ -47,6 +53,9 @@ function parseWithLoaderSync(loader, data, options, context) {
47
53
  if (loader.parseSync && data instanceof ArrayBuffer) {
48
54
  return loader.parseSync(data, options, context); // , loader);
49
55
  }
56
+ if (loader.preload) {
57
+ throw new Error(`${loader.name} loader: 'parseSync' requires a parser-bearing loader. Import the loader implementation directly, or call preload(loader) before parseSync(). ${context.url || ''}`);
58
+ }
50
59
  // TBD - If synchronous parser not available, return null
51
60
  throw new Error(`${loader.name} loader: 'parseSync' not supported by this loader, use 'parse' instead. ${context.url || ''}`);
52
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parse-sync.js","sourceRoot":"","sources":["../../../src/lib/api/parse-sync.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAcpC,OAAO,EAAC,gBAAgB,EAAC,2BAAwB;AACjD,OAAO,EAAC,cAAc,EAAC,4CAAyC;AAChE,OAAO,EAAC,gBAAgB,EAAC,wCAAqC;AAC9D,OAAO,EAAC,kCAAkC,EAAC,oCAAiC;AAC5E,OAAO,EAAC,gBAAgB,EAAE,qBAAqB,EAAC,0CAAuC;AACvF,OAAO,EAAC,cAAc,EAAC,mCAAgC;AAoCvD;;GAEG;AACH,MAAM,UAAU,SAAS,CACvB,IAAkB,EAClB,OAA2C,EAC3C,OAAuB,EACvB,OAAuB;IAEvB,sCAAsC;IACtC,0BAA0B;IAC1B,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,OAAO,GAAG,SAAS,CAAC;IACtB,CAAC;IAED,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IAExB,uCAAuC;IACvC,iEAAiE;IACjE,MAAM,YAAY,GAAG,OAAwC,CAAC;IAC9D,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACjE,mGAAmG;IACnG,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oBAAoB;IACpB,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAwC,CAAC,CAAC;IAElG,mCAAmC;IACnC,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAEjC,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC,CAAC;IACF,OAAO,GAAG,gBAAgB,CACxB,EAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAmB,EAAC,EACrE,aAAa,EACb,OAAO,IAAI,IAAI,CAChB,CAAC;IAEF,OAAO,mBAAmB,CAAC,MAA0B,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;AACvF,CAAC;AAED,iFAAiF;AACjF,SAAS,mBAAmB,CAC1B,MAAwB,EACxB,IAAkB,EAClB,OAA4B,EAC5B,OAAsB;IAEtB,IAAI,GAAG,kCAAkC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAEjE,IAAI,MAAM,CAAC,aAAa,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrD,OAAO,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,sBAAsB;IACpE,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;QACpD,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa;IAChE,CAAC;IAED,yDAAyD;IACzD,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,CAAC,IAAI,2EACZ,OAAO,CAAC,GAAG,IAAI,EACjB,EAAE,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"parse-sync.js","sourceRoot":"","sources":["../../../src/lib/api/parse-sync.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import type { Loader, LoaderContext, LoaderOptions, DataType, LoaderOptionsType, LoaderReturnType, LoaderArrayOptionsType, LoaderArrayReturnType } from '@loaders.gl/loader-utils';
1
+ import type { Loader, LoaderContext, LoaderOptions, LoaderOptionsWithShape, DataType, LoaderOptionsType, LoaderShapeType, LoaderReturnType, LoaderArrayOptionsType, LoaderArrayReturnType } from '@loaders.gl/loader-utils';
2
2
  /**
3
3
  * Parses `data` asynchronously using the supplied loader
4
4
  */
5
- export declare function parse<LoaderT extends Loader, OptionsT extends LoaderOptions = LoaderOptionsType<LoaderT>>(data: DataType | Promise<DataType>, loader: LoaderT, options?: OptionsT, context?: LoaderContext): Promise<LoaderReturnType<LoaderT>>;
5
+ export declare function parse<LoaderT extends Loader, OptionsT extends LoaderOptions = LoaderOptionsWithShape<LoaderOptionsType<LoaderT>, LoaderShapeType<LoaderT>>>(data: DataType | Promise<DataType>, loader: LoaderT, options?: OptionsT, context?: LoaderContext): Promise<LoaderReturnType<LoaderT>>;
6
6
  /**
7
7
  * Parses `data` asynchronously by matching one of the supplied loader
8
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../src/lib/api/parse.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,MAAM,EACN,aAAa,EACb,aAAa,EACb,QAAQ,EAER,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EAEtB,MAAM,0BAA0B,CAAC;AAiBlC;;GAEG;AACH,wBAAsB,KAAK,CACzB,OAAO,SAAS,MAAM,EACtB,QAAQ,SAAS,aAAa,GAAG,iBAAiB,CAAC,OAAO,CAAC,EAE3D,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"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../src/lib/api/parse.ts"],"names":[],"mappings":"AAIA,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"}
@@ -1,13 +1,15 @@
1
1
  // loaders.gl
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
- import { parseWithWorker, canParseWithWorker, mergeOptions, isResponse } from '@loaders.gl/loader-utils';
5
- import { assert, validateWorkerVersion } from '@loaders.gl/worker-utils';
4
+ import { parseWithWorker, canParseWithWorker, mergeOptions, isResponse, isBlob, isSourceLoader } from '@loaders.gl/loader-utils';
5
+ import { validateWorkerVersion } from '@loaders.gl/worker-utils';
6
6
  import { isLoaderObject } from "../loader-utils/normalize-loader.js";
7
7
  import { normalizeOptions } from "../loader-utils/option-utils.js";
8
8
  import { getArrayBufferOrStringFromData } from "../loader-utils/get-data.js";
9
+ import { getArrayBufferFromData } from "../loader-utils/get-data.js";
9
10
  import { getLoaderContext, getLoadersFromContext } from "../loader-utils/loader-context.js";
10
11
  import { getResourceUrl } from "../utils/resource-utils.js";
12
+ import { getLoaderImplementation } from "./load-loader.js";
11
13
  import { selectLoader } from "./select-loader.js";
12
14
  /**
13
15
  * Parses `data` using a specified loader
@@ -39,6 +41,9 @@ export async function parse(data, loaders, options, context) {
39
41
  if (!loader) {
40
42
  return null;
41
43
  }
44
+ if (isSourceLoader(loader)) {
45
+ throw new Error(`${loader.id} is a SourceLoader. Use load() to create a runtime source object instead of parse().`);
46
+ }
42
47
  // Normalize options
43
48
  // @ts-expect-error candidateLoaders
44
49
  const strictOptions = normalizeOptions(options, loader, candidateLoaders, url); // Could be invalid...
@@ -60,25 +65,32 @@ async function parseWithLoader(loader, data, options, context) {
60
65
  // @ts-expect-error TODO - fix this
61
66
  context.response = { headers, ok, redirected, status, statusText, type, url };
62
67
  }
68
+ const loaderWithParser = await getLoaderImplementation(loader, options, context.url);
69
+ if (canParseWithWorker(loaderWithParser, options)) {
70
+ data = await getArrayBufferFromData(data, options);
71
+ return await parseWithWorker(loaderWithParser, data, options, context, parse);
72
+ }
73
+ if (isBlob(data) && loaderWithParser.parseBlob) {
74
+ return await loaderWithParser.parseBlob(data, options, context);
75
+ }
63
76
  data = await getArrayBufferOrStringFromData(data, loader, options);
64
- const loaderWithParser = loader;
65
- // First check for synchronous text parser, wrap results in promises
66
- if (loaderWithParser.parseTextSync && typeof data === 'string') {
67
- return loaderWithParser.parseTextSync(data, options, context);
77
+ return await parseWithLoaderImplementation(loaderWithParser, data, options, context);
78
+ }
79
+ async function parseWithLoaderImplementation(loader, data, options, context) {
80
+ if (loader.parseText && typeof data === 'string') {
81
+ return await loader.parseText(data, options, context);
68
82
  }
69
- // If we have a workerUrl and the loader can parse the given options efficiently in a worker
70
- if (canParseWithWorker(loader, options)) {
71
- return await parseWithWorker(loader, data, options, context, parse);
83
+ // Fall back to synchronous text parser, wrap results in promises
84
+ if (loader.parseTextSync && typeof data === 'string') {
85
+ return loader.parseTextSync(data, options, context);
72
86
  }
73
- // Check for asynchronous parser
74
- if (loaderWithParser.parseText && typeof data === 'string') {
75
- return await loaderWithParser.parseText(data, options, context);
87
+ if (loader.parse) {
88
+ return await loader.parse(data, options, context);
76
89
  }
77
- if (loaderWithParser.parse) {
78
- return await loaderWithParser.parse(data, options, context);
90
+ // All parser-bearing sync loaders should also offer `parse` so async APIs can use them.
91
+ if (loader.parseSync) {
92
+ throw new Error(`${loader.name} loader: 'parse' not available on parser-bearing sync loader. Add an async 'parse' function to this loader, or call preload(loader) before parseSync(). ${context.url || ''}`);
79
93
  }
80
- // This should not happen, all sync loaders should also offer `parse` function
81
- assert(!loaderWithParser.parseSync);
82
94
  // TBD - If asynchronous parser not available, return null
83
95
  throw new Error(`${loader.id} loader - no parser found and worker is disabled`);
84
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/lib/api/parse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/lib/api/parse.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { Loader, LoaderOptions, LoaderWithParser } from '@loaders.gl/loader-utils';
2
+ /**
3
+ * Preloads a loader implementation so later parse/load calls do not pay the resolution cost on first use.
4
+ * May return a parser-bearing loader that also supports `parseSync`.
5
+ */
6
+ export declare function preload<LoaderT extends Loader>(loader: LoaderT, options?: LoaderOptions, url?: string): Promise<LoaderWithParser>;
7
+ /**
8
+ * Returns a cached parser-bearing loader implementation if one is already available.
9
+ */
10
+ export declare function preloadSync(loader: Loader): LoaderWithParser | null;
11
+ //# sourceMappingURL=preload.d.ts.map
@@ -0,0 +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;AAGtF;;;GAGG;AACH,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;AAU7B;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAEnE"}
@@ -0,0 +1,14 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ import { getLoaderImplementation, getLoaderImplementationSync } from "./load-loader.js";
5
+ export async function preload(loader, options, url) {
6
+ return await getLoaderImplementation(loader, options, url);
7
+ }
8
+ /**
9
+ * Returns a cached parser-bearing loader implementation if one is already available.
10
+ */
11
+ export function preloadSync(loader) {
12
+ return getLoaderImplementationSync(loader);
13
+ }
14
+ //# sourceMappingURL=preload.js.map
@@ -0,0 +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,EAAC,uBAAuB,EAAE,2BAA2B,EAAC,yBAAsB;AAYnF,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,MAAc,EACd,OAAuB,EACvB,GAAY;IAEZ,OAAO,MAAM,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,MAAc;IACxC,OAAO,2BAA2B,CAAC,MAAM,CAAC,CAAC;AAC7C,CAAC"}
@@ -22,7 +22,7 @@ export function registerLoaders(loaders) {
22
22
  loaders = Array.isArray(loaders) ? loaders : [loaders];
23
23
  for (const loader of loaders) {
24
24
  const normalizedLoader = normalizeLoader(loader);
25
- if (!loaderRegistry.find((registeredLoader) => normalizedLoader === registeredLoader)) {
25
+ if (!loaderRegistry.find(registeredLoader => normalizedLoader === registeredLoader)) {
26
26
  // add to the beginning of the loaderRegistry, so the last registeredLoader get picked
27
27
  loaderRegistry.unshift(normalizedLoader);
28
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"register-loaders.js","sourceRoot":"","sources":["../../../src/lib/api/register-loaders.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAGpC,OAAO,EAAC,eAAe,EAAC,4CAAyC;AACjE,OAAO,EAAC,oBAAoB,EAAC,wCAAqC;AAElE;;;GAGG;AACH,MAAM,uBAAuB,GAAG,GAAG,EAAE;IACnC,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAC;IACrC,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC;IAClD,OAAO,KAAK,CAAC,cAAc,CAAC;AAC9B,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,OAA0B;IACxD,MAAM,cAAc,GAAG,uBAAuB,EAAE,CAAC;IAEjD,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAEvD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,gBAAgB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,KAAK,gBAAgB,CAAC,EAAE,CAAC;YACtF,sFAAsF;YACtF,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,uBAAuB,EAAE,CAAC;AACnC,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,kBAAkB;IAChC,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAC;IACrC,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"register-loaders.js","sourceRoot":"","sources":["../../../src/lib/api/register-loaders.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAGpC,OAAO,EAAC,eAAe,EAAC,4CAAyC;AACjE,OAAO,EAAC,oBAAoB,EAAC,wCAAqC;AAElE;;;GAGG;AACH,MAAM,uBAAuB,GAAG,GAAG,EAAE;IACnC,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAC;IACrC,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC;IAClD,OAAO,KAAK,CAAC,cAAc,CAAC;AAC9B,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,OAA0B;IACxD,MAAM,cAAc,GAAG,uBAAuB,EAAE,CAAC;IAEjD,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAEvD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,gBAAgB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,gBAAgB,KAAK,gBAAgB,CAAC,EAAE,CAAC;YACpF,sFAAsF;YACtF,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,uBAAuB,EAAE,CAAC;AACnC,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,kBAAkB;IAChC,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAC;IACrC,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC;AAC5B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"select-loader.d.ts","sourceRoot":"","sources":["../../../src/lib/api/select-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAC,MAAM,0BAA0B,CAAC;AAuB7F;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,QAAQ,EACd,OAAO,GAAE,MAAM,EAAE,GAAG,MAAW,EAC/B,OAAO,CAAC,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAkDxB;AAUD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,QAAQ,EACd,OAAO,GAAE,MAAM,EAAE,GAAG,MAAW,EAC/B,OAAO,CAAC,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,aAAa,GACtB,MAAM,GAAG,IAAI,CAsCf"}
1
+ {"version":3,"file":"select-loader.d.ts","sourceRoot":"","sources":["../../../src/lib/api/select-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAC,MAAM,0BAA0B,CAAC;AAwB7F;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,QAAQ,EACd,OAAO,GAAE,MAAM,EAAE,GAAG,MAAW,EAC/B,OAAO,CAAC,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAkDxB;AAYD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,QAAQ,EACd,OAAO,GAAE,MAAM,EAAE,GAAG,MAAW,EAC/B,OAAO,CAAC,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,aAAa,GACtB,MAAM,GAAG,IAAI,CAsCf"}
@@ -1,7 +1,7 @@
1
1
  // loaders.gl
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
- import { compareArrayBuffers, path, log, isBlob, ensureArrayBuffer, isArrayBufferLike } from '@loaders.gl/loader-utils';
4
+ import { compareArrayBuffers, path, log, isBlob, ensureArrayBuffer, isArrayBufferLike, isSourceLoader } from '@loaders.gl/loader-utils';
5
5
  import { normalizeLoader } from "../loader-utils/normalize-loader.js";
6
6
  import { normalizeLoaderOptions } from "../loader-utils/option-utils.js";
7
7
  import { getResourceUrl, getResourceMIMEType } from "../utils/resource-utils.js";
@@ -58,7 +58,9 @@ export async function selectLoader(data, loaders = [], options, context) {
58
58
  function mayContainText(response) {
59
59
  const mimeType = getResourceMIMEType(response);
60
60
  return Boolean(mimeType &&
61
- (mimeType.startsWith('text/') || mimeType === 'application/json' || mimeType.endsWith('+json')));
61
+ (mimeType.startsWith('text/') ||
62
+ mimeType === 'application/json' ||
63
+ mimeType.endsWith('+json')));
62
64
  }
63
65
  /**
64
66
  * Find a loader that matches file extension and/or initial file content
@@ -110,10 +112,18 @@ function selectLoaderInternal(data, loaders, options, context) {
110
112
  let loader = null;
111
113
  let reason = '';
112
114
  // if options.mimeType is supplied, it takes precedence
115
+ const sourceType = options?.core && 'type' in options.core ? options.core.type : undefined;
116
+ if (sourceType && sourceType !== 'auto') {
117
+ loader = findSourceLoaderByType(loaders, sourceType);
118
+ reason = loader ? `match forced by supplied source type ${sourceType}` : '';
119
+ }
120
+ // if options.mimeType is supplied, it takes precedence
113
121
  if (options?.core?.mimeType) {
114
122
  loader = findLoaderByMIMEType(loaders, options?.core?.mimeType);
115
123
  reason = `match forced by supplied MIME type ${options?.core?.mimeType}`;
116
124
  }
125
+ loader = loader || findSourceLoaderByTestURL(loaders, testUrl);
126
+ reason = reason || (loader ? `matched source url ${testUrl}` : '');
117
127
  // Look up loader by url
118
128
  loader = loader || findLoaderByUrl(loaders, testUrl);
119
129
  reason = reason || (loader ? `matched url ${testUrl}` : '');
@@ -125,6 +135,10 @@ function selectLoaderInternal(data, loaders, options, context) {
125
135
  loader = loader || findLoaderByInitialBytes(loaders, data);
126
136
  // @ts-ignore Blob | Response
127
137
  reason = reason || (loader ? `matched initial data ${getFirstCharacters(data)}` : '');
138
+ if (!loader && isBlob(data)) {
139
+ loader = findSourceLoaderByTestData(loaders, data);
140
+ reason = reason || (loader ? 'matched source testData' : '');
141
+ }
128
142
  // Look up loader by fallback mime type
129
143
  if (options?.core?.fallbackMimeType) {
130
144
  loader = loader || findLoaderByMIMEType(loaders, options?.core?.fallbackMimeType);
@@ -184,9 +198,38 @@ function findLoaderByExtension(loaders, extension) {
184
198
  }
185
199
  return null;
186
200
  }
201
+ function findSourceLoaderByType(loaders, type) {
202
+ for (const loader of loaders) {
203
+ if (isSourceLoader(loader) && loader.type === type) {
204
+ return loader;
205
+ }
206
+ }
207
+ return null;
208
+ }
209
+ function findSourceLoaderByTestURL(loaders, url) {
210
+ if (!url) {
211
+ return null;
212
+ }
213
+ for (const loader of loaders) {
214
+ if (isSourceLoader(loader) && loader.testURL(url)) {
215
+ return loader;
216
+ }
217
+ }
218
+ return null;
219
+ }
220
+ function findSourceLoaderByTestData(loaders, data) {
221
+ for (const loader of loaders) {
222
+ if (isSourceLoader(loader)) {
223
+ if (loader.testData?.(data)) {
224
+ return loader;
225
+ }
226
+ }
227
+ }
228
+ return null;
229
+ }
187
230
  function findLoaderByMIMEType(loaders, mimeType) {
188
231
  for (const loader of loaders) {
189
- if (loader.mimeTypes?.some((mimeType1) => compareMIMETypes(mimeType, mimeType1))) {
232
+ if (loader.mimeTypes?.some(mimeType1 => compareMIMETypes(mimeType, mimeType1))) {
190
233
  return loader;
191
234
  }
192
235
  // Support referring to loaders using the "unregistered tree"
@@ -228,11 +271,11 @@ function testDataAgainstText(data, loader) {
228
271
  return loader.testText(data);
229
272
  }
230
273
  const tests = Array.isArray(loader.tests) ? loader.tests : [loader.tests];
231
- return tests.some((test) => data.startsWith(test));
274
+ return tests.some(test => data.startsWith(test));
232
275
  }
233
276
  function testDataAgainstBinary(data, byteOffset, loader) {
234
277
  const tests = Array.isArray(loader.tests) ? loader.tests : [loader.tests];
235
- return tests.some((test) => testBinary(data, byteOffset, loader, test));
278
+ return tests.some(test => testBinary(data, byteOffset, loader, test));
236
279
  }
237
280
  function testBinary(data, byteOffset, loader, test) {
238
281
  if (isArrayBufferLike(test)) {
@@ -1 +1 @@
1
- {"version":3,"file":"select-loader.js","sourceRoot":"","sources":["../../../src/lib/api/select-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"select-loader.js","sourceRoot":"","sources":["../../../src/lib/api/select-loader.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import type { Source } from '@loaders.gl/loader-utils';
1
+ import type { SourceLoader } from '@loaders.gl/loader-utils';
2
2
  /** Guess service type from URL */
3
- export declare function selectSource(url: string | Blob, sources: Source[], options?: {
3
+ export declare function selectSource(url: string | Blob, sources: SourceLoader[], options?: {
4
4
  /** Provide id of a source to select that source. Omit or provide 'auto' to test the source*/
5
5
  type?: string;
6
6
  nothrow?: boolean;
7
- }): Source | null;
7
+ }): SourceLoader | null;
8
8
  //# sourceMappingURL=select-source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"select-source.d.ts","sourceRoot":"","sources":["../../../src/lib/api/select-source.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAErD,kCAAkC;AAClC,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,CAAC,EAAE;IACR,6FAA6F;IAC7F,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GACA,MAAM,GAAG,IAAI,CAkBf"}
1
+ {"version":3,"file":"select-source.d.ts","sourceRoot":"","sources":["../../../src/lib/api/select-source.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAG3D,kCAAkC;AAClC,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,OAAO,EAAE,YAAY,EAAE,EACvB,OAAO,CAAC,EAAE;IACR,6FAA6F;IAC7F,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GACA,YAAY,GAAG,IAAI,CAcrB"}
@@ -1,16 +1,13 @@
1
1
  // loaders.gl
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
+ import { selectLoaderSync } from "./select-loader.js";
4
5
  /** Guess service type from URL */
5
6
  export function selectSource(url, sources, options) {
6
7
  const type = options?.type || 'auto';
7
8
  let selectedSource = null;
8
9
  if (type === 'auto') {
9
- for (const source of sources) {
10
- if (typeof url === 'string' && source.testURL && source.testURL(url)) {
11
- return source;
12
- }
13
- }
10
+ selectedSource = selectLoaderSync(url, sources, { core: { nothrow: true } });
14
11
  }
15
12
  else {
16
13
  selectedSource = getSourceOfType(type, sources);