@loaders.gl/core 4.0.0-alpha.21 → 4.0.0-alpha.23

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 (125) hide show
  1. package/dist/dist.min.js +15 -18
  2. package/dist/es5/index.js +4 -12
  3. package/dist/es5/index.js.map +1 -1
  4. package/dist/es5/iterators/make-stream/make-node-stream.js.map +1 -1
  5. package/dist/es5/lib/api/load-in-batches.js.map +1 -1
  6. package/dist/es5/lib/api/load.js.map +1 -1
  7. package/dist/es5/lib/api/parse-in-batches.js +11 -13
  8. package/dist/es5/lib/api/parse-in-batches.js.map +1 -1
  9. package/dist/es5/lib/api/parse-sync.js +2 -6
  10. package/dist/es5/lib/api/parse-sync.js.map +1 -1
  11. package/dist/es5/lib/api/parse.js +10 -12
  12. package/dist/es5/lib/api/parse.js.map +1 -1
  13. package/dist/es5/lib/api/save.js.map +1 -1
  14. package/dist/es5/lib/api/select-loader.js +5 -3
  15. package/dist/es5/lib/api/select-loader.js.map +1 -1
  16. package/dist/es5/lib/filesystems/browser-filesystem.js +2 -2
  17. package/dist/es5/lib/filesystems/browser-filesystem.js.map +1 -1
  18. package/dist/es5/lib/init.js +1 -1
  19. package/dist/es5/lib/init.js.map +1 -1
  20. package/dist/es5/lib/loader-utils/get-data.js.map +1 -1
  21. package/dist/es5/lib/loader-utils/loader-context.js +2 -2
  22. package/dist/es5/lib/loader-utils/loader-context.js.map +1 -1
  23. package/dist/es5/lib/loader-utils/loggers.js.map +1 -1
  24. package/dist/es5/lib/loader-utils/option-utils.js +3 -4
  25. package/dist/es5/lib/loader-utils/option-utils.js.map +1 -1
  26. package/dist/es5/lib/progress/fetch-progress.js +1 -1
  27. package/dist/es5/lib/progress/fetch-progress.js.map +1 -1
  28. package/dist/es5/null-loader.js +1 -1
  29. package/dist/es5/null-loader.js.map +1 -1
  30. package/dist/esm/index.js +2 -3
  31. package/dist/esm/index.js.map +1 -1
  32. package/dist/esm/iterators/make-stream/make-node-stream.js.map +1 -1
  33. package/dist/esm/lib/api/load-in-batches.js.map +1 -1
  34. package/dist/esm/lib/api/load.js.map +1 -1
  35. package/dist/esm/lib/api/parse-in-batches.js +3 -4
  36. package/dist/esm/lib/api/parse-in-batches.js.map +1 -1
  37. package/dist/esm/lib/api/parse-sync.js +2 -4
  38. package/dist/esm/lib/api/parse-sync.js.map +1 -1
  39. package/dist/esm/lib/api/parse.js +1 -2
  40. package/dist/esm/lib/api/parse.js.map +1 -1
  41. package/dist/esm/lib/api/save.js.map +1 -1
  42. package/dist/esm/lib/api/select-loader.js +5 -3
  43. package/dist/esm/lib/api/select-loader.js.map +1 -1
  44. package/dist/esm/lib/filesystems/browser-filesystem.js +1 -1
  45. package/dist/esm/lib/filesystems/browser-filesystem.js.map +1 -1
  46. package/dist/esm/lib/init.js +1 -1
  47. package/dist/esm/lib/init.js.map +1 -1
  48. package/dist/esm/lib/loader-utils/get-data.js.map +1 -1
  49. package/dist/esm/lib/loader-utils/loader-context.js +2 -2
  50. package/dist/esm/lib/loader-utils/loader-context.js.map +1 -1
  51. package/dist/esm/lib/loader-utils/loggers.js.map +1 -1
  52. package/dist/esm/lib/loader-utils/option-utils.js +2 -2
  53. package/dist/esm/lib/loader-utils/option-utils.js.map +1 -1
  54. package/dist/esm/lib/progress/fetch-progress.js +1 -1
  55. package/dist/esm/lib/progress/fetch-progress.js.map +1 -1
  56. package/dist/esm/null-loader.js +1 -1
  57. package/dist/esm/null-loader.js.map +1 -1
  58. package/dist/index.d.ts +3 -4
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +2 -5
  61. package/dist/iterators/make-stream/make-node-stream.d.ts.map +1 -1
  62. package/dist/iterators/make-stream/make-node-stream.js +5 -2
  63. package/dist/lib/api/load-in-batches.d.ts +2 -2
  64. package/dist/lib/api/load-in-batches.d.ts.map +1 -1
  65. package/dist/lib/api/load.d.ts +4 -2
  66. package/dist/lib/api/load.d.ts.map +1 -1
  67. package/dist/lib/api/parse-in-batches.d.ts +2 -2
  68. package/dist/lib/api/parse-in-batches.d.ts.map +1 -1
  69. package/dist/lib/api/parse-in-batches.js +1 -2
  70. package/dist/lib/api/parse-sync.d.ts +2 -2
  71. package/dist/lib/api/parse-sync.d.ts.map +1 -1
  72. package/dist/lib/api/parse-sync.js +2 -3
  73. package/dist/lib/api/parse.d.ts +4 -4
  74. package/dist/lib/api/parse.d.ts.map +1 -1
  75. package/dist/lib/api/parse.js +4 -2
  76. package/dist/lib/api/save.d.ts +2 -2
  77. package/dist/lib/api/save.d.ts.map +1 -1
  78. package/dist/lib/api/select-loader.d.ts.map +1 -1
  79. package/dist/lib/api/select-loader.js +8 -3
  80. package/dist/lib/filesystems/browser-filesystem.d.ts +4 -4
  81. package/dist/lib/filesystems/browser-filesystem.d.ts.map +1 -1
  82. package/dist/lib/filesystems/browser-filesystem.js +3 -2
  83. package/dist/lib/init.d.ts.map +1 -1
  84. package/dist/lib/init.js +1 -0
  85. package/dist/lib/loader-utils/get-data.d.ts.map +1 -1
  86. package/dist/lib/loader-utils/get-data.js +1 -0
  87. package/dist/lib/loader-utils/loader-context.d.ts +5 -2
  88. package/dist/lib/loader-utils/loader-context.d.ts.map +1 -1
  89. package/dist/lib/loader-utils/loader-context.js +3 -3
  90. package/dist/lib/loader-utils/loggers.d.ts +10 -8
  91. package/dist/lib/loader-utils/loggers.d.ts.map +1 -1
  92. package/dist/lib/loader-utils/option-utils.d.ts +1 -1
  93. package/dist/lib/loader-utils/option-utils.d.ts.map +1 -1
  94. package/dist/lib/loader-utils/option-utils.js +7 -5
  95. package/dist/lib/progress/fetch-progress.d.ts +1 -1
  96. package/dist/lib/progress/fetch-progress.d.ts.map +1 -1
  97. package/dist/lib/progress/fetch-progress.js +2 -1
  98. package/dist/null-worker-node.js +9 -4
  99. package/dist/null-worker.js +9 -4
  100. package/package.json +4 -4
  101. package/src/index.ts +4 -5
  102. package/src/iterators/make-stream/make-node-stream.ts +5 -2
  103. package/src/lib/api/load-in-batches.ts +4 -4
  104. package/src/lib/api/load.ts +22 -11
  105. package/src/lib/api/parse-in-batches.ts +7 -7
  106. package/src/lib/api/parse-sync.ts +6 -7
  107. package/src/lib/api/parse.ts +11 -7
  108. package/src/lib/api/save.ts +2 -2
  109. package/src/lib/api/select-loader.ts +24 -13
  110. package/src/lib/filesystems/browser-filesystem.ts +5 -5
  111. package/src/lib/init.ts +1 -0
  112. package/src/lib/loader-utils/get-data.ts +1 -0
  113. package/src/lib/loader-utils/loader-context.ts +8 -5
  114. package/src/lib/loader-utils/loggers.ts +10 -8
  115. package/src/lib/loader-utils/option-utils.ts +23 -14
  116. package/src/lib/progress/fetch-progress.ts +10 -2
  117. package/src/null-loader.ts +1 -1
  118. package/dist/es5/lib/filesystems/filesystem.js +0 -2
  119. package/dist/es5/lib/filesystems/filesystem.js.map +0 -1
  120. package/dist/esm/lib/filesystems/filesystem.js +0 -2
  121. package/dist/esm/lib/filesystems/filesystem.js.map +0 -1
  122. package/dist/lib/filesystems/filesystem.d.ts +0 -46
  123. package/dist/lib/filesystems/filesystem.d.ts.map +0 -1
  124. package/dist/lib/filesystems/filesystem.js +0 -2
  125. package/src/lib/filesystems/filesystem.ts +0 -49
