@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.
Files changed (76) hide show
  1. package/LICENSE +14 -3
  2. package/dist/dist.dev.js +1246 -227
  3. package/dist/dist.min.js +3 -3
  4. package/dist/index.cjs +2695 -270
  5. package/dist/index.cjs.map +3 -4
  6. package/dist/iterators/make-iterator/make-stream-iterator.js +49 -10
  7. package/dist/iterators/make-iterator/make-stream-iterator.js.map +1 -1
  8. package/dist/lib/api/create-data-source.d.ts +1 -1
  9. package/dist/lib/api/create-data-source.d.ts.map +1 -1
  10. package/dist/lib/api/create-data-source.js +23 -2
  11. package/dist/lib/api/create-data-source.js.map +1 -1
  12. package/dist/lib/api/load-in-batches.d.ts.map +1 -1
  13. package/dist/lib/api/load-in-batches.js +17 -6
  14. package/dist/lib/api/load-in-batches.js.map +1 -1
  15. package/dist/lib/api/load-loader.d.ts +2 -0
  16. package/dist/lib/api/load-loader.d.ts.map +1 -1
  17. package/dist/lib/api/load-loader.js +113 -7
  18. package/dist/lib/api/load-loader.js.map +1 -1
  19. package/dist/lib/api/load.d.ts +3 -3
  20. package/dist/lib/api/load.d.ts.map +1 -1
  21. package/dist/lib/api/load.js +36 -6
  22. package/dist/lib/api/load.js.map +1 -1
  23. package/dist/lib/api/parse-file.d.ts.map +1 -1
  24. package/dist/lib/api/parse-file.js +6 -2
  25. package/dist/lib/api/parse-file.js.map +1 -1
  26. package/dist/lib/api/parse-in-batches.d.ts.map +1 -1
  27. package/dist/lib/api/parse-in-batches.js +12 -3
  28. package/dist/lib/api/parse-in-batches.js.map +1 -1
  29. package/dist/lib/api/parse.d.ts.map +1 -1
  30. package/dist/lib/api/parse.js +11 -3
  31. package/dist/lib/api/parse.js.map +1 -1
  32. package/dist/lib/api/preload.d.ts +6 -3
  33. package/dist/lib/api/preload.d.ts.map +1 -1
  34. package/dist/lib/api/preload.js +4 -5
  35. package/dist/lib/api/preload.js.map +1 -1
  36. package/dist/lib/filesystems/browser-filesystem.d.ts.map +1 -1
  37. package/dist/lib/filesystems/browser-filesystem.js +25 -11
  38. package/dist/lib/filesystems/browser-filesystem.js.map +1 -1
  39. package/dist/lib/init.js +1 -1
  40. package/dist/lib/init.js.map +1 -1
  41. package/dist/lib/loader-utils/get-fetch-function.d.ts.map +1 -1
  42. package/dist/lib/loader-utils/get-fetch-function.js +16 -10
  43. package/dist/lib/loader-utils/get-fetch-function.js.map +1 -1
  44. package/dist/lib/loader-utils/loader-context.d.ts +1 -1
  45. package/dist/lib/loader-utils/loader-context.d.ts.map +1 -1
  46. package/dist/lib/loader-utils/loader-context.js +8 -3
  47. package/dist/lib/loader-utils/loader-context.js.map +1 -1
  48. package/dist/lib/loader-utils/option-defaults.d.ts.map +1 -1
  49. package/dist/lib/loader-utils/option-defaults.js +3 -0
  50. package/dist/lib/loader-utils/option-defaults.js.map +1 -1
  51. package/dist/lib/loader-utils/option-utils.d.ts +7 -0
  52. package/dist/lib/loader-utils/option-utils.d.ts.map +1 -1
  53. package/dist/lib/loader-utils/option-utils.js +41 -1
  54. package/dist/lib/loader-utils/option-utils.js.map +1 -1
  55. package/dist/lib/utils/response-utils.js +2 -11
  56. package/dist/lib/utils/response-utils.js.map +1 -1
  57. package/dist/null-loader.js +1 -1
  58. package/dist/null-loader.js.map +1 -1
  59. package/dist/null-worker-node.js +130 -58
  60. package/dist/null-worker.js +130 -58
  61. package/package.json +6 -6
  62. package/src/iterators/make-iterator/make-stream-iterator.ts +48 -10
  63. package/src/lib/api/create-data-source.ts +31 -2
  64. package/src/lib/api/load-in-batches.ts +18 -11
  65. package/src/lib/api/load-loader.ts +157 -14
  66. package/src/lib/api/load.ts +87 -9
  67. package/src/lib/api/parse-file.ts +15 -2
  68. package/src/lib/api/parse-in-batches.ts +22 -3
  69. package/src/lib/api/parse.ts +18 -3
  70. package/src/lib/api/preload.ts +22 -7
  71. package/src/lib/filesystems/browser-filesystem.ts +25 -11
  72. package/src/lib/loader-utils/get-fetch-function.ts +15 -14
  73. package/src/lib/loader-utils/loader-context.ts +8 -3
  74. package/src/lib/loader-utils/option-defaults.ts +3 -0
  75. package/src/lib/loader-utils/option-utils.ts +47 -1
  76. 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,EAAC,cAAc,EAAE,YAAY,EAAC,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAC,qBAAqB,EAAC,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAC,cAAc,EAAC,4CAAyC;AAChE,OAAO,EAAC,gBAAgB,EAAC,wCAAqC;AAC9D,OAAO,EAAC,gBAAgB,EAAE,qBAAqB,EAAC,0CAAuC;AACvF,OAAO,EAAC,uBAAuB,EAAC,yBAAsB;AACtD,OAAO,EAAC,KAAK,EAAC,mBAAgB;AAC9B,OAAO,EAAC,YAAY,EAAC,2BAAwB;AAqC7C;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,IAAkB,EAClB,OAA2C,EAC3C,OAAuB,EACvB,OAAuB;IAEvB,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QACnE,OAAO,GAAG,SAAS,CAAC;QACpB,OAAO,GAAG,OAAwB,CAAC;QACnC,OAAO,GAAG,SAAS,CAAC;IACtB,CAAC;IAED,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IACxB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;IAC3B,MAAM,YAAY,GAAG,OAAwC,CAAC;IAC9D,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAClE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,CAAC,EAAE,0FAA0F,CACvG,CAAC;IACJ,CAAC;IAED,kEAAkE;IAClE,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAC;IAC/E,OAAO,GAAG,gBAAgB;IACxB,kEAAkE;IAClE,EAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAC,EAC/C,aAAa,EACb,OAAO,IAAI,IAAI,CAChB,CAAC;IAEF,OAAO,MAAM,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,mBAAmB,CAChC,MAAc,EACd,IAAkB,EAClB,OAA4B,EAC5B,OAAsB;IAEtB,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9B,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAEhD,MAAM,gBAAgB,GAAG,MAAM,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACrF,IAAI,gBAAgB,CAAC,SAAS,EAAE,CAAC;QAC/B,OAAO,MAAM,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,aAAa,GAAI,gBAAwD,CAAC,KAAK,CAAC;IACtF,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACpE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,CAAC,EAAE,yDAAyD,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACzC,OAAO,MAAM,KAAK,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,CAAC,EAAE,gCAAgC,CAAC,CAAC;AAChE,CAAC"}
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":"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"}
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 { concatenateArrayBuffersAsync } from '@loaders.gl/loader-utils';
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 strictOptions = normalizeOptions(options, loader, loaderArray, url);
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
- // If loader supports parseInBatches, we are done
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":"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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 +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,sBAAsB,EACtB,QAAQ,EAER,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EAEtB,MAAM,0BAA0B,CAAC;AAoBlC;;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
+ {"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"}
@@ -1,7 +1,8 @@
1
1
  // loaders.gl
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
- import { parseWithWorker, canParseWithWorker, mergeOptions, isResponse, isSourceLoader } from '@loaders.gl/loader-utils';
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 strictOptions = normalizeOptions(options, loader, candidateLoaders, url); // Could be invalid...
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 (canParseWithWorker(loaderWithParser, options)) {
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":"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"}
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
- * 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`.
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;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"}
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"}
@@ -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 await getLoaderImplementation(loader, options, url);
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,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"}
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;IAkCnE;;;;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;IASnC,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"}
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.files[path];
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=($1)-($2)/.exec(range);
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.files[path];
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
- delete this.files[path];
91
- delete this.lowerCaseFiles[path];
92
- this.usedFiles[path] = true;
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.files[pathname]);
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":"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"}
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.1" !== 'undefined' ? "5.0.0-alpha.1" : '';
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}`)();
@@ -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,sBAAkB,KAAK,WAAW,CAAC,CAAC,iBAAa,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
+ {"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,CAuBX"}
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
- return fetchOption;
19
+ fetchFunction = fetchOption;
19
20
  }
