@loaders.gl/loader-utils 4.2.0-alpha.5 → 4.2.0-beta.1

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 (38) hide show
  1. package/dist/index.cjs +79 -15
  2. package/dist/index.cjs.map +4 -4
  3. package/dist/index.d.ts +3 -0
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +4 -0
  6. package/dist/json-loader.d.ts +18 -2
  7. package/dist/json-loader.d.ts.map +1 -1
  8. package/dist/json-loader.js +3 -1
  9. package/dist/lib/file-provider/data-view-file.js +2 -0
  10. package/dist/lib/file-provider/file-handle-file.js +2 -0
  11. package/dist/lib/files/blob-file.js +4 -0
  12. package/dist/lib/files/http-file.js +4 -2
  13. package/dist/lib/files/node-file-facade.js +4 -3
  14. package/dist/lib/filesystems/node-filesystem-facade.js +4 -4
  15. package/dist/lib/log-utils/log.d.ts +4 -0
  16. package/dist/lib/log-utils/log.d.ts.map +1 -0
  17. package/dist/lib/log-utils/log.js +6 -0
  18. package/dist/lib/module-utils/js-module-utils.d.ts +18 -0
  19. package/dist/lib/module-utils/js-module-utils.d.ts.map +1 -0
  20. package/dist/lib/module-utils/js-module-utils.js +39 -0
  21. package/dist/lib/request-utils/request-scheduler.js +7 -5
  22. package/dist/lib/sources/data-source.js +6 -1
  23. package/dist/lib/sources/image-source.js +2 -2
  24. package/dist/lib/sources/tile-source-adapter.d.ts +1 -1
  25. package/dist/lib/sources/tile-source-adapter.d.ts.map +1 -1
  26. package/dist/lib/sources/tile-source-adapter.js +1 -0
  27. package/dist/loader-types.d.ts +6 -4
  28. package/dist/loader-types.d.ts.map +1 -1
  29. package/dist/writer-types.d.ts +2 -0
  30. package/dist/writer-types.d.ts.map +1 -1
  31. package/package.json +7 -7
  32. package/src/index.ts +5 -0
  33. package/src/json-loader.ts +4 -2
  34. package/src/lib/log-utils/log.ts +8 -0
  35. package/src/lib/module-utils/js-module-utils.ts +44 -0
  36. package/src/lib/sources/tile-source-adapter.ts +1 -1
  37. package/src/loader-types.ts +9 -4
  38. package/src/writer-types.ts +6 -0