@@ -1,4 +1,4 @@
1
1
  import type { Writer, WriterOptions } from '@loaders.gl/loader-utils';
2
- export declare function save(data: any, url: any, writer: Writer, options: WriterOptions): Promise<void>;
3
- export declare function saveSync(data: any, url: any, writer: any, options: any): void;
2
+ export declare function save(data: unknown, url: string, writer: Writer, options: WriterOptions): Promise<void>;
3
+ export declare function saveSync(data: unknown, url: string, writer: Writer, options: WriterOptions): void;
4
4
  //# sourceMappingURL=save.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../../src/lib/api/save.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAIpE,wBAAsB,IAAI,CAAC,IAAI,KAAA,EAAE,GAAG,KAAA,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,iBAG3E;AAED,wBAAgB,QAAQ,CAAC,IAAI,KAAA,EAAE,GAAG,KAAA,EAAE,MAAM,KAAA,EAAE,OAAO,KAAA,QAGlD"}
1
+ {"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../../src/lib/api/save.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAIpE,wBAAsB,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,iBAG5F;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,QAG1F"}
@@ -1 +1 @@
1
- {"version":3,"file":"select-loader.d.ts","sourceRoot":"","sources":["../../../src/lib/api/select-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAE,aAAa,EAAE,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAenF;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,WAAW,GAAG,MAAM,EAC5C,OAAO,GAAE,MAAM,EAAE,GAAG,MAAW,EAC/B,OAAO,CAAC,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAwBxB;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,WAAW,GAAG,MAAM,EAC5C,OAAO,GAAE,MAAM,EAAE,GAAG,MAAW,EAC/B,OAAO,CAAC,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,aAAa,GACtB,MAAM,GAAG,IAAI,CAmCf"}
1
+ {"version":3,"file":"select-loader.d.ts","sourceRoot":"","sources":["../../../src/lib/api/select-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAE,aAAa,EAAE,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAgBnF;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,WAAW,GAAG,MAAM,EAC5C,OAAO,GAAE,MAAM,EAAE,GAAG,MAAW,EAC/B,OAAO,CAAC,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAwBxB;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,WAAW,GAAG,MAAM,EAC5C,OAAO,GAAE,MAAM,EAAE,GAAG,MAAW,EAC/B,OAAO,CAAC,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,aAAa,GACtB,MAAM,GAAG,IAAI,CAmCf"}
@@ -103,11 +103,15 @@ function selectLoaderInternal(data, loaders, options, context) {
103
103
  loader = loader || findLoaderByMIMEType(loaders, type);
104
104
  reason = reason || (loader ? `matched MIME type ${type}` : '');
105
105
  // Look for loader via initial bytes (Note: not always accessible (e.g. Response, stream, async iterator)
106
+ // @ts-ignore Blob | Response
106
107
  loader = loader || findLoaderByInitialBytes(loaders, data);
108
+ // @ts-ignore Blob | Response
107
109
  reason = reason || (loader ? `matched initial data ${getFirstCharacters(data)}` : '');
108
110
  // Look up loader by fallback mime type
109
- loader = loader || findLoaderByMIMEType(loaders, options?.fallbackMimeType);
110
- reason = reason || (loader ? `matched fallback MIME type ${type}` : '');
111
+ if (options?.fallbackMimeType) {
112
+ loader = loader || findLoaderByMIMEType(loaders, options?.fallbackMimeType);
113
+ reason = reason || (loader ? `matched fallback MIME type ${type}` : '');
114
+ }
111
115
  if (reason) {
112
116
  log_1.log.log(1, `selectLoader selected ${loader?.name}: ${reason}.`);
113
117
  }
@@ -132,6 +136,7 @@ function getNoValidLoaderMessage(data) {
132
136
  message += url ? `${loader_utils_1.path.filename(url)}, ` : 'no url provided, ';
133
137
  message += `MIME type: ${type ? `"${type}"` : 'not provided'}, `;
134
138
  // First characters are only accessible when called on data (string or arrayBuffer).
139
+ // @ts-ignore Blob | Response
135
140
  const firstCharacters = data ? getFirstCharacters(data) : '';
136
141
  message += firstCharacters ? ` first bytes: "${firstCharacters}"` : 'first bytes: not available';
137
142
  message += ')';
@@ -217,7 +222,7 @@ function testBinary(data, byteOffset, loader, test) {
217
222
  }
218
223
  switch (typeof test) {
219
224
  case 'function':
220
- return test(data, loader);
225
+ return test(data);
221
226
  case 'string':
222
227
  // Magic bytes check: If `test` is a string, check if binary data starts with that strings
223
228
  const magic = getMagicString(data, byteOffset, test.length);
@@ -1,4 +1,4 @@
1
- import type { FileSystem } from './filesystem';
1
+ import type { FileSystem } from '@loaders.gl/loader-utils';
2
2
  type BrowserFileSystemOptions = {
3
3
  fetch?: typeof fetch;
4
4
  };
@@ -6,7 +6,7 @@ type BrowserFileSystemOptions = {
6
6
  * FileSystem adapter for a browser FileList.
7
7
  * Holds a list of browser 'File' objects.
8
8
  */
9
- export default class BrowserFileSystem implements FileSystem {
9
+ export declare class BrowserFileSystem implements FileSystem {
10
10
  private _fetch;
11
11
  private files;
12
12
  private lowerCaseFiles;
@@ -38,7 +38,7 @@ export default class BrowserFileSystem implements FileSystem {
38
38
  * Just removes the file from the list
39
39
  */
40
40
  unlink(path: string): Promise<void>;
41
- open(pathname: string, flags: any, mode?: any): Promise<any>;
41
+ open(pathname: string, flags: unknown, mode?: unknown): Promise<any>;
42
42
  /**
43
43
  * Read a range into a buffer
44
44
  * @todo - handle position memory
@@ -52,7 +52,7 @@ export default class BrowserFileSystem implements FileSystem {
52
52
  buffer: ArrayBuffer;
53
53
  }>;
54
54
  close(fd: number): Promise<void>;
55
- _getFile(path: any, used: any): File;
55
+ _getFile(path: string, used: boolean): File;
56
56
  }
57
57
  export {};
58
58
  //# sourceMappingURL=browser-filesystem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser-filesystem.d.ts","sourceRoot":"","sources":["../../../src/lib/filesystems/browser-filesystem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAE7C,KAAK,wBAAwB,GAAG;IAC9B,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAkB,YAAW,UAAU;IAC1D,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,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,KAAA,EAAE,IAAI,CAAC,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IAIxD;;;;;;;OAOG;IACG,IAAI,CACR,EAAE,EAAE,GAAG,EACP,MAAM,EAAE,WAAW,EACnB,MAAM,GAAE,MAAU,EAClB,MAAM,GAAE,MAA0B,EAClC,QAAQ,GAAE,MAAM,GAAG,IAAW,GAC7B,OAAO,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,WAAW,CAAA;KAAC,CAAC;IAQ9C,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAStC,QAAQ,CAAC,IAAI,KAAA,EAAE,IAAI,KAAA;CAQpB"}
1
+ {"version":3,"file":"browser-filesystem.d.ts","sourceRoot":"","sources":["../../../src/lib/filesystems/browser-filesystem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAEzD,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,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAI1E;;;;;;;OAOG;IACG,IAAI,CACR,EAAE,EAAE,GAAG,EACP,MAAM,EAAE,WAAW,EACnB,MAAM,GAAE,MAAU,EAClB,MAAM,GAAE,MAA0B,EAClC,QAAQ,GAAE,MAAM,GAAG,IAAW,GAC7B,OAAO,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,WAAW,CAAA;KAAC,CAAC;IAQ9C,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAStC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;CAQ5C"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BrowserFileSystem = void 0;
3
4
  /**
4
5
  * FileSystem adapter for a browser FileList.
5
6
  * Holds a list of browser 'File' objects.
@@ -115,7 +116,7 @@ class BrowserFileSystem {
115
116
  // PRIVATE
116
117
  // Supports case independent paths, and file usage tracking
117
118
  _getFile(path, used) {
118
- // Prefer case match, but fall back to case indepent.
119
+ // Prefer case match, but fall back to case independent.
119
120
  const file = this.files[path] || this.lowerCaseFiles[path];
120
121
  if (file && used) {
121
122
  this.usedFiles[path] = true;
@@ -123,4 +124,4 @@ class BrowserFileSystem {
123
124
  return file;
124
125
  }
125
126
  }
126
- exports.default = BrowserFileSystem;
127
+ exports.BrowserFileSystem = BrowserFileSystem;
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/lib/init.ts"],"names":[],"mappings":";AAgBA,wBAAkC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/lib/init.ts"],"names":[],"mappings":";AAiBA,wBAAkC"}
package/dist/lib/init.js CHANGED
@@ -7,6 +7,7 @@ const version = typeof __VERSION__ !== 'undefined' ? __VERSION__ : '';
7
7
  // @ts-ignore
8
8
  if (!globalThis.loaders) {
9
9
  log_1.log.log(1, `loaders.gl ${version}`)();
10
+ // @ts-ignore TS2339: Property 'loaders' does not exist on type 'Window & typeof globalThis'.
10
11
  globalThis.loaders = Object.assign(globalThis.loaders || {}, {
11
12
  VERSION: version,
12
13
  log: log_1.log
@@ -1 +1 @@
1
- {"version":3,"file":"get-data.d.ts","sourceRoot":"","sources":["../../../src/lib/loader-utils/get-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,MAAM,EACN,aAAa,EACd,MAAM,0BAA0B,CAAC;AAiBlC,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,aAAa,GACrB,WAAW,GAAG,MAAM,CAyCtB;AAGD,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,CA4B/B;AAED,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAyB7D;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,CAAC,CAWxF"}
1
+ {"version":3,"file":"get-data.d.ts","sourceRoot":"","sources":["../../../src/lib/loader-utils/get-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,MAAM,EACN,aAAa,EACd,MAAM,0BAA0B,CAAC;AAiBlC,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,aAAa,GACrB,WAAW,GAAG,MAAM,CAyCtB;AAGD,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,CA4B/B;AAED,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CA0B7D;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,CAAC,CAWxF"}
@@ -88,6 +88,7 @@ async function getAsyncIterableFromData(data, options) {
88
88
  return (0, make_iterator_1.makeIterator)(data, options);
89
89
  }
90
90
  if ((0, is_type_1.isAsyncIterable)(data)) {
91
+ // @ts-ignore
91
92
  return data[Symbol.asyncIterator]();
92
93
  }
93
94
  return getIterableFromData(data);
@@ -1,4 +1,6 @@
1
1
  import type { Loader, LoaderOptions, LoaderContext } from '@loaders.gl/loader-utils';
2
+ /** Properties for creating an updated context */
3
+ type LoaderContextProps = Omit<LoaderContext, 'fetch'> & Partial<Pick<LoaderContext, 'fetch'>>;
2
4
  /**
3
5
  * "sub" loaders invoked by other loaders get a "context" injected on `this`
4
6
  * The context will inject core methods like `parse` and contain information
@@ -8,6 +10,7 @@ import type { Loader, LoaderOptions, LoaderContext } from '@loaders.gl/loader-ut
8
10
  * @param options
9
11
  * @param previousContext
10
12
  */
11
- export declare function getLoaderContext(context: Omit<LoaderContext, 'fetch'> & Partial<Pick<LoaderContext, 'fetch'>>, options: LoaderOptions, parentContext: LoaderContext | null): LoaderContext;
12
- export declare function getLoadersFromContext(loaders: Loader[] | Loader | undefined, context?: LoaderContext): any;
13
+ export declare function getLoaderContext(context: LoaderContextProps, options: LoaderOptions, parentContext: LoaderContext | null): LoaderContext;
14
+ export declare function getLoadersFromContext(loaders: Loader[] | Loader | undefined, context?: LoaderContext): Loader | Loader[] | undefined;
15
+ export {};
13
16
  //# sourceMappingURL=loader-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader-context.d.ts","sourceRoot":"","sources":["../../../src/lib/loader-utils/loader-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAE,aAAa,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAKnF;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,EAC7E,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,aAAa,GAAG,IAAI,GAClC,aAAa,CA2Bf;AAGD,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,EACtC,OAAO,CAAC,EAAE,aAAa,OAkBxB"}
1
+ {"version":3,"file":"loader-context.d.ts","sourceRoot":"","sources":["../../../src/lib/loader-utils/loader-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAE,aAAa,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAKnF,iDAAiD;AACjD,KAAK,kBAAkB,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;AAE/F;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,aAAa,GAAG,IAAI,GAClC,aAAa,CA2Bf;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"}
@@ -40,8 +40,8 @@ function getLoaderContext(context, options, parentContext) {
40
40
  exports.getLoaderContext = getLoaderContext;
41
41
  // eslint-disable-next-line complexity
42
42
  function getLoadersFromContext(loaders, context) {
43
- // A single non-array loader is force selected, but only on top-level (context === null)
44
- if (!context && loaders && !Array.isArray(loaders)) {
43
+ // A single loader (non-array) indicates no selection desired. Force select.
44
+ if (loaders && !Array.isArray(loaders)) {
45
45
  return loaders;
46
46
  }
47
47
  // Create a merged list
@@ -54,6 +54,6 @@ function getLoadersFromContext(loaders, context) {
54
54
  candidateLoaders = candidateLoaders ? [...candidateLoaders, ...contextLoaders] : contextLoaders;
55
55
  }
56
56
  // If no loaders, return null to look in globally registered loaders
57
- return candidateLoaders && candidateLoaders.length ? candidateLoaders : null;
57
+ return candidateLoaders && candidateLoaders.length ? candidateLoaders : undefined;
58
58
  }
59
59
  exports.getLoadersFromContext = getLoadersFromContext;
@@ -1,17 +1,19 @@
1
1
  import { Log } from '@probe.gl/log';
2
2
  export declare const probeLog: Log;
3
+ type LogFunction = () => void;
3
4
  export declare class NullLog {
4
- log(): () => void;
5
- info(): () => void;
6
- warn(): () => void;
7
- error(): () => void;
5
+ log(): LogFunction;
6
+ info(): LogFunction;
7
+ warn(): LogFunction;
8
+ error(): LogFunction;
8
9
  }
9
10
  export declare class ConsoleLog {
10
11
  console: any;
11
12
  constructor();
12
- log(...args: any[]): any;
13
- info(...args: any[]): any;
14
- warn(...args: any[]): any;
15
- error(...args: any[]): any;
13
+ log(...args: unknown[]): LogFunction;
14
+ info(...args: unknown[]): LogFunction;
15
+ warn(...args: unknown[]): LogFunction;
16
+ error(...args: unknown[]): LogFunction;
16
17
  }
18
+ export {};
17
19
  //# sourceMappingURL=loggers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loggers.d.ts","sourceRoot":"","sources":["../../../src/lib/loader-utils/loggers.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAC,MAAM,eAAe,CAAC;AAElC,eAAO,MAAM,QAAQ,KAA8B,CAAC;AAGpD,qBAAa,OAAO;IAClB,GAAG;IAGH,IAAI;IAGJ,IAAI;IAGJ,KAAK;CAGN;AAGD,qBAAa,UAAU;IACrB,OAAO,MAAC;;IAKR,GAAG,CAAC,GAAG,IAAI,OAAA;IAGX,IAAI,CAAC,GAAG,IAAI,OAAA;IAGZ,IAAI,CAAC,GAAG,IAAI,OAAA;IAGZ,KAAK,CAAC,GAAG,IAAI,OAAA;CAGd"}
1
+ {"version":3,"file":"loggers.d.ts","sourceRoot":"","sources":["../../../src/lib/loader-utils/loggers.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAC,MAAM,eAAe,CAAC;AAElC,eAAO,MAAM,QAAQ,KAA8B,CAAC;AAEpD,KAAK,WAAW,GAAG,MAAM,IAAI,CAAC;AAG9B,qBAAa,OAAO;IAClB,GAAG,IAAI,WAAW;IAGlB,IAAI,IAAI,WAAW;IAGnB,IAAI,IAAI,WAAW;IAGnB,KAAK,IAAI,WAAW;CAGrB;AAGD,qBAAa,UAAU;IACrB,OAAO,MAAC;;IAKR,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,WAAW;IAGpC,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,WAAW;IAGrC,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,WAAW;IAGrC,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,WAAW;CAGvC"}
@@ -16,7 +16,7 @@ export declare function getGlobalLoaderState(): GlobalLoaderState;
16
16
  * NOTE: This use case is not reliable but can help when testing new versions of loaders.gl with existing frameworks
17
17
  * @returns global loader options merged with default loader options
18
18
  */
19
- export declare const getGlobalLoaderOptions: () => LoaderOptions;
19
+ export declare function getGlobalLoaderOptions(): LoaderOptions;
20
20
  /**
21
21
  * Set global loader options
22
22
  * @param options
@@ -1 +1 @@
1
- {"version":3,"file":"option-utils.d.ts","sourceRoot":"","sources":["../../../src/lib/loader-utils/option-utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,MAAM,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAKpE;;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,CASxD;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,QAAO,aAKzC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAI7D;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,aAAa,CAMf"}
1
+ {"version":3,"file":"option-utils.d.ts","sourceRoot":"","sources":["../../../src/lib/loader-utils/option-utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,MAAM,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAKpE;;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,CASxD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,aAAa,CAKtD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAK7D;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,aAAa,CAMf"}
@@ -24,12 +24,12 @@ exports.getGlobalLoaderState = getGlobalLoaderState;
24
24
  * NOTE: This use case is not reliable but can help when testing new versions of loaders.gl with existing frameworks
25
25
  * @returns global loader options merged with default loader options
26
26
  */
27
- const getGlobalLoaderOptions = () => {
27
+ function getGlobalLoaderOptions() {
28
28
  const state = getGlobalLoaderState();
29
29
  // Ensure all default loader options from this library are mentioned
30
30
  state.globalOptions = state.globalOptions || { ...option_defaults_1.DEFAULT_LOADER_OPTIONS };
31
31
  return state.globalOptions;
32
- };
32
+ }
33
33
  exports.getGlobalLoaderOptions = getGlobalLoaderOptions;
34
34
  /**
35
35
  * Set global loader options
@@ -37,7 +37,8 @@ exports.getGlobalLoaderOptions = getGlobalLoaderOptions;
37
37
  */
38
38
  function setGlobalOptions(options) {
39
39
  const state = getGlobalLoaderState();
40
- const globalOptions = (0, exports.getGlobalLoaderOptions)();
40
+ const globalOptions = getGlobalLoaderOptions();
41
+ // @ts-expect-error First param looks incorrect
41
42
  state.globalOptions = normalizeOptionsInternal(globalOptions, options);
42
43
  }
43
44
  exports.setGlobalOptions = setGlobalOptions;
@@ -66,11 +67,12 @@ function validateOptions(options, loaders) {
66
67
  validateOptionsObject(options, null, option_defaults_1.DEFAULT_LOADER_OPTIONS, option_defaults_1.REMOVED_LOADER_OPTIONS, loaders);
67
68
  for (const loader of loaders) {
68
69
  // Get the scoped, loader specific options from the user supplied options
69
- const idOptions = (options && options[loader.id]) || {};
70
+ const idOptions = ((options && options[loader.id]) || {});
70
71
  // Get scoped, loader specific default and deprecated options from the selected loader
71
72
  const loaderOptions = (loader.options && loader.options[loader.id]) || {};
72
73
  const deprecatedOptions = (loader.deprecatedOptions && loader.deprecatedOptions[loader.id]) || {};
73
74
  // Validate loader specific options
75
+ // @ts-ignore
74
76
  validateOptionsObject(idOptions, loader.id, loaderOptions, deprecatedOptions, loaders);
75
77
  }
76
78
  }
@@ -121,7 +123,7 @@ function normalizeOptionsInternal(loader, options, url) {
121
123
  if (mergedOptions.log === null) {
122
124
  mergedOptions.log = new loggers_1.NullLog();
123
125
  }
124
- mergeNestedFields(mergedOptions, (0, exports.getGlobalLoaderOptions)());
126
+ mergeNestedFields(mergedOptions, getGlobalLoaderOptions());
125
127
  mergeNestedFields(mergedOptions, options);
126
128
  return mergedOptions;
127
129
  }
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Intercepts the Response stream and creates a new Response
3
3
  */
4
- export default function fetchProgress(response: Response | Promise<Response>, onProgress: any, // TODO better callback types
4
+ export declare function fetchProgress(response: Response | Promise<Response>, onProgress: any, // TODO better callback types
5
5
  onDone?: () => void, onError?: () => void): Promise<Response>;
6
6
  //# sourceMappingURL=fetch-progress.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-progress.d.ts","sourceRoot":"","sources":["../../../src/lib/progress/fetch-progress.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAA8B,aAAa,CACzC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,EACtC,UAAU,EAAE,GAAG,EAAE,6BAA6B;AAC9C,MAAM,aAAW,EACjB,OAAO,aAAW,qBA+BnB"}
1
+ {"version":3,"file":"fetch-progress.d.ts","sourceRoot":"","sources":["../../../src/lib/progress/fetch-progress.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,EACtC,UAAU,EAAE,GAAG,EAAE,6BAA6B;AAC9C,MAAM,aAAW,EACjB,OAAO,aAAW,qBA+BnB"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  // Forked from github AnthumChris/fetch-progress-indicators under MIT license
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.fetchProgress = void 0;
4
5
  /**
5
6
  * Intercepts the Response stream and creates a new Response
6
7
  */
@@ -34,7 +35,7 @@ onDone = () => { }, onError = () => { }) {
34
35
  });
35
36
  return new Response(progressStream);
36
37
  }
37
- exports.default = fetchProgress;
38
+ exports.fetchProgress = fetchProgress;
38
39
  // Forward to original streams controller
39
40
  // TODO - this causes a crazy deep "async stack"... rewrite as async iterator?
40
41
  // eslint-disable-next-line max-params
@@ -143,7 +143,7 @@ function createLoaderWorker(loader) {
143
143
  arrayBuffer: input,
144
144
  options,
145
145
  context: __spreadProps(__spreadValues({}, context), {
146
- parse: parseOnMainThread
146
+ _parse: parseOnMainThread
147
147
  })
148
148
  });
149
149
  WorkerBody.postMessage("done", { result });
@@ -156,7 +156,7 @@ function createLoaderWorker(loader) {
156
156
  }
157
157
  };
158
158
  }
159
- function parseOnMainThread(arrayBuffer, options) {
159
+ function parseOnMainThread(arrayBuffer, loader, options, context) {
160
160
  return new Promise((resolve, reject) => {
161
161
  const id = requestId++;
162
162
  const onMessage = (type, payload2) => {
@@ -180,7 +180,12 @@ function parseOnMainThread(arrayBuffer, options) {
180
180
  WorkerBody.postMessage("process", payload);
181
181
  });
182
182
  }
183
- async function parseData({ loader, arrayBuffer, options, context }) {
183
+ async function parseData({
184
+ loader,
185
+ arrayBuffer,
186
+ options,
187
+ context
188
+ }) {
184
189
  let data;
185
190
  let parser;
186
191
  if (loader.parseSync || loader.parse) {
@@ -201,7 +206,7 @@ async function parseData({ loader, arrayBuffer, options, context }) {
201
206
  }
202
207
 
203
208
  // src/null-loader.ts
204
- var VERSION = true ? "4.0.0-alpha.21" : "latest";
209
+ var VERSION = true ? "4.0.0-alpha.23" : "latest";
205
210
  var NullLoader = {
206
211
  name: "Null loader",
207
212
  id: "null",
@@ -125,7 +125,7 @@
125
125
  options,
126
126
  context: {
127
127
  ...context,
128
- parse: parseOnMainThread
128
+ _parse: parseOnMainThread
129
129
  }
130
130
  });
131
131
  WorkerBody.postMessage("done", { result });
@@ -138,7 +138,7 @@
138
138
  }
139
139
  };
140
140
  }
141
- function parseOnMainThread(arrayBuffer, options) {
141
+ function parseOnMainThread(arrayBuffer, loader, options, context) {
142
142
  return new Promise((resolve, reject) => {
143
143
  const id = requestId++;
144
144
  const onMessage = (type, payload2) => {
@@ -162,7 +162,12 @@
162
162
  WorkerBody.postMessage("process", payload);
163
163
  });
164
164
  }
165
- async function parseData({ loader, arrayBuffer, options, context }) {
165
+ async function parseData({
166
+ loader,
167
+ arrayBuffer,
168
+ options,
169
+ context
170
+ }) {
166
171
  let data;
167
172
  let parser;
168
173
  if (loader.parseSync || loader.parse) {
@@ -184,7 +189,7 @@
184
189
  }
185
190
 
186
191
  // src/null-loader.ts
187
- var VERSION = true ? "4.0.0-alpha.21" : "latest";
192
+ var VERSION = true ? "4.0.0-alpha.23" : "latest";
188
193
  var NullLoader = {
189
194
  name: "Null loader",
190
195
  id: "null",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/core",
3
- "version": "4.0.0-alpha.21",
3
+ "version": "4.0.0-alpha.23",
4
4
  "description": "The core API for working with loaders.gl loaders and writers",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -47,9 +47,9 @@
47
47
  },
48
48
  "dependencies": {
49
49
  "@babel/runtime": "^7.3.1",
50
- "@loaders.gl/loader-utils": "4.0.0-alpha.21",
51
- "@loaders.gl/worker-utils": "4.0.0-alpha.21",
50
+ "@loaders.gl/loader-utils": "4.0.0-alpha.23",
51
+ "@loaders.gl/worker-utils": "4.0.0-alpha.23",
52
52
  "@probe.gl/log": "^4.0.2"
53
53
  },
54
- "gitHead": "df5d670b136192b26941396e944f9c46be788e83"
54
+ "gitHead": "e212f2a0c0e342f7cb65ce84fa2ff39f64b7d94b"
55
55
  }
package/src/index.ts CHANGED
@@ -11,8 +11,8 @@ export type {
11
11
  DataType,
12
12
  SyncDataType,
13
13
  BatchableDataType,
14
- IFileSystem,
15
- IRandomAccessReadFileSystem
14
+ FileSystem,
15
+ RandomAccessReadFileSystem
16
16
  } from '@loaders.gl/loader-utils';
17
17
 
18
18
  // FILE READING AND WRITING
@@ -53,9 +53,8 @@ export {NullWorkerLoader, NullLoader} from './null-loader';
53
53
  export {JSONLoader} from '@loaders.gl/loader-utils';
54
54
 
55
55
  // EXPERIMENTAL
56
- export {default as _fetchProgress} from './lib/progress/fetch-progress';
57
- export {default as _BrowserFileSystem} from './lib/filesystems/browser-filesystem';
58
- export {FileSystem} from './lib/filesystems/filesystem';
56
+ export {fetchProgress as _fetchProgress} from './lib/progress/fetch-progress';
57
+ export {BrowserFileSystem as _BrowserFileSystem} from './lib/filesystems/browser-filesystem';
59
58
 
60
59
  // FOR TESTING
61
60
  export {_unregisterLoaders} from './lib/api/register-loaders';
@@ -13,9 +13,12 @@ export function makeStream<ArrayBuffer>(
13
13
  source: Iterable<ArrayBuffer> | AsyncIterable<ArrayBuffer>,
14
14
  options?: ReadableOptions
15
15
  ): ReadableType {
16
+ // @ts-ignore AsyncGenerator
16
17
  const iterator = source[Symbol.asyncIterator]
17
- ? source[Symbol.asyncIterator]()
18
- : source[Symbol.iterator]();
18
+ ? // @ts-ignore AsyncGenerator
19
+ source[Symbol.asyncIterator]()
20
+ : // @ts-ignore AsyncGenerator
21
+ source[Symbol.iterator]();
19
22
  return new AsyncIterableReadable(iterator, options);
20
23
  }
21
24
 
@@ -39,21 +39,21 @@ export function loadInBatches(
39
39
  loaders?: LoaderWithParser | LoaderWithParser[] | LoaderOptions,
40
40
  options?: LoaderOptions,
41
41
  context?: LoaderContext
42
- ): Promise<AsyncIterable<any>>;
42
+ ): Promise<AsyncIterable<unknown>>;
43
43
 
44
44
  export function loadInBatches(
45
45
  files: FileType[] | FileList,
46
46
  loaders?: LoaderWithParser | LoaderWithParser[] | LoaderOptions,
47
47
  options?: LoaderOptions,
48
48
  context?: LoaderContext
49
- ): Promise<AsyncIterable<any>>;
49
+ ): Promise<AsyncIterable<unknown>>[];
50
50
 
51
51
  export function loadInBatches(
52
52
  files: FileType | FileType[] | FileList,
53
53
  loaders?: LoaderWithParser | LoaderWithParser[] | LoaderOptions,
54
54
  options?: LoaderOptions,
55
55
  context?: LoaderContext
56
- ) {
56
+ ): Promise<AsyncIterable<unknown>> | Promise<AsyncIterable<unknown>>[] {
57
57
  let loadersArray: LoaderWithParser | LoaderWithParser[] | undefined;
58
58
  // Signature: load(url, options)
59
59
  if (!Array.isArray(loaders) && !isLoaderObject(loaders)) {
@@ -86,7 +86,7 @@ async function loadOneFileInBatches(
86
86
  loaders: LoaderWithParser | LoaderWithParser[],
87
87
  options: LoaderOptions,
88
88
  fetch: FetchLike
89
- ) {
89
+ ): Promise<AsyncIterable<unknown>> {
90
90
  if (typeof file === 'string') {
91
91
  const url = file;
92
92
  const response = await fetch(url);
@@ -18,34 +18,45 @@ import {parse} from './parse';
18
18
  * @param context
19
19
  */
20
20
 
21
- export async function load<LoaderT extends Loader>(
21
+ export async function load<
22
+ LoaderT extends Loader,
23
+ OptionsT extends LoaderOptions = LoaderOptionsType<LoaderT>
24
+ >(
22
25
  url: string | DataType,
23
26
  loader: LoaderT,
24
- options?: LoaderOptionsType<LoaderT>,
27
+ options?: OptionsT,
25
28
  context?: LoaderContext
26
29
  ): Promise<LoaderReturnType<LoaderT>>;
27
30
 
28
- export async function load<LoaderOptionsT extends LoaderOptions = LoaderOptions>(
31
+ export async function load(
29
32
  url: string | DataType,
30
- loaders: Loader[] | LoaderOptions,
31
- options?: LoaderOptionsT,
33
+ loaders: Loader[],
34
+ options?: LoaderOptions,
32
35
  context?: LoaderContext
33
- ): Promise<any>;
36
+ ): Promise<unknown>;
37
+
38
+ export async function load(
39
+ url: string | DataType,
40
+ loaders?: LoaderOptions,
41
+ context?: LoaderContext
42
+ ): Promise<unknown>;
43
+
44
+ export async function load(url: string | DataType, loaders: LoaderOptions): Promise<any>;
34
45
 
35
46
  // implementation signature
36
- export async function load<LoaderOptionsT extends LoaderOptions = LoaderOptions>(
47
+ export async function load(
37
48
  url: string | DataType,
38
49
  loaders?: Loader[] | LoaderOptions,
39
- options?: LoaderOptionsT,
50
+ options?: LoaderOptions,
40
51
  context?: LoaderContext
41
- ): Promise<any> {
52
+ ): Promise<unknown> {
42
53
  let resolvedLoaders: Loader | Loader[];
43
- let resolvedOptions: LoaderOptionsT | undefined;
54
+ let resolvedOptions: LoaderOptions | undefined;
44
55
 
45
56
  // Signature: load(url, options)
46
57
  if (!Array.isArray(loaders) && !isLoaderObject(loaders)) {
47
58
  resolvedLoaders = [];
48
- resolvedOptions = loaders as LoaderOptionsT;
59
+ resolvedOptions = loaders as LoaderOptions;
49
60
  context = undefined; // context not supported in short signature
50
61
  } else {
51
62
  resolvedLoaders = loaders as Loader | Loader[];
@@ -4,7 +4,7 @@ import type {Batch} from '@loaders.gl/schema';
4
4
  import type {Loader, LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';
5
5
  import type {LoaderContext, BatchableDataType} from '@loaders.gl/loader-utils';
6
6
  import type {LoaderBatchType, LoaderOptionsType} from '@loaders.gl/loader-utils';
7
- import {assert, concatenateArrayBuffersAsync} from '@loaders.gl/loader-utils';
7
+ import {concatenateArrayBuffersAsync} from '@loaders.gl/loader-utils';
8
8
  import {isLoaderObject} from '../loader-utils/normalize-loader';
9
9
  import {normalizeOptions} from '../loader-utils/option-utils';
10
10
  import {getLoaderContext} from '../loader-utils/loader-context';
@@ -36,7 +36,7 @@ export async function parseInBatches(
36
36
  loaders: Loader[],
37
37
  options?: LoaderOptions,
38
38
  context?: LoaderContext
39
- ): Promise<AsyncIterable<any>>;
39
+ ): Promise<AsyncIterable<unknown>>;
40
40
 
41
41
  /**
42
42
  * Parses `data` in batches by selecting a pre-registered loader
@@ -44,7 +44,7 @@ export async function parseInBatches(
44
44
  export async function parseInBatches(
45
45
  data: BatchableDataType,
46
46
  options?: LoaderOptions
47
- ): Promise<AsyncIterable<any>>;
47
+ ): Promise<AsyncIterable<unknown>>;
48
48
 
49
49
  /**
50
50
  * Parses `data` using a specified loader
@@ -59,8 +59,6 @@ export async function parseInBatches(
59
59
  options?: LoaderOptions,
60
60
  context?: LoaderContext
61
61
  ): Promise<AsyncIterable<unknown>> {
62
- assert(!context || typeof context === 'object'); // parseInBatches no longer accepts final url
63
-
64
62
  const loaderArray = Array.isArray(loaders) ? loaders : undefined;
65
63
 
66
64
  // Signature: parseInBatches(data, options, url) - Uses registered loaders
@@ -88,7 +86,7 @@ export async function parseInBatches(
88
86
  // Normalize options
89
87
  options = normalizeOptions(options, loader, loaderArray, url);
90
88
  context = getLoaderContext(
91
- {url, parseInBatches, parse, loaders: loaderArray},
89
+ {url, _parseInBatches: parseInBatches, _parse: parse, loaders: loaderArray},
92
90
  options,
93
91
  context || null
94
92
  );
@@ -123,7 +121,9 @@ async function parseWithLoaderInBatches(
123
121
  bytesUsed: 0
124
122
  };
125
123
 
126
- async function* makeMetadataBatchIterator(iterator) {
124
+ async function* makeMetadataBatchIterator(
125
+ iterator: Iterable<unknown> | AsyncIterable<unknown>
126
+ ): AsyncIterable<unknown> {
127
127
  yield metadataBatch;
128
128
  yield* iterator;
129
129
  }