20
- // options.fetch can be an options object
21
- if (isObject(fetchOption)) {
22
- return url => fetchFile(url, fetchOption);
21
+ else if (isObject(fetchOption)) {
22
+ fetchFunction = context?.fetch || fetchFile;
23
23
  }
24
- // else refer to context (from parent loader) if available
25
- if (context?.fetch) {
26
- return context?.fetch;
24
+ else if (context?.fetch) {
25
+ fetchFunction = context.fetch;
27
26
  }
28
- // else return the default fetch function
29
- return fetchFile;
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;AAClD,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;IAErE,kCAAkC;IAClC,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE,CAAC;QACtC,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,yCAAyC;IACzC,IAAI,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1B,OAAO,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,WAA0B,CAAC,CAAC;IAC3D,CAAC;IAED,0DAA0D;IAC1D,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,OAAO,OAAO,EAAE,KAAK,CAAC;IACxB,CAAC;IAED,yCAAyC;IACzC,OAAO,SAAS,CAAC;AACnB,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 previousContext
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,CA4Bf;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"}
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 previousContext
15
+ * @param parentContext
16
16
  */
17
17
  export function getLoaderContext(context, options, parentContext) {
18
- // For recursive calls, we already have a context
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 parentContext;
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,iDAAiD;IACjD,gDAAgD;IAChD,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,aAAa,CAAC;IACvB,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
+ {"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,aA4BpC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8ClC,CAAC"}
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;QAExB,GAAG,EAAE,+BAA+B;QACpC,MAAM,EAAE,IAAI,EAAE,gDAAgD;QAC9D,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
+ {"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;AA+BlC;;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,CAMrB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,GAAG,mBAAmB,CAYlF"}
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
- return normalizeLoaderOptions(normalizeOptionsInternal(loader, options, url));
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';