@loaders.gl/compression 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 (53) hide show
  1. package/dist/compress-on-worker.d.ts.map +1 -1
  2. package/dist/compress-on-worker.js +4 -1
  3. package/dist/compression-worker.js +2 -2
  4. package/dist/compression-worker.js.map +4 -4
  5. package/dist/dist.dev.js +762 -119
  6. package/dist/dist.min.js +3 -3
  7. package/dist/index.cjs +117 -96
  8. package/dist/index.cjs.map +3 -3
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +3 -0
  11. package/dist/lib/brotli-compression.d.ts +1 -1
  12. package/dist/lib/brotli-compression.d.ts.map +1 -1
  13. package/dist/lib/brotli-compression.js +14 -14
  14. package/dist/lib/compression.d.ts +1 -1
  15. package/dist/lib/compression.d.ts.map +1 -1
  16. package/dist/lib/compression.js +6 -1
  17. package/dist/lib/deflate-compression.d.ts.map +1 -1
  18. package/dist/lib/deflate-compression.js +9 -5
  19. package/dist/lib/gzip-compression.d.ts.map +1 -1
  20. package/dist/lib/gzip-compression.js +7 -4
  21. package/dist/lib/lz4-compression.d.ts +1 -0
  22. package/dist/lib/lz4-compression.d.ts.map +1 -1
  23. package/dist/lib/lz4-compression.js +15 -9
  24. package/dist/lib/lzo-compression.d.ts +1 -1
  25. package/dist/lib/lzo-compression.d.ts.map +1 -1
  26. package/dist/lib/lzo-compression.js +14 -11
  27. package/dist/lib/no-compression.d.ts.map +1 -1
  28. package/dist/lib/no-compression.js +8 -4
  29. package/dist/lib/snappy-compression.d.ts.map +1 -1
  30. package/dist/lib/snappy-compression.js +8 -4
  31. package/dist/lib/zstd-compression.d.ts +2 -1
  32. package/dist/lib/zstd-compression.d.ts.map +1 -1
  33. package/dist/lib/zstd-compression.js +34 -13
  34. package/dist/types.d.ts.map +1 -1
  35. package/dist/types.js +3 -0
  36. package/dist/workers/compression-worker-node.d.ts.map +1 -1
  37. package/dist/workers/compression-worker-node.js +3 -0
  38. package/dist/workers/compression-worker.js +3 -0
  39. package/package.json +6 -6
  40. package/src/compress-on-worker.ts +4 -0
  41. package/src/index.ts +4 -0
  42. package/src/lib/brotli-compression.ts +12 -11
  43. package/src/lib/compression.ts +7 -1
  44. package/src/lib/deflate-compression.ts +4 -0
  45. package/src/lib/gzip-compression.ts +4 -0
  46. package/src/lib/lz4-compression.ts +13 -6
  47. package/src/lib/lzo-compression.ts +10 -9
  48. package/src/lib/no-compression.ts +4 -0
  49. package/src/lib/snappy-compression.ts +4 -0
  50. package/src/lib/zstd-compression.ts +35 -10
  51. package/src/types.ts +4 -0
  52. package/src/workers/compression-worker-node.ts +4 -0
  53. package/src/workers/compression-worker.ts +4 -0
package/dist/index.cjs CHANGED
@@ -46,13 +46,15 @@ module.exports = __toCommonJS(dist_exports);
46
46
 
47
47
  // dist/lib/compression.js
48
48
  var import_loader_utils = require("@loaders.gl/loader-utils");
