@loaders.gl/core 3.1.7 → 3.2.0-alpha.2

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 (68) hide show
  1. package/dist/dist.min.js +211 -54
  2. package/dist/es5/index.js +8 -2
  3. package/dist/es5/index.js.map +1 -1
  4. package/dist/es5/lib/api/encode.js +75 -50
  5. package/dist/es5/lib/api/encode.js.map +1 -1
  6. package/dist/es5/lib/api/loader-options.js +20 -0
  7. package/dist/es5/lib/api/loader-options.js.map +1 -0
  8. package/dist/es5/lib/api/select-loader.js.map +1 -1
  9. package/dist/es5/lib/init.js +1 -1
  10. package/dist/es5/lib/init.js.map +1 -1
  11. package/dist/es5/lib/loader-utils/option-defaults.js +4 -1
  12. package/dist/es5/lib/loader-utils/option-defaults.js.map +1 -1
  13. package/dist/es5/lib/loader-utils/option-utils.js +3 -0
  14. package/dist/es5/lib/loader-utils/option-utils.js.map +1 -1
  15. package/dist/es5/lib/utils/response-utils.js +2 -2
  16. package/dist/es5/lib/utils/response-utils.js.map +1 -1
  17. package/dist/es5/null-loader.js +1 -1
  18. package/dist/es5/null-loader.js.map +1 -1
  19. package/dist/esm/index.js +1 -1
  20. package/dist/esm/index.js.map +1 -1
  21. package/dist/esm/lib/api/encode.js +12 -0
  22. package/dist/esm/lib/api/encode.js.map +1 -1
  23. package/dist/esm/lib/api/loader-options.js +3 -0
  24. package/dist/esm/lib/api/loader-options.js.map +1 -0
  25. package/dist/esm/lib/api/select-loader.js.map +1 -1
  26. package/dist/esm/lib/init.js +1 -1
  27. package/dist/esm/lib/init.js.map +1 -1
  28. package/dist/esm/lib/loader-utils/option-defaults.js +3 -1
  29. package/dist/esm/lib/loader-utils/option-defaults.js.map +1 -1
  30. package/dist/esm/lib/loader-utils/option-utils.js +1 -3
  31. package/dist/esm/lib/loader-utils/option-utils.js.map +1 -1
  32. package/dist/esm/lib/utils/response-utils.js +2 -2
  33. package/dist/esm/lib/utils/response-utils.js.map +1 -1
  34. package/dist/esm/null-loader.js +1 -1
  35. package/dist/esm/null-loader.js.map +1 -1
  36. package/dist/index.d.ts +1 -1
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +5 -4
  39. package/dist/lib/api/encode.d.ts +1 -1
  40. package/dist/lib/api/encode.d.ts.map +1 -1
  41. package/dist/lib/api/encode.js +13 -5
  42. package/dist/lib/api/loader-options.d.ts +3 -0
  43. package/dist/lib/api/loader-options.d.ts.map +1 -0
  44. package/dist/lib/api/loader-options.js +7 -0
  45. package/dist/lib/api/select-loader.js +1 -0
  46. package/dist/lib/loader-utils/option-defaults.d.ts.map +1 -1
  47. package/dist/lib/loader-utils/option-defaults.js +3 -1
  48. package/dist/lib/loader-utils/option-utils.d.ts +8 -0
  49. package/dist/lib/loader-utils/option-utils.d.ts.map +1 -1
  50. package/dist/lib/loader-utils/option-utils.js +10 -6
  51. package/dist/lib/utils/response-utils.js +2 -2
  52. package/dist/null-worker.js +46 -15
  53. package/package.json +6 -4
  54. package/src/index.ts +1 -1
  55. package/src/lib/api/encode.ts +9 -1
  56. package/src/lib/api/loader-options.ts +2 -0
  57. package/src/lib/api/select-loader.ts +1 -0
  58. package/src/lib/loader-utils/option-defaults.ts +3 -1
  59. package/src/lib/loader-utils/option-utils.ts +6 -3
  60. package/src/lib/utils/response-utils.ts +2 -2
  61. package/dist/es5/lib/api/set-loader-options.js +0 -13
  62. package/dist/es5/lib/api/set-loader-options.js.map +0 -1
  63. package/dist/esm/lib/api/set-loader-options.js +0 -5
  64. package/dist/esm/lib/api/set-loader-options.js.map +0 -1
  65. package/dist/lib/api/set-loader-options.d.ts +0 -6
  66. package/dist/lib/api/set-loader-options.d.ts.map +0 -1
  67. package/dist/lib/api/set-loader-options.js +0 -12
  68. package/src/lib/api/set-loader-options.ts +0 -9
package/dist/dist.min.js CHANGED
@@ -65,7 +65,7 @@
65
65
  var DEFAULT_VERSION, VERSION;
