@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
package/dist/index.cjs CHANGED
@@ -3,6 +3,7 @@ var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
7
  var __export = (target, all) => {
7
8
  for (var name in all)
8
9
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -16,6 +17,10 @@ var __copyProps = (to, from, except, desc) => {
16
17
  return to;
17
18
  };
18
19
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+ var __publicField = (obj, key, value) => {
21
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
22
+ return value;
23
+ };
19
24
 
20
25
  // dist/index.js
21
26
  var dist_exports = {};
@@ -34,6 +39,7 @@ __export(dist_exports, {
34
39
  assert: () => assert,
35
40
  canEncodeWithWorker: () => canEncodeWithWorker,
36
41
  canParseWithWorker: () => canParseWithWorker,
42
+ checkJSModule: () => checkJSModule,
37
43
  compareArrayBuffers: () => compareArrayBuffers,
38
44
  concatenateArrayBuffers: () => concatenateArrayBuffers,
39
45
  concatenateArrayBuffersAsync: () => concatenateArrayBuffersAsync,
@@ -49,6 +55,8 @@ __export(dist_exports, {
49
55
  document: () => document_,
50
56
  forEach: () => forEach,
51
57
  getFirstCharacters: () => getFirstCharacters,
58
+ getJSModule: () => getJSModule,
59
+ getJSModuleOrNull: () => getJSModuleOrNull,
52
60
  getMagicString: () => getMagicString,
53
61
  getPathPrefix: () => getPathPrefix,
54
62
  global: () => global_,
@@ -56,6 +64,7 @@ __export(dist_exports, {
56
64
  isBuffer: () => isBuffer,
57
65
  isFileProvider: () => isFileProvider,
58
66
  isWorker: () => isWorker,
67
+ log: () => log,
59
68
  makeLineIterator: () => makeLineIterator,
60
69
  makeNumberedLineIterator: () => makeNumberedLineIterator,
61
70
  makeTextDecoderIterator: () => makeTextDecoderIterator,
@@ -72,6 +81,7 @@ __export(dist_exports, {
72
81
  path: () => path_exports,
73
82
  promisify1: () => promisify1,
74
83
  promisify2: () => promisify2,
84
+ registerJSModules: () => registerJSModules,
75
85
  resolvePath: () => resolvePath,
76
86
  self: () => self_,
77
87
  setPathPrefix: () => setPathPrefix,
@@ -126,6 +136,10 @@ var isWorker = typeof importScripts === "function";
126
136
  var matches = typeof process !== "undefined" && process.version && /v([0-9]*)/.exec(process.version);
127
137
  var nodeVersion = matches && parseFloat(matches[1]) || 0;
128
138
 
139
+ // dist/lib/log-utils/log.js
140
+ var import_log = require("@probe.gl/log");
141
+ var log = new import_log.Log({ id: "loaders.gl" });
142
+
129
143
  // dist/lib/option-utils/merge-loader-options.js
130
144
  function mergeLoaderOptions(baseOptions, newOptions) {
131
145
  return mergeOptionsRecursively(baseOptions || {}, newOptions);
@@ -145,6 +159,33 @@ function mergeOptionsRecursively(baseOptions, newOptions, level = 0) {
145
159
  return options;
146
160
  }
147
161
 
162
+ // dist/lib/module-utils/js-module-utils.js
163
+ function registerJSModules(modules) {
164
+ globalThis.loaders ||= {};
165
+ globalThis.loaders.modules ||= {};
166
+ Object.assign(globalThis.loaders.modules, modules);
167
+ }
168
+ function checkJSModule(name, caller) {
169
+ var _a, _b;
170
+ const module2 = (_b = (_a = globalThis.loaders) == null ? void 0 : _a.modules) == null ? void 0 : _b[name];
171
+ if (!module2) {
172
+ log.warn(`${caller}: ${name} library not installed`)();
173
+ }
174
+ }
175
+ function getJSModule(name, caller) {
176
+ var _a, _b;
177
+ const module2 = (_b = (_a = globalThis.loaders) == null ? void 0 : _a.modules) == null ? void 0 : _b[name];
178
+ if (!module2) {
179
+ throw new Error(`${caller}: ${name} library not installed`);
180
+ }
181
+ return module2;
182
+ }
183
+ function getJSModuleOrNull(name) {
184
+ var _a, _b;
185
+ const module2 = (_b = (_a = globalThis.loaders) == null ? void 0 : _a.modules) == null ? void 0 : _b[name];
186
+ return module2 || null;
187
+ }
188
+
148
189
  // dist/lib/worker-loader-utils/create-loader-worker.js
149
190
  var import_worker_utils = require("@loaders.gl/worker-utils");
150
191
  var requestId = 0;
@@ -525,11 +566,14 @@ var DEFAULT_PROPS = {
525
566
  debounceTime: 0
526
567
  };
527
568
  var RequestScheduler = class {
569
+ props;
570
+ stats;
571
+ activeRequestCount = 0;
572
+ /** Tracks the number of active requests and prioritizes/cancels queued requests. */
573
+ requestQueue = [];
574
+ requestMap = /* @__PURE__ */ new Map();
575
+ updateTimer = null;
528
576
  constructor(props = {}) {
529
- this.activeRequestCount = 0;
530
- this.requestQueue = [];
531
- this.requestMap = /* @__PURE__ */ new Map();
532
- this.updateTimer = null;
533
577
  this.props = { ...DEFAULT_PROPS, ...props };
534
578
  this.stats = new import_stats.Stats({ id: this.props.id });
535
579
  this.stats.get(STAT_QUEUED_REQUESTS);
@@ -662,8 +706,10 @@ function resolvePath(filename2) {
662
706
  }
663
707
 
664
708
  // dist/json-loader.js
665
- var VERSION = true ? "4.2.0-alpha.4" : "latest";
709
+ var VERSION = true ? "4.2.0-alpha.6" : "latest";
666
710
  var JSONLoader = {
711
+ dataType: null,
712
+ batchType: null,
667
713
  name: "JSON",
668
714
  id: "json",
669
715
  module: "json",
@@ -880,6 +926,10 @@ var isSupported = false;
880
926
 
881
927
  // dist/lib/files/blob-file.js
882
928
  var BlobFile = class {
929
+ handle;
930
+ size;
931
+ bigsize;
932
+ url;
883
933
  constructor(blob) {
884
934
  this.handle = blob instanceof ArrayBuffer ? new Blob([blob]) : blob;
885
935
  this.size = blob instanceof ArrayBuffer ? blob.byteLength : blob.size;
@@ -903,9 +953,11 @@ var BlobFile = class {
903
953
 
904
954
  // dist/lib/files/http-file.js
905
955
  var HttpFile = class {
956
+ handle;
957
+ size = 0;
958
+ bigsize = 0n;
959
+ url;
906
960
  constructor(url) {
907
- this.size = 0;
908
- this.bigsize = 0n;
909
961
  this.handle = url;
910
962
  this.url = url;
911
963
  }
@@ -986,11 +1038,12 @@ var HttpFile = class {
986
1038
  // dist/lib/files/node-file-facade.js
987
1039
  var NOT_IMPLEMENTED = new Error("Not implemented");
988
1040
  var NodeFileFacade = class {
1041
+ handle;
1042
+ size = 0;
1043
+ bigsize = 0n;
1044
+ url = "";
989
1045
  constructor(url, flags, mode) {
990
1046
  var _a;
991
- this.size = 0;
992
- this.bigsize = 0n;
993
- this.url = "";
994
1047
  if ((_a = globalThis.loaders) == null ? void 0 : _a.NodeFile) {
995
1048
  return new globalThis.loaders.NodeFile(url, flags, mode);
996
1049
  }
@@ -1030,8 +1083,6 @@ var NodeFileSystemFacade = class {
1030
1083
  // implements FileSystem
1031
1084
  constructor(options) {
1032
1085
  var _a;
1033
- this.readable = true;
1034
- this.writable = true;
1035
1086
  if ((_a = globalThis.loaders) == null ? void 0 : _a.NodeFileSystem) {
1036
1087
  return new globalThis.loaders.NodeFileSystem(options);
1037
1088
  }
@@ -1040,6 +1091,10 @@ var NodeFileSystemFacade = class {
1040
1091
  }
1041
1092
  throw new Error("Can't instantiate NodeFileSystem. Make sure to import @loaders.gl/polyfills first.");
1042
1093
  }
1094
+ // DUMMY IMPLEMENTATION, not used (constructor returns a real NodeFileSystem instance)
1095
+ // implements RandomAccessReadFileSystem
1096
+ readable = true;
1097
+ writable = true;
1043
1098
  async openReadableFile(path, flags) {
1044
1099
  throw NOT_IMPLEMENTED2;
1045
1100
  }
@@ -1069,6 +1124,8 @@ var isFileProvider = (fileProvider) => {
1069
1124
 
1070
1125
  // dist/lib/file-provider/file-handle-file.js
1071
1126
  var FileHandleFile = class {
1127
+ /** The FileHandle from which data is provided */
1128
+ file;
1072
1129
  /** Create a new FileHandleFile */
1073
1130
  constructor(path, append = false) {
1074
1131
  this.file = new NodeFileFacade(path, append ? "a+" : "r");
@@ -1168,6 +1225,8 @@ var toNumber = (bigint) => {
1168
1225
  return Number(bigint);
1169
1226
  };
1170
1227
  var DataViewFile = class {
1228
+ /** The DataView from which data is provided */
1229
+ file;
1171
1230
  constructor(file) {
1172
1231
  this.file = file;
1173
1232
  }
@@ -1217,8 +1276,13 @@ var DataViewFile = class {
1217
1276
 
1218
1277
  // dist/lib/sources/data-source.js
1219
1278
  var DataSource = class {
1279
+ /** A resolved fetch function extracted from loadOptions prop */
1280
+ fetch;
1281
+ /** The actual load options, if calling a loaders.gl loader */
1282
+ loadOptions;
1283
+ _needsRefresh = true;
1284
+ props;
1220
1285
  constructor(props) {
1221
- this._needsRefresh = true;
1222
1286
  this.props = { ...props };
1223
1287
  this.loadOptions = { ...props.loadOptions };
1224
1288
  this.fetch = getFetchFunction(this.loadOptions);
@@ -1258,6 +1322,6 @@ function getFetchFunction(options) {
1258
1322
  // dist/lib/sources/image-source.js
1259
1323
  var ImageSource = class extends DataSource {
1260
1324
  };
1261
- ImageSource.type = "template";
1262
- ImageSource.testURL = (url) => false;
1325
+ __publicField(ImageSource, "type", "template");
1326
+ __publicField(ImageSource, "testURL", (url) => false);
1263
1327
  //# sourceMappingURL=index.cjs.map