@loaders.gl/core 4.5.3 → 5.0.0-alpha.10

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