@@ -12,10 +12,6 @@ const NOT_IMPLEMENTED = new Error('Not implemented');
12
12
  export class NodeFileSystemFacade {
13
13
  // implements FileSystem
14
14
  constructor(options) {
15
- // DUMMY IMPLEMENTATION, not used (constructor returns a real NodeFileSystem instance)
16
- // implements RandomAccessReadFileSystem
17
- this.readable = true;
18
- this.writable = true;
19
15
  if (globalThis.loaders?.NodeFileSystem) {
20
16
  return new globalThis.loaders.NodeFileSystem(options);
21
17
  }
@@ -24,6 +20,10 @@ export class NodeFileSystemFacade {
24
20
  }
25
21
  throw new Error('Can\'t instantiate NodeFileSystem. Make sure to import @loaders.gl/polyfills first.');
26
22
  }
23
+ // DUMMY IMPLEMENTATION, not used (constructor returns a real NodeFileSystem instance)
24
+ // implements RandomAccessReadFileSystem
25
+ readable = true;
26
+ writable = true;
27
27
  async openReadableFile(path, flags) {
28
28
  throw NOT_IMPLEMENTED;
29
29
  }
@@ -0,0 +1,4 @@
1
+ import { Log } from '@probe.gl/log';
2
+ /** Global log instance */
3
+ export declare const log: Log;
4
+ //# sourceMappingURL=log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../src/lib/log-utils/log.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,GAAG,EAAC,MAAM,eAAe,CAAC;AAElC,0BAA0B;AAC1B,eAAO,MAAM,GAAG,EAAE,GAAiC,CAAC"}
@@ -0,0 +1,6 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ import { Log } from '@probe.gl/log';
5
+ /** Global log instance */
6
+ export const log = new Log({ id: 'loaders.gl' });
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Register application-imported modules
3
+ * These modules are typically to big to bundle, or may have issues on some bundlers/environments
4
+ */
5
+ export declare function registerJSModules(modules?: Record<string, any>): void;
6
+ /**
7
+ * Get a pre-registered application-imported module, warn if not present
8
+ */
9
+ export declare function checkJSModule(name: string, caller: string): void;
10
+ /**
11
+ * Get a pre-registered application-imported module, throw if not present
12
+ */
13
+ export declare function getJSModule<ModuleT = any>(name: string, caller: string): ModuleT;
14
+ /**
15
+ * Get a pre-registered application-imported module, return null if not present
16
+ */
17
+ export declare function getJSModuleOrNull<ModuleT = any>(name: string): ModuleT | null;
18
+ //# sourceMappingURL=js-module-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js-module-utils.d.ts","sourceRoot":"","sources":["../../../src/lib/module-utils/js-module-utils.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAIrE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAKhE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAMhF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAG7E"}
@@ -0,0 +1,39 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ import { log } from "../log-utils/log.js";
5
+ /**
6
+ * Register application-imported modules
7
+ * These modules are typically to big to bundle, or may have issues on some bundlers/environments
8
+ */
9
+ export function registerJSModules(modules) {
10
+ globalThis.loaders ||= {};
11
+ globalThis.loaders.modules ||= {};
12
+ Object.assign(globalThis.loaders.modules, modules);
13
+ }
14
+ /**
15
+ * Get a pre-registered application-imported module, warn if not present
16
+ */
17
+ export function checkJSModule(name, caller) {
18
+ const module = globalThis.loaders?.modules?.[name];
19
+ if (!module) {
20
+ log.warn(`${caller}: ${name} library not installed`)();
21
+ }
22
+ }
23
+ /**
24
+ * Get a pre-registered application-imported module, throw if not present
25
+ */
26
+ export function getJSModule(name, caller) {
27
+ const module = globalThis.loaders?.modules?.[name];
28
+ if (!module) {
29
+ throw new Error(`${caller}: ${name} library not installed`);
30
+ }
31
+ return module;
32
+ }
33
+ /**
34
+ * Get a pre-registered application-imported module, return null if not present
35
+ */
36
+ export function getJSModuleOrNull(name) {
37
+ const module = globalThis.loaders?.modules?.[name];
38
+ return module || null;
39
+ }
@@ -21,12 +21,14 @@ const DEFAULT_PROPS = {
21
21
  * @todo - Track requests globally, across multiple servers
22
22
  */
23
23
  export default class RequestScheduler {
24
+ props;
25
+ stats;
26
+ activeRequestCount = 0;
27
+ /** Tracks the number of active requests and prioritizes/cancels queued requests. */
28
+ requestQueue = [];
29
+ requestMap = new Map();
30
+ updateTimer = null;
24
31
  constructor(props = {}) {
25
- this.activeRequestCount = 0;
26
- /** Tracks the number of active requests and prioritizes/cancels queued requests. */
27
- this.requestQueue = [];
28
- this.requestMap = new Map();
29
- this.updateTimer = null;
30
32
  this.props = { ...DEFAULT_PROPS, ...props };
31
33
  // Returns the statistics used by the request scheduler.
32
34
  this.stats = new Stats({ id: this.props.id });
@@ -3,8 +3,13 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
  /** base class of all data sources */
5
5
  export class DataSource {
6
+ /** A resolved fetch function extracted from loadOptions prop */
7
+ fetch;
8
+ /** The actual load options, if calling a loaders.gl loader */
9
+ loadOptions;
10
+ _needsRefresh = true;
11
+ props;
6
12
  constructor(props) {
7
- this._needsRefresh = true;
8
13
  this.props = { ...props };
9
14
  this.loadOptions = { ...props.loadOptions };
10
15
  this.fetch = getFetchFunction(this.loadOptions);
@@ -8,6 +8,6 @@ import { DataSource } from "./data-source.js";
8
8
  * - If geospatial, bounding box is expected to be in web mercator coordinates
9
9
  */
10
10
  export class ImageSource extends DataSource {
11
+ static type = 'template';
12
+ static testURL = (url) => false;
11
13
  }
12
- ImageSource.type = 'template';
13
- ImageSource.testURL = (url) => false;
@@ -5,7 +5,7 @@ import { ImageSource, ImageSourceMetadata } from "./image-source.js";
5
5
  * @note
6
6
  * - If geospatial, bounding box is expected to be in web mercator coordinates
7
7
  */
8
- export declare class TileSourceAdapter<MetadataT> implements TileSource<ImageSourceMetadata> {
8
+ export declare class TileSourceAdapter implements TileSource<ImageSourceMetadata> {
9
9
  readonly viewportSource: ImageSource;
10
10
  constructor(source: ImageSource);
11
11
  getMetadata(): Promise<ImageSourceMetadata>;
@@ -1 +1 @@
1
- {"version":3,"file":"tile-source-adapter.d.ts","sourceRoot":"","sources":["../../../src/lib/sources/tile-source-adapter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,UAAU,EAAE,iBAAiB,EAAC,yBAAsB;AAC5D,OAAO,EAAC,WAAW,EAAE,mBAAmB,EAAC,0BAAuB;AAEhE;;;;GAIG;AACH,qBAAa,iBAAiB,CAAC,SAAS,CAAE,YAAW,UAAU,CAAC,mBAAmB,CAAC;IAClF,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC;gBACzB,MAAM,EAAE,WAAW;IAGzB,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAGjD,sBAAsB;IACtB,OAAO,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAOxD,+BAA+B;IAK/B,gEAAgE;IAChE,SAAS,CAAC,kBAAkB,CAC1B,UAAU,EAAE,iBAAiB,GAC5B,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAc7D,sBAAsB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;CAO7E"}
1
+ {"version":3,"file":"tile-source-adapter.d.ts","sourceRoot":"","sources":["../../../src/lib/sources/tile-source-adapter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,UAAU,EAAE,iBAAiB,EAAC,yBAAsB;AAC5D,OAAO,EAAC,WAAW,EAAE,mBAAmB,EAAC,0BAAuB;AAEhE;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,UAAU,CAAC,mBAAmB,CAAC;IACvE,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC;gBACzB,MAAM,EAAE,WAAW;IAGzB,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAGjD,sBAAsB;IACtB,OAAO,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAOxD,+BAA+B;IAK/B,gEAAgE;IAChE,SAAS,CAAC,kBAAkB,CAC1B,UAAU,EAAE,iBAAiB,GAC5B,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAc7D,sBAAsB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;CAO7E"}
@@ -6,6 +6,7 @@
6
6
  * - If geospatial, bounding box is expected to be in web mercator coordinates
7
7
  */
8
8
  export class TileSourceAdapter {
9
+ viewportSource;
9
10
  constructor(source) {
10
11
  this.viewportSource = source;
11
12
  }
@@ -16,8 +16,6 @@ export type LoaderOptions = {
16
16
  ignoreRegisteredLoaders?: boolean;
17
17
  /** Experimental: Supply a logger to the parser */
18
18
  log?: any;
19
- /** Force to load WASM libraries from local file system in NodeJS or from loaders.gl CDN in a web browser */
20
- useLocalLibraries?: boolean;
21
19
  /** Size of each batch. `auto` matches batches to size of incoming chunks */
22
20
  batchSize?: number | 'auto';
23
21
  /** Minimal amount of time between batches */
@@ -30,6 +28,10 @@ export type LoaderOptions = {
30
28
  metadata?: boolean;
31
29
  /** Transforms to run on incoming batches */
32
30
  transforms?: TransformBatches[];
31
+ /** Any additional JS libraries */
32
+ modules?: Record<string, any>;
33
+ /** Force to load WASM libraries from local file system in NodeJS or from loaders.gl CDN in a web browser */
34
+ useLocalLibraries?: boolean;
33
35
  /** CDN load workers from */
34
36
  CDN?: string | null;
35
37
  /** Set to `false` to disable workers */
@@ -86,9 +88,9 @@ type PreloadOptions = {
86
88
  */
87
89
  export type Loader<DataT = any, BatchT = any, LoaderOptionsT = LoaderOptions> = {
88
90
  /** The result type of this loader */
89
- dataType?: DataT;
91
+ dataType: DataT;
90
92
  /** The batched result type of this loader */
91
- batchType?: BatchT;
93
+ batchType: BatchT;
92
94
  /** Default Options */
93
95
  options: LoaderOptionsT;
94
96
  /** Deprecated Options */
@@ -1 +1 @@
1
- {"version":3,"file":"loader-types.d.ts","sourceRoot":"","sources":["../src/loader-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader-types.d.ts","sourceRoot":"","sources":["../src/loader-types.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@
2
2
  export type WriterOptions = {
3
3
  /** worker source. If is set will be used instead of loading worker from the Internet */
4
4
  source?: string | null;
5
+ /** Any additional JS libraries */
6
+ modules?: Record<string, any>;
5
7
  /** Force to load WASM libraries from local file system in NodeJS or from loaders.gl CDN in a web browser */
6
8
  useLocalLibraries?: boolean;
7
9
  /** writer-specific options */
@@ -1 +1 @@
1
- {"version":3,"file":"writer-types.d.ts","sourceRoot":"","sources":["../src/writer-types.ts"],"names":[],"mappings":"AAMA,0BAA0B;AAC1B,MAAM,MAAM,aAAa,GAAG;IAC1B,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,4GAA4G;IAC5G,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,8BAA8B;IAC9B,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC;CACzB,CAAC;AAEF;;GAEG;AAEH,MAAM,MAAM,MAAM,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,cAAc,GAAG,aAAa,IAAI;IACtF,sCAAsC;IACtC,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,EAAE,EAAE,MAAM,CAAC;IACX,sFAAsF;IACtF,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAG1B,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,uHAAuH;IACvH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAErB,yCAAyC;IACzC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,sCAAsC;IACtC,OAAO,EAAE,cAAc,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAC3B,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,OAAO,EAChB,cAAc,GAAG,aAAa,IAC5B,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,GAAG;IAC1C,wCAAwC;IACxC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACpE,sCAAsC;IACtC,UAAU,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,WAAW,CAAC;IAChE,kCAAkC;IAClC,eAAe,CAAC,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAEjG,wDAAwD;IACxD,UAAU,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACrE,uDAAuD;IACvD,cAAc,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC;IAChE,mDAAmD;IACnD,mBAAmB,CAAC,CAClB,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,EACxB,OAAO,CAAC,EAAE,cAAc,GACvB,aAAa,CAAC,WAAW,CAAC,CAAC;IAE9B,cAAc,CAAC,EAAE,CACf,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,cAAc,KACrB,OAAO,CAAC,MAAM,CAAC,CAAC;CACtB,CAAC;AAEF,sFAAsF;AACtF,MAAM,MAAM,iBAAiB,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,GACzF,OAAO,GACP,KAAK,CAAC"}
1
+ {"version":3,"file":"writer-types.d.ts","sourceRoot":"","sources":["../src/writer-types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/loader-utils",
3
- "version": "4.2.0-alpha.5",
3
+ "version": "4.2.0-beta.1",
4
4
  "description": "Framework-independent loaders for 3D graphics formats",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -35,22 +35,22 @@
35
35
  "README.md"
36
36
  ],
37
37
  "browser": {
38
- "./src/lib/node/buffer.ts": "./src/lib/node/buffer.browser.ts",
39
38
  "./dist/lib/node/buffer.js": "./dist/lib/node/buffer.browser.js",
40
- "./src/lib/node/fs.ts": "./src/lib/node/fs.browser.ts",
41
39
  "./dist/lib/node/fs.js": "./dist/lib/node/fs.browser.js",
42
- "./src/lib/node/stream.ts": "./src/lib/node/stream.browser.ts",
43
40
  "./dist/lib/node/stream.js": "./dist/lib/node/stream.browser.js",
41
+ "./src/lib/node/buffer.ts": "./src/lib/node/buffer.browser.ts",
42
+ "./src/lib/node/fs.ts": "./src/lib/node/fs.browser.ts",
43
+ "./src/lib/node/stream.ts": "./src/lib/node/stream.browser.ts",
44
44
  "fs": false,
45
45
  "stream": false
46
46
  },
47
- "scripts": {},
48
47
  "dependencies": {
49
- "@loaders.gl/worker-utils": "4.2.0-alpha.5",
48
+ "@loaders.gl/schema": "4.2.0-beta.1",
49
+ "@loaders.gl/worker-utils": "4.2.0-beta.1",
50
50
  "@probe.gl/stats": "^4.0.2"
51
51
  },
52
52
  "peerDependencies": {
53
53
  "@loaders.gl/core": "^4.0.0"
54
54
  },
55
- "gitHead": "32d95a81971f104e4dfeb88ab57065f05321a76a"
55
+ "gitHead": "c386a9196516fe3ff24847b40e6c77be039cf905"
56
56
  }
package/src/index.ts CHANGED
@@ -50,7 +50,12 @@ export {
50
50
  document
51
51
  } from './lib/env-utils/globals';
52
52
 
53
+ export {log} from './lib/log-utils/log';
54
+
55
+ // Options and modules
53
56
  export {mergeLoaderOptions} from './lib/option-utils/merge-loader-options';
57
+ export {registerJSModules} from './lib/module-utils/js-module-utils';
58
+ export {checkJSModule, getJSModule, getJSModuleOrNull} from './lib/module-utils/js-module-utils';
54
59
 
55
60
  // LOADERS.GL-SPECIFIC WORKER UTILS
56
61
  export {createLoaderWorker} from './lib/worker-loader-utils/create-loader-worker';
@@ -11,7 +11,9 @@ export type JSONLoaderOptions = LoaderOptions;
11
11
  * A JSON Micro loader (minimal bundle size)
12
12
  * Alternative to `@loaders.gl/json`
13
13
  */
14
- export const JSONLoader: LoaderWithParser<Table, TableBatch, JSONLoaderOptions> = {
14
+ export const JSONLoader = {
15
+ dataType: null as unknown as Table,
16
+ batchType: null as unknown as TableBatch,
15
17
  name: 'JSON',
16
18
  id: 'json',
17
19
  module: 'json',
@@ -23,7 +25,7 @@ export const JSONLoader: LoaderWithParser<Table, TableBatch, JSONLoaderOptions>
23
25
  parseTextSync,
24
26
  parse: async (arrayBuffer) => parseTextSync(new TextDecoder().decode(arrayBuffer)),
25
27
  options: {}
26
- };
28
+ } as const satisfies LoaderWithParser<Table, TableBatch, JSONLoaderOptions>;
27
29
 
28
30
  // TODO - Better error handling!
29
31
  function parseTextSync(text) {
@@ -0,0 +1,8 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
5
+ import {Log} from '@probe.gl/log';
6
+
7
+ /** Global log instance */
8
+ export const log: Log = new Log({id: 'loaders.gl'});
@@ -0,0 +1,44 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
5
+ import {log} from '../log-utils/log';
6
+
7
+ /**
8
+ * Register application-imported modules
9
+ * These modules are typically to big to bundle, or may have issues on some bundlers/environments
10
+ */
11
+ export function registerJSModules(modules?: Record<string, any>): void {
12
+ globalThis.loaders ||= {};
13
+ globalThis.loaders.modules ||= {};
14
+ Object.assign(globalThis.loaders.modules, modules);
15
+ }
16
+
17
+ /**
18
+ * Get a pre-registered application-imported module, warn if not present
19
+ */
20
+ export function checkJSModule(name: string, caller: string): void {
21
+ const module = globalThis.loaders?.modules?.[name];
22
+ if (!module) {
23
+ log.warn(`${caller}: ${name} library not installed`)();
24
+ }
25
+ }
26
+
27
+ /**
28
+ * Get a pre-registered application-imported module, throw if not present
29
+ */
30
+ export function getJSModule<ModuleT = any>(name: string, caller: string): ModuleT {
31
+ const module = globalThis.loaders?.modules?.[name];
32
+ if (!module) {
33
+ throw new Error(`${caller}: ${name} library not installed`);
34
+ }
35
+ return module;
36
+ }
37
+
38
+ /**
39
+ * Get a pre-registered application-imported module, return null if not present
40
+ */
41
+ export function getJSModuleOrNull<ModuleT = any>(name: string): ModuleT | null {
42
+ const module = globalThis.loaders?.modules?.[name];
43
+ return module || null;
44
+ }
@@ -9,7 +9,7 @@ import {ImageSource, ImageSourceMetadata} from './image-source';
9
9
  * @note
10
10
  * - If geospatial, bounding box is expected to be in web mercator coordinates
11
11
  */
12
- export class TileSourceAdapter<MetadataT> implements TileSource<ImageSourceMetadata> {
12
+ export class TileSourceAdapter implements TileSource<ImageSourceMetadata> {
13
13
  readonly viewportSource: ImageSource;
14
14
  constructor(source: ImageSource) {
15
15
  this.viewportSource = source;
@@ -29,8 +29,6 @@ export type LoaderOptions = {
29
29
  // general
30
30
  /** Experimental: Supply a logger to the parser */
31
31
  log?: any;
32
- /** Force to load WASM libraries from local file system in NodeJS or from loaders.gl CDN in a web browser */
33
- useLocalLibraries?: boolean;
34
32
 
35
33
  // batched parsing
36
34
 
@@ -47,6 +45,13 @@ export type LoaderOptions = {
47
45
  /** Transforms to run on incoming batches */
48
46
  transforms?: TransformBatches[];
49
47
 
48
+ // module loading
49
+
50
+ /** Any additional JS libraries */
51
+ modules?: Record<string, any>;
52
+ /** Force to load WASM libraries from local file system in NodeJS or from loaders.gl CDN in a web browser */
53
+ useLocalLibraries?: boolean;
54
+
50
55
  // workers
51
56
 
52
57
  /** CDN load workers from */
@@ -110,9 +115,9 @@ type PreloadOptions = {
110
115
  */
111
116
  export type Loader<DataT = any, BatchT = any, LoaderOptionsT = LoaderOptions> = {
112
117
  /** The result type of this loader */
113
- dataType?: DataT;
118
+ dataType: DataT;
114
119
  /** The batched result type of this loader */
115
- batchType?: BatchT;
120
+ batchType: BatchT;
116
121
 
117
122
  /** Default Options */
118
123
  options: LoaderOptionsT;
@@ -8,8 +8,14 @@
8
8
  export type WriterOptions = {
9
9
  /** worker source. If is set will be used instead of loading worker from the Internet */
10
10
  source?: string | null;
11
+
12
+ // module loading
13
+
14
+ /** Any additional JS libraries */
15
+ modules?: Record<string, any>;
11
16
  /** Force to load WASM libraries from local file system in NodeJS or from loaders.gl CDN in a web browser */
12
17
  useLocalLibraries?: boolean;
18
+
13
19
  /** writer-specific options */
14
20
  [writerId: string]: any;
15
21
  };