49
+ var import_loader_utils2 = require("@loaders.gl/loader-utils");
49
50
  var Compression = class {
50
51
  constructor(options) {
51
52
  this.compressBatches = this.compressBatches.bind(this);
52
53
  this.decompressBatches = this.decompressBatches.bind(this);
53
54
  }
54
55
  /** Preloads any dynamic libraries. May enable sync functions */
55
- async preload() {
56
+ async preload(modules = {}) {
57
+ (0, import_loader_utils2.registerJSModules)(modules);
56
58
  return;
57
59
  }
58
60
  /** Asynchronously compress data */
@@ -97,12 +99,13 @@ var Compression = class {
97
99
 
98
100
  // dist/lib/no-compression.js
99
101
  var NoCompression = class extends Compression {
102
+ name = "uncompressed";
103
+ extensions = [];
104
+ contentEncodings = [];
105
+ isSupported = true;
106
+ options;
100
107
  constructor(options) {
101
108
  super(options);
102
- this.name = "uncompressed";
103
- this.extensions = [];
104
- this.contentEncodings = [];
105
- this.isSupported = true;
106
109
  this.options = options || {};
107
110
  }
108
111
  compressSync(input) {
@@ -120,41 +123,42 @@ var NoCompression = class extends Compression {
120
123
  };
121
124
 
122
125
  // dist/lib/deflate-compression.js
123
- var import_loader_utils2 = require("@loaders.gl/loader-utils");
126
+ var import_loader_utils3 = require("@loaders.gl/loader-utils");
124
127
  var import_pako = __toESM(require("pako"), 1);
125
128
  var import_zlib = __toESM(require("zlib"), 1);
126
- var import_loader_utils3 = require("@loaders.gl/loader-utils");
129
+ var import_loader_utils4 = require("@loaders.gl/loader-utils");
127
130
  var DeflateCompression = class extends Compression {
131
+ name = "deflate";
132
+ extensions = [];
133
+ contentEncodings = ["deflate"];
134
+ isSupported = true;
135
+ options;
136
+ _chunks = [];
128
137
  constructor(options = {}) {
129
138
  super(options);
130
- this.name = "deflate";
131
- this.extensions = [];
132
- this.contentEncodings = ["deflate"];
133
- this.isSupported = true;
134
- this._chunks = [];
135
139
  this.options = options;
136
140
  }
137
141
  async compress(input) {
138
142
  var _a, _b;
139
- if (!import_loader_utils2.isBrowser && ((_a = this.options.deflate) == null ? void 0 : _a.useZlib)) {
140
- const buffer = ((_b = this.options.deflate) == null ? void 0 : _b.gzip) ? await (0, import_loader_utils3.promisify1)(import_zlib.default.gzip)(input) : await (0, import_loader_utils3.promisify1)(import_zlib.default.deflate)(input);
141
- return (0, import_loader_utils2.toArrayBuffer)(buffer);
143
+ if (!import_loader_utils3.isBrowser && ((_a = this.options.deflate) == null ? void 0 : _a.useZlib)) {
144
+ const buffer = ((_b = this.options.deflate) == null ? void 0 : _b.gzip) ? await (0, import_loader_utils4.promisify1)(import_zlib.default.gzip)(input) : await (0, import_loader_utils4.promisify1)(import_zlib.default.deflate)(input);
145
+ return (0, import_loader_utils3.toArrayBuffer)(buffer);
142
146
  }
143
147
  return this.compressSync(input);
144
148
  }
145
149
  async decompress(input) {
146
150
  var _a, _b;
147
- if (!import_loader_utils2.isBrowser && ((_a = this.options.deflate) == null ? void 0 : _a.useZlib)) {
148
- const buffer = ((_b = this.options.deflate) == null ? void 0 : _b.gzip) ? await (0, import_loader_utils3.promisify1)(import_zlib.default.gunzip)(input) : await (0, import_loader_utils3.promisify1)(import_zlib.default.inflate)(input);
149
- return (0, import_loader_utils2.toArrayBuffer)(buffer);
151
+ if (!import_loader_utils3.isBrowser && ((_a = this.options.deflate) == null ? void 0 : _a.useZlib)) {
152
+ const buffer = ((_b = this.options.deflate) == null ? void 0 : _b.gzip) ? await (0, import_loader_utils4.promisify1)(import_zlib.default.gunzip)(input) : await (0, import_loader_utils4.promisify1)(import_zlib.default.inflate)(input);
153
+ return (0, import_loader_utils3.toArrayBuffer)(buffer);
150
154
  }
151
155
  return this.decompressSync(input);
152
156
  }
153
157
  compressSync(input) {
154
158
  var _a, _b, _c, _d;
155
- if (!import_loader_utils2.isBrowser && ((_a = this.options.deflate) == null ? void 0 : _a.useZlib)) {
159
+ if (!import_loader_utils3.isBrowser && ((_a = this.options.deflate) == null ? void 0 : _a.useZlib)) {
156
160
  const buffer = ((_b = this.options.deflate) == null ? void 0 : _b.gzip) ? import_zlib.default.gzipSync(input) : import_zlib.default.deflateSync(input);
157
- return (0, import_loader_utils2.toArrayBuffer)(buffer);
161
+ return (0, import_loader_utils3.toArrayBuffer)(buffer);
158
162
  }
159
163
  const pakoOptions = ((_c = this.options) == null ? void 0 : _c.deflate) || {};
160
164
  const inputArray = new Uint8Array(input);
@@ -163,9 +167,9 @@ var DeflateCompression = class extends Compression {
163
167
  }
164
168
  decompressSync(input) {
165
169
  var _a, _b, _c, _d;
166
- if (!import_loader_utils2.isBrowser && ((_a = this.options.deflate) == null ? void 0 : _a.useZlib)) {
170
+ if (!import_loader_utils3.isBrowser && ((_a = this.options.deflate) == null ? void 0 : _a.useZlib)) {
167
171
  const buffer = ((_b = this.options.deflate) == null ? void 0 : _b.gzip) ? import_zlib.default.gunzipSync(input) : import_zlib.default.inflateSync(input);
168
- return (0, import_loader_utils2.toArrayBuffer)(buffer);
172
+ return (0, import_loader_utils3.toArrayBuffer)(buffer);
169
173
  }
170
174
  const pakoOptions = ((_c = this.options) == null ? void 0 : _c.deflate) || {};
171
175
  const inputArray = new Uint8Array(input);
@@ -244,17 +248,18 @@ var DeflateCompression = class extends Compression {
244
248
 
245
249
  // dist/lib/gzip-compression.js
246
250
  var GZipCompression = class extends DeflateCompression {
251
+ name = "gzip";
252
+ extensions = ["gz", "gzip"];
253
+ contentEncodings = ["gzip", "x-gzip"];
254
+ isSupported = true;
247
255
  constructor(options) {
248
256
  super({ ...options, deflate: { ...options == null ? void 0 : options.gzip, gzip: true } });
249
- this.name = "gzip";
250
- this.extensions = ["gz", "gzip"];
251
- this.contentEncodings = ["gzip", "x-gzip"];
252
- this.isSupported = true;
253
257
  }
254
258
  };
255
259
 
256
260
  // dist/lib/brotli-compression.js
257
- var import_loader_utils4 = require("@loaders.gl/loader-utils");
261
+ var import_loader_utils5 = require("@loaders.gl/loader-utils");
262
+ var import_loader_utils6 = require("@loaders.gl/loader-utils");
258
263
 
259
264
  // dist/brotli/decode.js
260
265
  var makeBrotliDecode = () => {
@@ -2240,7 +2245,7 @@ var BrotliDecode = makeBrotliDecode();
2240
2245
 
2241
2246
  // dist/lib/brotli-compression.js
2242
2247
  var import_zlib2 = __toESM(require("zlib"), 1);
2243
- var import_loader_utils5 = require("@loaders.gl/loader-utils");
2248
+ var import_loader_utils7 = require("@loaders.gl/loader-utils");
2244
2249
  var DEFAULT_BROTLI_OPTIONS = {
2245
2250
  brotli: {
2246
2251
  mode: 0,
@@ -2248,65 +2253,61 @@ var DEFAULT_BROTLI_OPTIONS = {
2248
2253
  lgwin: 22
2249
2254
  }
2250
2255
  };
2251
- var brotli;
2252
2256
  var BrotliCompression = class extends Compression {
2257
+ name = "brotli";
2258
+ extensions = ["br"];
2259
+ contentEncodings = ["br"];
2260
+ isSupported = true;
2261
+ options;
2253
2262
  constructor(options) {
2254
2263
  super(options);
2255
- this.name = "brotli";
2256
- this.extensions = ["br"];
2257
- this.contentEncodings = ["br"];
2258
- this.isSupported = true;
2259
2264
  this.options = options;
2265
+ (0, import_loader_utils6.registerJSModules)(options == null ? void 0 : options.modules);
2260
2266
  }
2261
2267
  /**
2262
2268
  * brotli is an injectable dependency due to big size
2263
2269
  * @param options
2264
2270
  */
2265
- async preload() {
2266
- var _a, _b;
2267
- brotli = brotli || ((_b = (_a = this.options) == null ? void 0 : _a.modules) == null ? void 0 : _b.brotli);
2268
- if (!brotli) {
2269
- console.warn(`${this.name} library not installed`);
2270
- }
2271
+ async preload(modules = {}) {
2272
+ (0, import_loader_utils6.registerJSModules)(modules);
2271
2273
  }
2272
2274
  async compress(input) {
2273
2275
  var _a;
2274
- if (!import_loader_utils4.isBrowser && ((_a = this.options.brotli) == null ? void 0 : _a.useZlib)) {
2275
- const buffer = await (0, import_loader_utils5.promisify1)(import_zlib2.default.brotliCompress)(input);
2276
- return (0, import_loader_utils4.toArrayBuffer)(buffer);
2276
+ if (!import_loader_utils5.isBrowser && ((_a = this.options.brotli) == null ? void 0 : _a.useZlib)) {
2277
+ const buffer = await (0, import_loader_utils7.promisify1)(import_zlib2.default.brotliCompress)(input);
2278
+ return (0, import_loader_utils5.toArrayBuffer)(buffer);
2277
2279
  }
2278
2280
  return this.compressSync(input);
2279
2281
  }
2280
2282
  compressSync(input) {
2281
2283
  var _a, _b;
2282
- if (!import_loader_utils4.isBrowser && ((_a = this.options.brotli) == null ? void 0 : _a.useZlib)) {
2284
+ if (!import_loader_utils5.isBrowser && ((_a = this.options.brotli) == null ? void 0 : _a.useZlib)) {
2283
2285
  const buffer = import_zlib2.default.brotliCompressSync(input);
2284
- return (0, import_loader_utils4.toArrayBuffer)(buffer);
2286
+ return (0, import_loader_utils5.toArrayBuffer)(buffer);
2285
2287
  }
2286
2288
  const brotliOptions = { ...DEFAULT_BROTLI_OPTIONS.brotli, ...(_b = this.options) == null ? void 0 : _b.brotli };
2287
2289
  const inputArray = new Uint8Array(input);
2288
- if (!brotli) {
2289
- throw new Error("brotli compression: brotli module not installed");
2290
- }
2290
+ const brotli = (0, import_loader_utils6.getJSModule)("brotli", this.name);
2291
2291
  const outputArray = brotli.compress(inputArray, brotliOptions);
2292
2292
  return outputArray.buffer;
2293
2293
  }
2294
2294
  async decompress(input) {
2295
2295
  var _a;
2296
- if (!import_loader_utils4.isBrowser && ((_a = this.options.brotli) == null ? void 0 : _a.useZlib)) {
2297
- const buffer = await (0, import_loader_utils5.promisify1)(import_zlib2.default.brotliDecompress)(input);
2298
- return (0, import_loader_utils4.toArrayBuffer)(buffer);
2296
+ if (!import_loader_utils5.isBrowser && ((_a = this.options.brotli) == null ? void 0 : _a.useZlib)) {
2297
+ const buffer = await (0, import_loader_utils7.promisify1)(import_zlib2.default.brotliDecompress)(input);
2298
+ return (0, import_loader_utils5.toArrayBuffer)(buffer);
2299
2299
  }
2300
2300
  return this.decompressSync(input);
2301
2301
  }
2302
2302
  decompressSync(input) {
2303
2303
  var _a, _b;
2304
- if (!import_loader_utils4.isBrowser && ((_a = this.options.brotli) == null ? void 0 : _a.useZlib)) {
2304
+ if (!import_loader_utils5.isBrowser && ((_a = this.options.brotli) == null ? void 0 : _a.useZlib)) {
2305
2305
  const buffer = import_zlib2.default.brotliDecompressSync(input);
2306
- return (0, import_loader_utils4.toArrayBuffer)(buffer);
2306
+ return (0, import_loader_utils5.toArrayBuffer)(buffer);
2307
2307
  }
2308
2308
  const brotliOptions = { ...DEFAULT_BROTLI_OPTIONS.brotli, ...(_b = this.options) == null ? void 0 : _b.brotli };
2309
2309
  const inputArray = new Uint8Array(input);
2310
+ const brotli = (0, import_loader_utils6.getJSModuleOrNull)("brotli");
2310
2311
  if (brotli) {
2311
2312
  const outputArray2 = brotli.decompress(inputArray, brotliOptions);
2312
2313
  return outputArray2.buffer;
@@ -2319,12 +2320,13 @@ var BrotliCompression = class extends Compression {
2319
2320
  // dist/lib/snappy-compression.js
2320
2321
  var import_snappyjs = require("snappyjs");
2321
2322
  var SnappyCompression = class extends Compression {
2323
+ name = "snappy";
2324
+ extensions = [];
2325
+ contentEncodings = [];
2326
+ isSupported = true;
2327
+ options;
2322
2328
  constructor(options) {
2323
2329
  super(options);
2324
- this.name = "snappy";
2325
- this.extensions = [];
2326
- this.contentEncodings = [];
2327
- this.isSupported = true;
2328
2330
  this.options = options || {};
2329
2331
  }
2330
2332
  compressSync(input) {
@@ -2336,24 +2338,25 @@ var SnappyCompression = class extends Compression {
2336
2338
  };
2337
2339
 
2338
2340
  // dist/lib/lz4-compression.js
2339
- var import_loader_utils6 = require("@loaders.gl/loader-utils");
2341
+ var import_loader_utils8 = require("@loaders.gl/loader-utils");
2342
+ var import_loader_utils9 = require("@loaders.gl/loader-utils");
2340
2343
  var LZ4_MAGIC_NUMBER = 407708164;
2341
- var lz4js;
2342
2344
  var LZ4Compression = class extends Compression {
2345
+ name = "lz4";
2346
+ extensions = ["lz4"];
2347
+ contentEncodings = ["x-lz4"];
2348
+ isSupported = true;
2349
+ options;
2343
2350
  constructor(options) {
2344
- var _a, _b;
2345
2351
  super(options);
2346
- this.name = "lz4";
2347
- this.extensions = ["lz4"];
2348
- this.contentEncodings = ["x-lz4"];
2349
- this.isSupported = true;
2350
2352
  this.options = options;
2351
- lz4js = lz4js || ((_b = (_a = this.options) == null ? void 0 : _a.modules) == null ? void 0 : _b.lz4js);
2352
- if (!lz4js) {
2353
- throw new Error(this.name);
2354
- }
2353
+ (0, import_loader_utils9.registerJSModules)(options == null ? void 0 : options.modules);
2354
+ }
2355
+ async preload(modules = {}) {
2356
+ (0, import_loader_utils9.registerJSModules)(modules);
2355
2357
  }
2356
2358
  compressSync(input) {
2359
+ const lz4js = (0, import_loader_utils9.getJSModule)("lz4js", this.name);
2357
2360
  const inputArray = new Uint8Array(input);
2358
2361
  return lz4js.compress(inputArray).buffer;
2359
2362
  }
@@ -2364,6 +2367,7 @@ var LZ4Compression = class extends Compression {
2364
2367
  * If data provided without magic number we will parse it as block
2365
2368
  */
2366
2369
  decompressSync(data, maxSize) {
2370
+ const lz4js = (0, import_loader_utils9.getJSModule)("lz4js", this.name);
2367
2371
  try {
2368
2372
  const isMagicNumberExists = this.checkMagicNumber(data);
2369
2373
  const inputArray = new Uint8Array(data);
@@ -2377,7 +2381,7 @@ var LZ4Compression = class extends Compression {
2377
2381
  let uncompressed = new Uint8Array(maxSize);
2378
2382
  const uncompressedSize = this.decodeBlock(inputArray, uncompressed);
2379
2383
  uncompressed = uncompressed.slice(0, uncompressedSize);
2380
- return (0, import_loader_utils6.toArrayBuffer)(uncompressed);
2384
+ return (0, import_loader_utils8.toArrayBuffer)(uncompressed);
2381
2385
  } catch (error) {
2382
2386
  throw this.improveError(error);
2383
2387
  }
@@ -2441,75 +2445,92 @@ var LZ4Compression = class extends Compression {
2441
2445
  };
2442
2446
 
2443
2447
  // dist/lib/zstd-compression.js
2444
- var ZstdCodec;
2448
+ var import_loader_utils10 = require("@loaders.gl/loader-utils");
2449
+ var import_loader_utils11 = require("@loaders.gl/loader-utils");
2450
+ var CHUNK_SIZE = 1e6;
2451
+ var zstdPromise;
2445
2452
  var zstd;
2446
2453
  var ZstdCompression = class extends Compression {
2454
+ name = "zstd";
2455
+ extensions = [];
2456
+ contentEncodings = [];
2457
+ isSupported = true;
2458
+ options;
2447
2459
  /**
2448
2460
  * zstd-codec is an injectable dependency due to big size
2449
2461
  * @param options
2450
2462
  */
2451
2463
  constructor(options) {
2452
- var _a, _b;
2453
2464
  super(options);
2454
- this.name = "zstd";
2455
- this.extensions = [];
2456
- this.contentEncodings = [];
2457
- this.isSupported = true;
2458
2465
  this.options = options;
2459
- ZstdCodec = (_b = (_a = this.options) == null ? void 0 : _a.modules) == null ? void 0 : _b["zstd-codec"];
2460
- if (!ZstdCodec) {
2461
- console.warn(`${this.name} library not installed`);
2462
- }
2466
+ (0, import_loader_utils10.registerJSModules)(options == null ? void 0 : options.modules);
2463
2467
  }
2464
- async preload() {
2465
- if (!zstd && ZstdCodec) {
2466
- zstd = await new Promise((resolve) => ZstdCodec.run((zstd2) => resolve(zstd2)));
2468
+ async preload(modules = {}) {
2469
+ (0, import_loader_utils10.registerJSModules)(modules);
2470
+ (0, import_loader_utils11.checkJSModule)("zstd-codec", this.name);
2471
+ const ZstdCodec = (0, import_loader_utils11.getJSModuleOrNull)("zstd-codec");
2472
+ if (!zstdPromise && ZstdCodec) {
2473
+ zstdPromise = new Promise((resolve) => ZstdCodec.run((zstd2) => resolve(zstd2)));
2474
+ zstd = await zstdPromise;
2467
2475
  }
2468
2476
  }
2469
2477
  compressSync(input) {
2478
+ (0, import_loader_utils11.getJSModule)("zstd-codec", this.name);
2470
2479
  const simpleZstd = new zstd.Simple();
2471
2480
  const inputArray = new Uint8Array(input);
2472
2481
  return simpleZstd.compress(inputArray).buffer;
2473
2482
  }
2474
2483
  decompressSync(input) {
2484
+ (0, import_loader_utils11.getJSModule)("zstd-codec", this.name);
2475
2485
  const simpleZstd = new zstd.Simple();
2476
2486
  const inputArray = new Uint8Array(input);
2477
2487
  return simpleZstd.decompress(inputArray).buffer;
2478
2488
  }
2489
+ async decompress(input, size) {
2490
+ await this.preload();
2491
+ const simpleZstd = new zstd.Streaming();
2492
+ const inputArray = new Uint8Array(input);
2493
+ const chunks = [];
2494
+ for (let i = 0; i <= inputArray.length; i += CHUNK_SIZE) {
2495
+ chunks.push(inputArray.subarray(i, i + CHUNK_SIZE));
2496
+ }
2497
+ const decompressResult = await simpleZstd.decompressChunks(chunks);
2498
+ return decompressResult.buffer;
2499
+ }
2479
2500
  };
2480
2501
 
2481
2502
  // dist/lib/lzo-compression.js
2482
- var import_loader_utils7 = require("@loaders.gl/loader-utils");
2483
- var lzo;
2503
+ var import_loader_utils12 = require("@loaders.gl/loader-utils");
2484
2504
  var LZOCompression = class extends Compression {
2505
+ name = "lzo";
2506
+ extensions = [];
2507
+ contentEncodings = [];
2508
+ isSupported = false;
2509
+ // !isBrowser;
2510
+ options;
2485
2511
  /**
2486
2512
  * lzo is an injectable dependency due to big size
2487
2513
  * @param options
2488
2514
  */
2489
2515
  constructor(options) {
2490
- var _a, _b;
2491
2516
  super(options);
2492
- this.name = "lzo";
2493
- this.extensions = [];
2494
- this.contentEncodings = [];
2495
- this.isSupported = false;
2496
2517
  this.options = options;
2497
- lzo = lzo || ((_b = (_a = this.options) == null ? void 0 : _a.modules) == null ? void 0 : _b.lzo);
2498
- if (!lzo) {
2499
- throw new Error(this.name);
2500
- }
2518
+ (0, import_loader_utils12.registerJSModules)(options == null ? void 0 : options.modules);
2501
2519
  }
2502
- async preload() {
2520
+ async preload(modules = {}) {
2521
+ (0, import_loader_utils12.registerJSModules)(modules);
2503
2522
  }
2504
2523
  async compress(input) {
2505
2524
  await this.preload();
2506
- const inputBuffer = (0, import_loader_utils7.toBuffer)(input);
2525
+ const lzo = (0, import_loader_utils12.getJSModule)("lzo", this.name);
2526
+ const inputBuffer = (0, import_loader_utils12.toBuffer)(input);
2507
2527
  return lzo.compress(inputBuffer).buffer;
2508
2528
  }
2509
2529
  async decompress(input) {
2510
2530
  try {
2511
2531
  await this.preload();
2512
- const inputBuffer = (0, import_loader_utils7.toBuffer)(input);
2532
+ const lzo = (0, import_loader_utils12.getJSModule)("lzo", this.name);
2533
+ const inputBuffer = (0, import_loader_utils12.toBuffer)(input);
2513
2534
  return lzo.decompress(inputBuffer).buffer;
2514
2535
  } catch (error) {
2515
2536
  throw error;
@@ -2519,7 +2540,7 @@ var LZOCompression = class extends Compression {
2519
2540
 
2520
2541
  // dist/compress-on-worker.js
2521
2542
  var import_worker_utils = require("@loaders.gl/worker-utils");
2522
- var VERSION = true ? "4.2.0-alpha.4" : "latest";
2543
+ var VERSION = true ? "4.2.0-alpha.6" : "latest";
2523
2544
  var CompressionWorker = {
2524
2545
  id: "compression",
2525
2546
  name: "compression",