66
66
  var init_version = __esm({
67
67
  "../worker-utils/src/lib/env-utils/version.ts"() {
68
- DEFAULT_VERSION = "latest";
68
+ DEFAULT_VERSION = "beta";
69
69
  VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : DEFAULT_VERSION;
70
70
  if (typeof __VERSION__ === "undefined") {
71
71
  console.error("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
@@ -112,13 +112,13 @@
112
112
  init_assert2();
113
113
  WorkerJob = class {
114
114
  constructor(jobName, workerThread) {
115
- this.name = jobName;
116
- this.workerThread = workerThread;
117
115
  this.isRunning = true;
118
116
  this._resolve = () => {
119
117
  };
120
118
  this._reject = () => {
121
119
  };
120
+ this.name = jobName;
121
+ this.workerThread = workerThread;
122
122
  this.result = new Promise((resolve, reject) => {
123
123
  this._resolve = resolve;
124
124
  this._reject = reject;
@@ -145,6 +145,21 @@
145
145
  }
146
146
  });
147
147
 
148
+ // ../worker-utils/src/lib/node/worker_threads-browser.js
149
+ var Worker2;
150
+ var init_worker_threads_browser = __esm({
151
+ "../worker-utils/src/lib/node/worker_threads-browser.js"() {
152
+ Worker2 = class {
153
+ on(message, cb) {
154
+ }
155
+ postMessage(...args) {
156
+ }
157
+ terminate() {
158
+ }
159
+ };
160
+ }
161
+ });
162
+
148
163
  // ../worker-utils/src/lib/worker-utils/get-loadable-worker-url.ts
149
164
  function getLoadableWorkerURL(props) {
150
165
  assert2(props.source && !props.url || !props.source && props.url);
@@ -232,6 +247,8 @@
232
247
  var NOOP, WorkerThread;
233
248
  var init_worker_thread = __esm({
234
249
  "../worker-utils/src/lib/worker-farm/worker-thread.ts"() {
250
+ init_worker_threads_browser();
251
+ init_globals2();
235
252
  init_assert2();
236
253
  init_get_loadable_worker_url();
237
254
  init_get_transfer_list();
@@ -248,10 +265,10 @@
248
265
  this.url = url;
249
266
  this.onMessage = NOOP;
250
267
  this.onError = (error) => console.log(error);
251
- this.worker = this._createBrowserWorker();
268
+ this.worker = isBrowser2 ? this._createBrowserWorker() : this._createNodeWorker();
252
269
  }
253
270
  static isSupported() {
254
- return typeof Worker !== "undefined";
271
+ return typeof Worker !== "undefined" && isBrowser2 || typeof Worker2 !== void 0;
255
272
  }
256
273
  destroy() {
257
274
  this.onMessage = NOOP;
@@ -294,6 +311,27 @@
294
311
  worker.onmessageerror = (event) => console.error(event);
295
312
  return worker;
296
313
  }
314
+ _createNodeWorker() {
315
+ let worker;
316
+ if (this.url) {
317
+ const absolute = this.url.includes(":/") || this.url.startsWith("/");
318
+ const url = absolute ? this.url : `./${this.url}`;
319
+ worker = new Worker2(url, { eval: false });
320
+ } else if (this.source) {
321
+ worker = new Worker2(this.source, { eval: true });
322
+ } else {
323
+ throw new Error("no worker");
324
+ }
325
+ worker.on("message", (data) => {
326
+ this.onMessage(data);
327
+ });
328
+ worker.on("error", (error) => {
329
+ this.onError(error);
330
+ });
331
+ worker.on("exit", (code) => {
332
+ });
333
+ return worker;
334
+ }
297
335
  };
298
336
  }
299
337
  });
@@ -322,6 +360,9 @@
322
360
  this.url = props.url;
323
361
  this.setProps(props);
324
362
  }
363
+ static isSupported() {
364
+ return WorkerThread.isSupported();
365
+ }
325
366
  destroy() {
326
367
  this.idleQueue.forEach((worker) => worker.destroy());
327
368
  this.isDestroyed = true;
@@ -344,9 +385,9 @@
344
385
  this.onDebug = props.onDebug;
345
386
  }
346
387
  }
347
- async startJob(name, onMessage2 = (job, type, data) => job.done(data), onError = (job, error) => job.error(error)) {
388
+ async startJob(name, onMessage3 = (job, type, data) => job.done(data), onError = (job, error) => job.error(error)) {
348
389
  const startPromise = new Promise((onStart) => {
349
- this.jobQueue.push({ name, onMessage: onMessage2, onError, onStart });
390
+ this.jobQueue.push({ name, onMessage: onMessage3, onError, onStart });
350
391
  return this;
351
392
  });
352
393
  this._startQueuedJob();
@@ -418,9 +459,9 @@
418
459
  DEFAULT_PROPS = {
419
460
  maxConcurrency: 3,
420
461
  maxMobileConcurrency: 1,
462
+ reuseWorkers: true,
421
463
  onDebug: () => {
422
- },
423
- reuseWorkers: true
464
+ }
424
465
  };
425
466
  WorkerFarm = class {
426
467
  constructor(props) {
@@ -441,6 +482,7 @@
441
482
  for (const workerPool of this.workerPools.values()) {
442
483
  workerPool.destroy();
443
484
  }
485
+ this.workerPools = new Map();
444
486
  }
445
487
  setProps(props) {
446
488
  this.props = { ...this.props, ...props };
@@ -474,7 +516,36 @@
474
516
  }
475
517
  });
476
518
 
519
+ // ../worker-utils/src/lib/worker-utils/remove-nontransferable-options.ts
520
+ function removeNontransferableOptions(object) {
521
+ return JSON.parse(stringifyJSON(object));
522
+ }
523
+ function stringifyJSON(v) {
524
+ const cache3 = new Set();
525
+ return JSON.stringify(v, (key, value) => {
526
+ if (typeof value === "object" && value !== null) {
527
+ if (cache3.has(value)) {
528
+ try {
529
+ return JSON.parse(JSON.stringify(value));
530
+ } catch (err) {
531
+ return void 0;
532
+ }
533
+ }
534
+ cache3.add(value);
535
+ }
536
+ return value;
537
+ });
538
+ }
539
+ var init_remove_nontransferable_options = __esm({
540
+ "../worker-utils/src/lib/worker-utils/remove-nontransferable-options.ts"() {
541
+ }
542
+ });
543
+
477
544
  // ../worker-utils/src/lib/worker-api/get-worker-url.ts
545
+ function getWorkerName(worker) {
546
+ const warning = worker.version !== VERSION2 ? ` (worker-utils@${VERSION2})` : "";
547
+ return `${worker.name}@${worker.version}${warning}`;
548
+ }
478
549
  function getWorkerURL(worker, options = {}) {
479
550
  const workerOptions = options[worker.id] || {};
480
551
  const workerFile = `${worker.id}-worker.js`;
@@ -496,11 +567,64 @@
496
567
  assert2(url);
497
568
  return url;
498
569
  }
499
- var NPM_TAG;
570
+ var NPM_TAG, VERSION2;
500
571
  var init_get_worker_url = __esm({
501
572
  "../worker-utils/src/lib/worker-api/get-worker-url.ts"() {
502
573
  init_assert2();
503
- NPM_TAG = "latest";
574
+ init_version();
575
+ NPM_TAG = "beta";
576
+ VERSION2 = typeof VERSION !== "undefined" ? VERSION : NPM_TAG;
577
+ }
578
+ });
579
+
580
+ // ../worker-utils/src/lib/worker-api/process-on-worker.ts
581
+ async function processOnWorker(worker, data, options = {}, context = {}) {
582
+ const name = getWorkerName(worker);
583
+ const workerFarm = WorkerFarm.getWorkerFarm(options);
584
+ const { source } = options;
585
+ const workerPoolProps = { name, source };
586
+ if (!source) {
587
+ workerPoolProps.url = getWorkerURL(worker, options);
588
+ }
589
+ const workerPool = workerFarm.getWorkerPool(workerPoolProps);
590
+ const jobName = options.jobName || worker.name;
591
+ const job = await workerPool.startJob(jobName, onMessage.bind(null, context));
592
+ const transferableOptions = removeNontransferableOptions(options);
593
+ job.postMessage("process", { input: data, options: transferableOptions });
594
+ const result = await job.result;
595
+ return result.result;
596
+ }
597
+ async function onMessage(context, job, type, payload) {
598
+ switch (type) {
599
+ case "done":
600
+ job.done(payload);
601
+ break;
602
+ case "error":
603
+ job.error(new Error(payload.error));
604
+ break;
605
+ case "process":
606
+ const { id, input, options } = payload;
607
+ try {
608
+ if (!context.process) {
609
+ job.postMessage("error", { id, error: "Worker not set up to process on main thread" });
610
+ return;
611
+ }
612
+ const result = await context.process(input, options);
613
+ job.postMessage("done", { id, result });
614
+ } catch (error) {
615
+ const message = error instanceof Error ? error.message : "unknown error";
616
+ job.postMessage("error", { id, error: message });
617
+ }
618
+ break;
619
+ default:
620
+ console.warn(`process-on-worker: unknown message ${type}`);
621
+ }
622
+ }
623
+ var init_process_on_worker = __esm({
624
+ "../worker-utils/src/lib/worker-api/process-on-worker.ts"() {
625
+ init_worker_farm();
626
+ init_remove_nontransferable_options();
627
+ init_get_worker_url();
504
628
  }
505
629
  });
506
630
 
@@ -524,7 +648,9 @@
524
648
  var init_src = __esm({
525
649
  "../worker-utils/src/index.ts"() {
526
650
  init_assert2();
651
+ init_globals2();
527
652
  init_worker_farm();
653
+ init_process_on_worker();
528
654
  init_get_worker_url();
529
655
  init_validate_worker_version();
530
656
  }
@@ -535,6 +661,9 @@
535
661
  if (!WorkerFarm.isSupported()) {
536
662
  return false;
537
663
  }
664
+ if (!isBrowser2 && !options?._nodeWorkers) {
665
+ return false;
666
+ }
538
667
  return loader.worker && options?.worker;
539
668
  }
540
669
  async function parseWithWorker(loader, data, options, context, parseOnMainThread) {
@@ -543,7 +672,7 @@
543
672
  const workerFarm = WorkerFarm.getWorkerFarm(options);
544
673
  const workerPool = workerFarm.getWorkerPool({ name, url });
545
674
  options = JSON.parse(JSON.stringify(options));
546
- const job = await workerPool.startJob("process-on-worker", onMessage.bind(null, parseOnMainThread));
675
+ const job = await workerPool.startJob("process-on-worker", onMessage2.bind(null, parseOnMainThread));
547
676
  job.postMessage("process", {
548
677
  input: data,
549
678
  options
@@ -551,7 +680,7 @@
551
680
  const result = await job.result;
552
681
  return await result.result;
553
682
  }
554
- async function onMessage(parseOnMainThread, job, type, payload) {
683
+ async function onMessage2(parseOnMainThread, job, type, payload) {
555
684
  switch (type) {
556
685
  case "done":
557
686
  job.done(payload);
@@ -576,6 +705,24 @@
576
705
  var init_parse_with_worker = __esm({
577
706
  "../loader-utils/src/lib/worker-loader-utils/parse-with-worker.ts"() {
578
707
  init_src();
708
+ init_src();
709
+ }
710
+ });
711
+
712
+ // ../loader-utils/src/lib/worker-loader-utils/encode-with-worker.ts
713
+ function canEncodeWithWorker(writer, options) {
714
+ if (!WorkerFarm.isSupported()) {
715
+ return false;
716
+ }
717
+ if (!isBrowser && !options?._nodeWorkers) {
718
+ return false;
719
+ }
720
+ return writer.worker && options?.worker;
721
+ }
722
+ var init_encode_with_worker = __esm({
723
+ "../loader-utils/src/lib/worker-loader-utils/encode-with-worker.ts"() {
724
+ init_src();
725
+ init_globals();
579
726
  }
580
727
  });
581
728
 
@@ -746,7 +893,7 @@
746
893
  }
747
894
  });
748
895
 
749
- // ../loader-utils/node_modules/@probe.gl/stats/dist/esm/utils/hi-res-timestamp.js
896
+ // ../../node_modules/@probe.gl/stats/dist/esm/utils/hi-res-timestamp.js
750
897
  function getHiResTimestamp() {
751
898
  let timestamp;
752
899
  if (typeof window !== "undefined" && window.performance) {
@@ -760,14 +907,14 @@
760
907
  return timestamp;
761
908
  }
762
909
  var init_hi_res_timestamp = __esm({
763
- "../loader-utils/node_modules/@probe.gl/stats/dist/esm/utils/hi-res-timestamp.js"() {
910
+ "../../node_modules/@probe.gl/stats/dist/esm/utils/hi-res-timestamp.js"() {
764
911
  }
765
912
  });
766
913
 
767
- // ../loader-utils/node_modules/@probe.gl/stats/dist/esm/lib/stat.js
914
+ // ../../node_modules/@probe.gl/stats/dist/esm/lib/stat.js
768
915
  var Stat;
769
916
  var init_stat = __esm({
770
- "../loader-utils/node_modules/@probe.gl/stats/dist/esm/lib/stat.js"() {
917
+ "../../node_modules/@probe.gl/stats/dist/esm/lib/stat.js"() {
771
918
  init_defineProperty();
772
919
  init_hi_res_timestamp();
773
920
  Stat = class {
@@ -883,10 +1030,10 @@
883
1030
  }
884
1031
  });
885
1032
 
886
- // ../loader-utils/node_modules/@probe.gl/stats/dist/esm/lib/stats.js
1033
+ // ../../node_modules/@probe.gl/stats/dist/esm/lib/stats.js
887
1034
  var Stats;
888
1035
  var init_stats = __esm({
889
- "../loader-utils/node_modules/@probe.gl/stats/dist/esm/lib/stats.js"() {
1036
+ "../../node_modules/@probe.gl/stats/dist/esm/lib/stats.js"() {
890
1037
  init_defineProperty();
891
1038
  init_stat();
892
1039
  Stats = class {
@@ -956,9 +1103,9 @@
956
1103
  }
957
1104
  });
958
1105
 
959
- // ../loader-utils/node_modules/@probe.gl/stats/dist/esm/index.js
1106
+ // ../../node_modules/@probe.gl/stats/dist/esm/index.js
960
1107
  var init_esm = __esm({
961
- "../loader-utils/node_modules/@probe.gl/stats/dist/esm/index.js"() {
1108
+ "../../node_modules/@probe.gl/stats/dist/esm/index.js"() {
962
1109
  init_stats();
963
1110
  init_stat();
964
1111
  init_hi_res_timestamp();
@@ -1100,15 +1247,15 @@
1100
1247
  function parseTextSync(text) {
1101
1248
  return JSON.parse(text);
1102
1249
  }
1103
- var VERSION2, JSONLoader;
1250
+ var VERSION3, JSONLoader;
1104
1251
  var init_json_loader = __esm({
1105
1252
  "../loader-utils/src/json-loader.ts"() {
1106
- VERSION2 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
1253
+ VERSION3 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
1107
1254
  JSONLoader = {
1108
1255
  name: "JSON",
1109
1256
  id: "json",
1110
1257
  module: "json",
1111
- version: VERSION2,
1258
+ version: VERSION3,
1112
1259
  extensions: ["json", "geojson"],
1113
1260
  mimeTypes: ["application/json"],
1114
1261
  category: "json",
@@ -1166,6 +1313,7 @@
1166
1313
  init_assert();
1167
1314
  init_globals();
1168
1315
  init_parse_with_worker();
1316
+ init_encode_with_worker();
1169
1317
  init_array_buffer_utils();
1170
1318
  init_text_iterators();
1171
1319
  init_async_iteration();
@@ -1322,7 +1470,7 @@
1322
1470
  text += ` ${await response.text()}`;
1323
1471
  }
1324
1472
  message += text;
1325
- message = message.length > 60 ? `${message.slice(60)}...` : message;
1473
+ message = message.length > 60 ? `${message.slice(0, 60)}...` : message;
1326
1474
  } catch (error) {
1327
1475
  }
1328
1476
  return message;
@@ -1498,12 +1646,12 @@
1498
1646
  });
1499
1647
 
1500
1648
  // ../../node_modules/probe.gl/dist/esm/utils/globals.js
1501
- var VERSION3, isBrowser4;
1649
+ var VERSION4, isBrowser4;
1502
1650
  var init_globals4 = __esm({
1503
1651
  "../../node_modules/probe.gl/dist/esm/utils/globals.js"() {
1504
1652
  init_is_browser();
1505
1653
  init_globals3();
1506
- VERSION3 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "untranspiled source";
1654
+ VERSION4 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "untranspiled source";
1507
1655
  isBrowser4 = isBrowser3();
1508
1656
  }
1509
1657
  });
@@ -1825,7 +1973,7 @@
1825
1973
  id: ""
1826
1974
  }) {
1827
1975
  this.id = id;
1828
- this.VERSION = VERSION3;
1976
+ this.VERSION = VERSION4;
1829
1977
  this._startTs = getHiResTimestamp2();
1830
1978
  this._deltaTs = getHiResTimestamp2();
1831
1979
  this.LOG_THROTTLE_TIMEOUT = 0;
@@ -2021,33 +2169,33 @@
2021
2169
  return noop;
2022
2170
  }
2023
2171
  };
2024
- Log.VERSION = VERSION3;
2172
+ Log.VERSION = VERSION4;
2025
2173
  }
2026
2174
  });
2027
2175
 
2028
- // ../../node_modules/@probe.gl/stats/dist/esm/utils/hi-res-timestamp.js
2176
+ // ../../node_modules/probe.gl/node_modules/@probe.gl/stats/dist/esm/utils/hi-res-timestamp.js
2029
2177
  var init_hi_res_timestamp3 = __esm({
2030
- "../../node_modules/@probe.gl/stats/dist/esm/utils/hi-res-timestamp.js"() {
2178
+ "../../node_modules/probe.gl/node_modules/@probe.gl/stats/dist/esm/utils/hi-res-timestamp.js"() {
2031
2179
  }
2032
2180
  });
2033
2181
 
2034
- // ../../node_modules/@probe.gl/stats/dist/esm/lib/stat.js
2182
+ // ../../node_modules/probe.gl/node_modules/@probe.gl/stats/dist/esm/lib/stat.js
2035
2183
  var init_stat2 = __esm({
2036
- "../../node_modules/@probe.gl/stats/dist/esm/lib/stat.js"() {
2184
+ "../../node_modules/probe.gl/node_modules/@probe.gl/stats/dist/esm/lib/stat.js"() {
2037
2185
  init_hi_res_timestamp3();
2038
2186
  }
2039
2187
  });
2040
2188
 
2041
- // ../../node_modules/@probe.gl/stats/dist/esm/lib/stats.js
2189
+ // ../../node_modules/probe.gl/node_modules/@probe.gl/stats/dist/esm/lib/stats.js
2042
2190
  var init_stats2 = __esm({
2043
- "../../node_modules/@probe.gl/stats/dist/esm/lib/stats.js"() {
2191
+ "../../node_modules/probe.gl/node_modules/@probe.gl/stats/dist/esm/lib/stats.js"() {
2044
2192
  init_stat2();
2045
2193
  }
2046
2194
  });
2047
2195
 
2048
- // ../../node_modules/@probe.gl/stats/dist/esm/index.js
2196
+ // ../../node_modules/probe.gl/node_modules/@probe.gl/stats/dist/esm/index.js
2049
2197
  var init_esm2 = __esm({
2050
- "../../node_modules/@probe.gl/stats/dist/esm/index.js"() {
2198
+ "../../node_modules/probe.gl/node_modules/@probe.gl/stats/dist/esm/index.js"() {
2051
2199
  init_stats2();
2052
2200
  init_stat2();
2053
2201
  init_hi_res_timestamp3();
@@ -2115,6 +2263,7 @@
2115
2263
  var DEFAULT_LOADER_OPTIONS, REMOVED_LOADER_OPTIONS;
2116
2264
  var init_option_defaults = __esm({
2117
2265
  "src/lib/loader-utils/option-defaults.ts"() {
2266
+ init_src2();
2118
2267
  init_loggers();
2119
2268
  DEFAULT_LOADER_OPTIONS = {
2120
2269
  fetch: null,
@@ -2125,7 +2274,8 @@
2125
2274
  worker: true,
2126
2275
  maxConcurrency: 3,
2127
2276
  maxMobileConcurrency: 1,
2128
- reuseWorkers: true,
2277
+ reuseWorkers: isBrowser,
2278
+ _nodeWorkers: false,
2129
2279
  _workerType: "",
2130
2280
  limit: 0,
2131
2281
  _limitMB: 0,
@@ -2275,12 +2425,10 @@
2275
2425
  }
2276
2426
  });
2277
2427
 
2278
- // src/lib/api/set-loader-options.ts
2279
- function setLoaderOptions(options) {
2280
- setGlobalOptions(options);
2281
- }
2282
- var init_set_loader_options = __esm({
2283
- "src/lib/api/set-loader-options.ts"() {
2428
+ // src/lib/api/loader-options.ts
2429
+ var init_loader_options = __esm({
2430
+ "src/lib/api/loader-options.ts"() {
2431
+ init_option_utils();
2284
2432
  init_option_utils();
2285
2433
  }
2286
2434
  });
@@ -2403,11 +2551,11 @@
2403
2551
  });
2404
2552
 
2405
2553
  // ../../node_modules/@probe.gl/env/dist/esm/utils/globals.js
2406
- var VERSION4, isBrowser6;
2554
+ var VERSION5, isBrowser6;
2407
2555
  var init_globals6 = __esm({
2408
2556
  "../../node_modules/@probe.gl/env/dist/esm/utils/globals.js"() {
2409
2557
  init_is_browser2();
2410
- VERSION4 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "untranspiled source";
2558
+ VERSION5 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "untranspiled source";
2411
2559
  isBrowser6 = isBrowser5();
2412
2560
  }
2413
2561
  });
@@ -2754,7 +2902,7 @@
2754
2902
  id: ""
2755
2903
  };
2756
2904
  _defineProperty(this, "id", void 0);
2757
- _defineProperty(this, "VERSION", VERSION4);
2905
+ _defineProperty(this, "VERSION", VERSION5);
2758
2906
  _defineProperty(this, "_startTs", getHiResTimestamp4());
2759
2907
  _defineProperty(this, "_deltaTs", getHiResTimestamp4());
2760
2908
  _defineProperty(this, "_storage", void 0);
@@ -2960,7 +3108,7 @@
2960
3108
  return noop2;
2961
3109
  }
2962
3110
  };
2963
- _defineProperty(Log2, "VERSION", VERSION4);
3111
+ _defineProperty(Log2, "VERSION", VERSION5);
2964
3112
  }
2965
3113
  });
2966
3114
 
@@ -3668,6 +3816,11 @@
3668
3816
 
3669
3817
  // src/lib/api/encode.ts
3670
3818
  async function encode(data, writer, options) {
3819
+ const globalOptions = getGlobalLoaderOptions();
3820
+ options = { ...globalOptions, ...options };
3821
+ if (canEncodeWithWorker(writer, options)) {
3822
+ return await processOnWorker(writer, data, options);
3823
+ }
3671
3824
  if (writer.encode) {
3672
3825
  return await writer.encode(data, options);
3673
3826
  }
@@ -3736,10 +3889,13 @@
3736
3889
  }
3737
3890
  var init_encode = __esm({
3738
3891
  "src/lib/api/encode.ts"() {
3892
+ init_src2();
3893
+ init_src();
3739
3894
  init_src2();
3740
3895
  init_src2();
3741
3896
  init_write_file();
3742
3897
  init_fetch_file();
3898
+ init_loader_options();
3743
3899
  }
3744
3900
  });
3745
3901
 
@@ -3790,15 +3946,15 @@
3790
3946
  });
3791
3947
 
3792
3948
  // src/null-loader.ts
3793
- var VERSION5, NullWorkerLoader, NullLoader;
3949
+ var VERSION6, NullWorkerLoader, NullLoader;
3794
3950
  var init_null_loader = __esm({
3795
3951
  "src/null-loader.ts"() {
3796
- VERSION5 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
3952
+ VERSION6 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
3797
3953
  NullWorkerLoader = {
3798
3954
  name: "Null loader",
3799
3955
  id: "null",
3800
3956
  module: "core",
3801
- version: VERSION5,
3957
+ version: VERSION6,
3802
3958
  worker: true,
3803
3959
  mimeTypes: ["application/x.empty"],
3804
3960
  extensions: ["null"],
@@ -3811,7 +3967,7 @@
3811
3967
  name: "Null loader",
3812
3968
  id: "null",
3813
3969
  module: "core",
3814
- version: VERSION5,
3970
+ version: VERSION6,
3815
3971
  mimeTypes: ["application/x.empty"],
3816
3972
  extensions: ["null"],
3817
3973
  parse: async (arrayBuffer) => arrayBuffer,
@@ -3982,6 +4138,7 @@
3982
4138
  encodeURLtoURL: () => encodeURLtoURL,
3983
4139
  fetchFile: () => fetchFile,
3984
4140
  forEach: () => forEach,
4141
+ getLoaderOptions: () => getGlobalLoaderOptions,
3985
4142
  getPathPrefix: () => getPathPrefix,
3986
4143
  global: () => global_,
3987
4144
  isAsyncIterable: () => isAsyncIterable,
@@ -4014,7 +4171,7 @@
4014
4171
  selectLoader: () => selectLoader,
4015
4172
  selectLoaderSync: () => selectLoaderSync,
4016
4173
  self: () => self_,
4017
- setLoaderOptions: () => setLoaderOptions,
4174
+ setLoaderOptions: () => setGlobalOptions,
4018
4175
  setPathPrefix: () => setPathPrefix,
4019
4176
  window: () => window_,
4020
4177
  writeFile: () => writeFile,
@@ -4026,7 +4183,7 @@
4026
4183
  init_read_array_buffer();
4027
4184
  init_read_file();
4028
4185
  init_write_file();
4029
- init_set_loader_options();
4186
+ init_loader_options();
4030
4187
  init_register_loaders();
4031
4188
  init_select_loader();
4032
4189
  init_parse();
package/dist/es5/index.js CHANGED
@@ -38,7 +38,13 @@ Object.defineProperty(exports, "writeFileSync", {
38
38
  Object.defineProperty(exports, "setLoaderOptions", {
39
39
  enumerable: true,
40
40
  get: function get() {
41
- return _setLoaderOptions.setLoaderOptions;
41
+ return _loaderOptions.setLoaderOptions;
42
+ }
43
+ });
44
+ Object.defineProperty(exports, "getLoaderOptions", {
45
+ enumerable: true,
46
+ get: function get() {
47
+ return _loaderOptions.getLoaderOptions;
42
48
  }
43
49
  });
44
50
  Object.defineProperty(exports, "registerLoaders", {
@@ -338,7 +344,7 @@ var _readFile = require("./lib/fetch/read-file");
338
344
 
339
345
  var _writeFile = require("./lib/fetch/write-file");
340
346
 
341
- var _setLoaderOptions = require("./lib/api/set-loader-options");
347
+ var _loaderOptions = require("./lib/api/loader-options");
342
348
 
343
349
  var _registerLoaders = require("./lib/api/register-loaders");
344
350
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AAEA;;AACA;;AACA;;AAGA;;AACA;;AACA;;AAGA;;AACA;;AACA;;AAEA;;AACA;;AAGA;;AACA;;AAGA;;AAIA;;AACA;;AAGA;;AAIA;;AACA;;AAqBA","sourcesContent":["// FILE READING AND WRITING\nexport {fetchFile} from './lib/fetch/fetch-file';\n\nexport {readArrayBuffer} from './lib/fetch/read-array-buffer';\nexport {readFileSync} from './lib/fetch/read-file';\nexport {writeFile, writeFileSync} from './lib/fetch/write-file';\n\n// CONFIGURATION\nexport {setLoaderOptions} from './lib/api/set-loader-options';\nexport {registerLoaders} from './lib/api/register-loaders';\nexport {selectLoader, selectLoaderSync} from './lib/api/select-loader';\n\n// LOADING (READING + PARSING)\nexport {parse} from './lib/api/parse';\nexport {parseSync} from './lib/api/parse-sync';\nexport {parseInBatches} from './lib/api/parse-in-batches';\n\nexport {load} from './lib/api/load';\nexport {loadInBatches} from './lib/api/load-in-batches';\n\n// ENCODING (ENCODING AND WRITING)\nexport {encode, encodeSync, encodeInBatches, encodeText, encodeURLtoURL} from './lib/api/encode';\nexport {save, saveSync} from './lib/api/save';\n\n// CORE UTILS SHARED WITH LOADERS (RE-EXPORTED FROM LOADER-UTILS)\nexport {setPathPrefix, getPathPrefix, resolvePath} from '@loaders.gl/loader-utils';\nexport {RequestScheduler} from '@loaders.gl/loader-utils';\n\n// ITERATOR UTILS\nexport {makeIterator} from './iterators/make-iterator/make-iterator';\nexport {makeStream} from './iterators/make-stream/make-node-stream';\n\n// CORE LOADERS\nexport {NullWorkerLoader, NullLoader} from './null-loader';\nexport {JSONLoader} from '@loaders.gl/loader-utils';\n\n// EXPERIMENTAL\nexport {default as _fetchProgress} from './lib/progress/fetch-progress';\nexport {default as _BrowserFileSystem} from './lib/filesystems/browser-filesystem';\n\n// FOR TESTING\nexport {_unregisterLoaders} from './lib/api/register-loaders';\n\n//\n// TODO - MOVE TO LOADER-UTILS AND DEPRECATE IN CORE?\n//\n\nexport {isBrowser, isWorker, self, window, global, document} from '@loaders.gl/loader-utils';\nexport {assert} from '@loaders.gl/loader-utils';\nexport {forEach, concatenateArrayBuffersAsync} from '@loaders.gl/loader-utils';\n\nexport {\n makeTextDecoderIterator,\n makeTextEncoderIterator,\n makeLineIterator,\n makeNumberedLineIterator\n} from '@loaders.gl/loader-utils';\n\n// \"JAVASCRIPT\" UTILS - move to loader-utils?\nexport {\n isPureObject,\n isPromise,\n isIterable,\n isAsyncIterable,\n isIterator,\n isResponse,\n isReadableStream,\n isWritableStream\n} from './javascript-utils/is-type';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AAEA;;AACA;;AACA;;AAGA;;AACA;;AACA;;AAGA;;AACA;;AACA;;AAEA;;AACA;;AAGA;;AACA;;AAGA;;AAIA;;AACA;;AAGA;;AAIA;;AACA;;AAqBA","sourcesContent":["// FILE READING AND WRITING\nexport {fetchFile} from './lib/fetch/fetch-file';\n\nexport {readArrayBuffer} from './lib/fetch/read-array-buffer';\nexport {readFileSync} from './lib/fetch/read-file';\nexport {writeFile, writeFileSync} from './lib/fetch/write-file';\n\n// CONFIGURATION\nexport {setLoaderOptions, getLoaderOptions} from './lib/api/loader-options';\nexport {registerLoaders} from './lib/api/register-loaders';\nexport {selectLoader, selectLoaderSync} from './lib/api/select-loader';\n\n// LOADING (READING + PARSING)\nexport {parse} from './lib/api/parse';\nexport {parseSync} from './lib/api/parse-sync';\nexport {parseInBatches} from './lib/api/parse-in-batches';\n\nexport {load} from './lib/api/load';\nexport {loadInBatches} from './lib/api/load-in-batches';\n\n// ENCODING (ENCODING AND WRITING)\nexport {encode, encodeSync, encodeInBatches, encodeText, encodeURLtoURL} from './lib/api/encode';\nexport {save, saveSync} from './lib/api/save';\n\n// CORE UTILS SHARED WITH LOADERS (RE-EXPORTED FROM LOADER-UTILS)\nexport {setPathPrefix, getPathPrefix, resolvePath} from '@loaders.gl/loader-utils';\nexport {RequestScheduler} from '@loaders.gl/loader-utils';\n\n// ITERATOR UTILS\nexport {makeIterator} from './iterators/make-iterator/make-iterator';\nexport {makeStream} from './iterators/make-stream/make-node-stream';\n\n// CORE LOADERS\nexport {NullWorkerLoader, NullLoader} from './null-loader';\nexport {JSONLoader} from '@loaders.gl/loader-utils';\n\n// EXPERIMENTAL\nexport {default as _fetchProgress} from './lib/progress/fetch-progress';\nexport {default as _BrowserFileSystem} from './lib/filesystems/browser-filesystem';\n\n// FOR TESTING\nexport {_unregisterLoaders} from './lib/api/register-loaders';\n\n//\n// TODO - MOVE TO LOADER-UTILS AND DEPRECATE IN CORE?\n//\n\nexport {isBrowser, isWorker, self, window, global, document} from '@loaders.gl/loader-utils';\nexport {assert} from '@loaders.gl/loader-utils';\nexport {forEach, concatenateArrayBuffersAsync} from '@loaders.gl/loader-utils';\n\nexport {\n makeTextDecoderIterator,\n makeTextEncoderIterator,\n makeLineIterator,\n makeNumberedLineIterator\n} from '@loaders.gl/loader-utils';\n\n// \"JAVASCRIPT\" UTILS - move to loader-utils?\nexport {\n isPureObject,\n isPromise,\n isIterable,\n isAsyncIterable,\n isIterator,\n isResponse,\n isReadableStream,\n isWritableStream\n} from './javascript-utils/is-type';\n"],"file":"index.js"}