@loaders.gl/compression 3.1.3 → 4.0.0-alpha.5

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 (96) hide show
  1. package/dist/brotli/decode.js +2187 -2320
  2. package/dist/brotli/decode.js.map +1 -0
  3. package/dist/bundle.js +2 -2
  4. package/dist/bundle.js.map +1 -0
  5. package/dist/compression-worker.js +2 -2
  6. package/dist/compression-worker.js.map +2 -2
  7. package/dist/dist.min.js +3 -3
  8. package/dist/dist.min.js.map +2 -2
  9. package/dist/index.js +11 -24
  10. package/dist/index.js.map +1 -0
  11. package/dist/lib/brotli-compression.d.ts.map +1 -1
  12. package/dist/lib/brotli-compression.js +98 -81
  13. package/dist/lib/brotli-compression.js.map +1 -0
  14. package/dist/lib/compression.js +61 -56
  15. package/dist/lib/compression.js.map +1 -0
  16. package/dist/lib/deflate-compression.js +150 -128
  17. package/dist/lib/deflate-compression.js.map +1 -0
  18. package/dist/lib/gzip-compression.js +20 -16
  19. package/dist/lib/gzip-compression.js.map +1 -0
  20. package/dist/lib/lz4-compression.js +108 -132
  21. package/dist/lib/lz4-compression.js.map +1 -0
  22. package/dist/lib/lzo-compression.js +44 -54
  23. package/dist/lib/lzo-compression.js.map +1 -0
  24. package/dist/lib/no-compression.js +36 -29
  25. package/dist/lib/no-compression.js.map +1 -0
  26. package/dist/lib/snappy-compression.js +29 -26
  27. package/dist/lib/snappy-compression.js.map +1 -0
  28. package/dist/lib/zstd-compression.d.ts.map +1 -1
  29. package/dist/lib/zstd-compression.js +43 -39
  30. package/dist/lib/zstd-compression.js.map +1 -0
  31. package/dist/types.js +2 -2
  32. package/dist/{es5/types.js.map → types.js.map} +0 -0
  33. package/dist/workers/worker.js +61 -70
  34. package/dist/workers/worker.js.map +1 -0
  35. package/package.json +7 -7
  36. package/src/lib/brotli-compression.ts +2 -1
  37. package/src/lib/zstd-compression.ts +4 -1
  38. package/dist/es5/brotli/decode.js +0 -2221
  39. package/dist/es5/brotli/decode.js.map +0 -1
  40. package/dist/es5/bundle.js +0 -7
  41. package/dist/es5/bundle.js.map +0 -1
  42. package/dist/es5/compression-worker.js +0 -27
  43. package/dist/es5/compression-worker.js.map +0 -1
  44. package/dist/es5/index.js +0 -92
  45. package/dist/es5/index.js.map +0 -1
  46. package/dist/es5/lib/brotli-compression.js +0 -236
  47. package/dist/es5/lib/brotli-compression.js.map +0 -1
  48. package/dist/es5/lib/compression.js +0 -200
  49. package/dist/es5/lib/compression.js.map +0 -1
  50. package/dist/es5/lib/deflate-compression.js +0 -420
  51. package/dist/es5/lib/deflate-compression.js.map +0 -1
  52. package/dist/es5/lib/gzip-compression.js +0 -57
  53. package/dist/es5/lib/gzip-compression.js.map +0 -1
  54. package/dist/es5/lib/lz4-compression.js +0 -157
  55. package/dist/es5/lib/lz4-compression.js.map +0 -1
  56. package/dist/es5/lib/lzo-compression.js +0 -157
  57. package/dist/es5/lib/lzo-compression.js.map +0 -1
  58. package/dist/es5/lib/no-compression.js +0 -116
  59. package/dist/es5/lib/no-compression.js.map +0 -1
  60. package/dist/es5/lib/snappy-compression.js +0 -66
  61. package/dist/es5/lib/snappy-compression.js.map +0 -1
  62. package/dist/es5/lib/zstd-compression.js +0 -125
  63. package/dist/es5/lib/zstd-compression.js.map +0 -1
  64. package/dist/es5/types.js +0 -2
  65. package/dist/es5/workers/worker.js +0 -118
  66. package/dist/es5/workers/worker.js.map +0 -1
  67. package/dist/esm/brotli/decode.js +0 -2213
  68. package/dist/esm/brotli/decode.js.map +0 -1
  69. package/dist/esm/bundle.js +0 -5
  70. package/dist/esm/bundle.js.map +0 -1
  71. package/dist/esm/compression-worker.js +0 -14
  72. package/dist/esm/compression-worker.js.map +0 -1
  73. package/dist/esm/index.js +0 -11
  74. package/dist/esm/index.js.map +0 -1
  75. package/dist/esm/lib/brotli-compression.js +0 -108
  76. package/dist/esm/lib/brotli-compression.js.map +0 -1
  77. package/dist/esm/lib/compression.js +0 -62
  78. package/dist/esm/lib/compression.js.map +0 -1
  79. package/dist/esm/lib/deflate-compression.js +0 -157
  80. package/dist/esm/lib/deflate-compression.js.map +0 -1
  81. package/dist/esm/lib/gzip-compression.js +0 -21
  82. package/dist/esm/lib/gzip-compression.js.map +0 -1
  83. package/dist/esm/lib/lz4-compression.js +0 -117
  84. package/dist/esm/lib/lz4-compression.js.map +0 -1
  85. package/dist/esm/lib/lzo-compression.js +0 -48
  86. package/dist/esm/lib/lzo-compression.js.map +0 -1
  87. package/dist/esm/lib/no-compression.js +0 -37
  88. package/dist/esm/lib/no-compression.js.map +0 -1
  89. package/dist/esm/lib/snappy-compression.js +0 -30
  90. package/dist/esm/lib/snappy-compression.js.map +0 -1
  91. package/dist/esm/lib/zstd-compression.js +0 -46
  92. package/dist/esm/lib/zstd-compression.js.map +0 -1
  93. package/dist/esm/types.js +0 -2
  94. package/dist/esm/types.js.map +0 -1
  95. package/dist/esm/workers/worker.js +0 -68
  96. package/dist/esm/workers/worker.js.map +0 -1
@@ -1,58 +1,48 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LZOCompression = void 0;
4
- // LZO
5
- // import {loadLibrary} from '@loaders.gl/worker-utils';
6
- const loader_utils_1 = require("@loaders.gl/loader-utils");
7
- const compression_1 = require("./compression");
8
- // import {isBrowser} from '@loaders.gl/loader-utils';
9
- // import lzo from 'lzo'; // https://bundlephobia.com/package/lzo
10
- // import {decompress} from 'lzo-wasm';
11
- // const LZO_WASM_JS_URL = './node_modules/lzo-wasm/lzo-wasm.js';
12
- // const LZO_WASM_WASM_URL = './node_modules/lzo-wasm/lzo-wasm.wasm';
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import { toBuffer } from '@loaders.gl/loader-utils';
3
+ import { Compression } from './compression';
13
4
  let lzo;
14
- /**
15
- * Lempel-Ziv-Oberheimer compression / decompression
16
- */
17
- class LZOCompression extends compression_1.Compression {
18
- /**
19
- * lzo is an injectable dependency due to big size
20
- * @param options
21
- */
22
- constructor(options) {
23
- super(options);
24
- this.name = 'lzo';
25
- this.extensions = [];
26
- this.contentEncodings = [];
27
- this.isSupported = false; // !isBrowser;
28
- this.options = options;
29
- lzo = lzo || this.options?.modules?.lzo;
30
- if (!lzo) {
31
- throw new Error(this.name);
32
- }
5
+ export class LZOCompression extends Compression {
6
+ constructor(options) {
7
+ var _this$options, _this$options$modules;
8
+
9
+ super(options);
10
+
11
+ _defineProperty(this, "name", 'lzo');
12
+
13
+ _defineProperty(this, "extensions", []);
14
+
15
+ _defineProperty(this, "contentEncodings", []);
16
+
17
+ _defineProperty(this, "isSupported", false);
18
+
19
+ _defineProperty(this, "options", void 0);
20
+
21
+ this.options = options;
22
+ lzo = lzo || ((_this$options = this.options) === null || _this$options === void 0 ? void 0 : (_this$options$modules = _this$options.modules) === null || _this$options$modules === void 0 ? void 0 : _this$options$modules.lzo);
23
+
24
+ if (!lzo) {
25
+ throw new Error(this.name);
33
26
  }
34
- async preload() {
35
- // await loadLibrary(LZO_WASM_JS_URL);
36
- // await loadLibrary(LZO_WASM_WASM_URL);
37
- }
38
- async compress(input) {
39
- await this.preload();
40
- // const inputArray = new Uint8Array(input);
41
- const inputBuffer = (0, loader_utils_1.toBuffer)(input);
42
- return lzo.compress(inputBuffer).buffer;
43
- }
44
- async decompress(input) {
45
- try {
46
- await this.preload();
47
- // const inputArray = new Uint8Array(input);
48
- const inputBuffer = (0, loader_utils_1.toBuffer)(input);
49
- return lzo.decompress(inputBuffer).buffer;
50
- }
51
- catch (error) {
52
- // TODO - solve SharedArrayBuffer issues
53
- // return decompress(input);
54
- throw error;
55
- }
27
+ }
28
+
29
+ async preload() {}
30
+
31
+ async compress(input) {
32
+ await this.preload();
33
+ const inputBuffer = toBuffer(input);
34
+ return lzo.compress(inputBuffer).buffer;
35
+ }
36
+
37
+ async decompress(input) {
38
+ try {
39
+ await this.preload();
40
+ const inputBuffer = toBuffer(input);
41
+ return lzo.decompress(inputBuffer).buffer;
42
+ } catch (error) {
43
+ throw error;
56
44
  }
45
+ }
46
+
57
47
  }
58
- exports.LZOCompression = LZOCompression;
48
+ //# sourceMappingURL=lzo-compression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/lzo-compression.ts"],"names":["toBuffer","Compression","lzo","LZOCompression","constructor","options","modules","Error","name","preload","compress","input","inputBuffer","buffer","decompress","error"],"mappings":";AAEA,SAAQA,QAAR,QAAuB,0BAAvB;AAGA,SAAQC,WAAR,QAA0B,eAA1B;AASA,IAAIC,GAAJ;AAKA,OAAO,MAAMC,cAAN,SAA6BF,WAA7B,CAAyC;AAW9CG,EAAAA,WAAW,CAACC,OAAD,EAA8B;AAAA;;AACvC,UAAMA,OAAN;;AADuC,kCAVzB,KAUyB;;AAAA,wCATnB,EASmB;;AAAA,8CARb,EAQa;;AAAA,yCAPlB,KAOkB;;AAAA;;AAEvC,SAAKA,OAAL,GAAeA,OAAf;AAEAH,IAAAA,GAAG,GAAGA,GAAG,sBAAI,KAAKG,OAAT,2EAAI,cAAcC,OAAlB,0DAAI,sBAAuBJ,GAA3B,CAAT;;AACA,QAAI,CAACA,GAAL,EAAU;AACR,YAAM,IAAIK,KAAJ,CAAU,KAAKC,IAAf,CAAN;AACD;AACF;;AAEY,QAAPC,OAAO,GAAG,CAGf;;AAEa,QAARC,QAAQ,CAACC,KAAD,EAA2C;AACvD,UAAM,KAAKF,OAAL,EAAN;AAEA,UAAMG,WAAW,GAAGZ,QAAQ,CAACW,KAAD,CAA5B;AACA,WAAOT,GAAG,CAACQ,QAAJ,CAAaE,WAAb,EAA0BC,MAAjC;AACD;;AAEe,QAAVC,UAAU,CAACH,KAAD,EAA2C;AACzD,QAAI;AACF,YAAM,KAAKF,OAAL,EAAN;AAEA,YAAMG,WAAW,GAAGZ,QAAQ,CAACW,KAAD,CAA5B;AACA,aAAOT,GAAG,CAACY,UAAJ,CAAeF,WAAf,EAA4BC,MAAnC;AACD,KALD,CAKE,OAAOE,KAAP,EAAc;AAGd,YAAMA,KAAN;AACD;AACF;;AA5C6C","sourcesContent":["// LZO\n// import {loadLibrary} from '@loaders.gl/worker-utils';\nimport {toBuffer} from '@loaders.gl/loader-utils';\n\nimport type {CompressionOptions} from './compression';\nimport {Compression} from './compression';\n// import {isBrowser} from '@loaders.gl/loader-utils';\n\n// import lzo from 'lzo'; // https://bundlephobia.com/package/lzo\n// import {decompress} from 'lzo-wasm';\n\n// const LZO_WASM_JS_URL = './node_modules/lzo-wasm/lzo-wasm.js';\n// const LZO_WASM_WASM_URL = './node_modules/lzo-wasm/lzo-wasm.wasm';\n\nlet lzo;\n\n/**\n * Lempel-Ziv-Oberheimer compression / decompression\n */\nexport class LZOCompression extends Compression {\n readonly name = 'lzo';\n readonly extensions = [];\n readonly contentEncodings = [];\n readonly isSupported = false; // !isBrowser;\n readonly options: CompressionOptions;\n\n /**\n * lzo is an injectable dependency due to big size\n * @param options\n */\n constructor(options: CompressionOptions) {\n super(options);\n this.options = options;\n\n lzo = lzo || this.options?.modules?.lzo;\n if (!lzo) {\n throw new Error(this.name);\n }\n }\n\n async preload() {\n // await loadLibrary(LZO_WASM_JS_URL);\n // await loadLibrary(LZO_WASM_WASM_URL);\n }\n\n async compress(input: ArrayBuffer): Promise<ArrayBuffer> {\n await this.preload();\n // const inputArray = new Uint8Array(input);\n const inputBuffer = toBuffer(input);\n return lzo.compress(inputBuffer).buffer;\n }\n\n async decompress(input: ArrayBuffer): Promise<ArrayBuffer> {\n try {\n await this.preload();\n // const inputArray = new Uint8Array(input);\n const inputBuffer = toBuffer(input);\n return lzo.decompress(inputBuffer).buffer;\n } catch (error) {\n // TODO - solve SharedArrayBuffer issues\n // return decompress(input);\n throw error;\n }\n }\n}\n"],"file":"lzo-compression.js"}
@@ -1,30 +1,37 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NoCompression = void 0;
4
- const compression_1 = require("./compression");
5
- /**
6
- * Applies no compression.
7
- */
8
- class NoCompression extends compression_1.Compression {
9
- constructor(options) {
10
- super(options);
11
- this.name = 'uncompressed';
12
- this.extensions = [];
13
- this.contentEncodings = [];
14
- this.isSupported = true;
15
- this.options = options || {};
16
- }
17
- compressSync(input) {
18
- return input;
19
- }
20
- decompressSync(input) {
21
- return input;
22
- }
23
- async *compressBatches(asyncIterator) {
24
- return yield* asyncIterator;
25
- }
26
- async *decompressBatches(asyncIterator) {
27
- return yield* asyncIterator;
28
- }
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import { Compression } from './compression';
3
+ export class NoCompression extends Compression {
4
+ constructor(options) {
5
+ super(options);
6
+
7
+ _defineProperty(this, "name", 'uncompressed');
8
+
9
+ _defineProperty(this, "extensions", []);
10
+
11
+ _defineProperty(this, "contentEncodings", []);
12
+
13
+ _defineProperty(this, "isSupported", true);
14
+
15
+ _defineProperty(this, "options", void 0);
16
+
17
+ this.options = options || {};
18
+ }
19
+
20
+ compressSync(input) {
21
+ return input;
22
+ }
23
+
24
+ decompressSync(input) {
25
+ return input;
26
+ }
27
+
28
+ async *compressBatches(asyncIterator) {
29
+ return yield* asyncIterator;
30
+ }
31
+
32
+ async *decompressBatches(asyncIterator) {
33
+ return yield* asyncIterator;
34
+ }
35
+
29
36
  }
30
- exports.NoCompression = NoCompression;
37
+ //# sourceMappingURL=no-compression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/no-compression.ts"],"names":["Compression","NoCompression","constructor","options","compressSync","input","decompressSync","compressBatches","asyncIterator","decompressBatches"],"mappings":";AAEA,SAAQA,WAAR,QAA0B,eAA1B;AAKA,OAAO,MAAMC,aAAN,SAA4BD,WAA5B,CAAwC;AAQ7CE,EAAAA,WAAW,CAACC,OAAD,EAA+B;AACxC,UAAMA,OAAN;;AADwC,kCAPlB,cAOkB;;AAAA,wCANV,EAMU;;AAAA,8CALJ,EAKI;;AAAA,yCAJnB,IAImB;;AAAA;;AAExC,SAAKA,OAAL,GAAeA,OAAO,IAAI,EAA1B;AACD;;AAEDC,EAAAA,YAAY,CAACC,KAAD,EAAkC;AAC5C,WAAOA,KAAP;AACD;;AAEDC,EAAAA,cAAc,CAACD,KAAD,EAAkC;AAC9C,WAAOA,KAAP;AACD;;AAEqB,SAAfE,eAAe,CACpBC,aADoB,EAEQ;AAC5B,WAAO,OAAOA,aAAd;AACD;;AAEuB,SAAjBC,iBAAiB,CACtBD,aADsB,EAEM;AAC5B,WAAO,OAAOA,aAAd;AACD;;AA/B4C","sourcesContent":["// NO COMPRESSION\nimport type {CompressionOptions} from './compression';\nimport {Compression} from './compression';\n\n/**\n * Applies no compression.\n */\nexport class NoCompression extends Compression {\n readonly name: string = 'uncompressed';\n readonly extensions: string[] = [];\n readonly contentEncodings: string[] = [];\n readonly isSupported = true;\n\n readonly options: CompressionOptions;\n\n constructor(options?: CompressionOptions) {\n super(options);\n this.options = options || {};\n }\n\n compressSync(input: ArrayBuffer): ArrayBuffer {\n return input;\n }\n\n decompressSync(input: ArrayBuffer): ArrayBuffer {\n return input;\n }\n\n async *compressBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n ): AsyncIterable<ArrayBuffer> {\n return yield* asyncIterator;\n }\n\n async *decompressBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n ): AsyncIterable<ArrayBuffer> {\n return yield* asyncIterator;\n }\n}\n"],"file":"no-compression.js"}
@@ -1,27 +1,30 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SnappyCompression = void 0;
4
- const compression_1 = require("./compression");
5
- const snappyjs_1 = require("snappyjs"); // https://bundlephobia.com/package/snappy
6
- /**
7
- * Snappy/zippy compression / decompression
8
- */
9
- class SnappyCompression extends compression_1.Compression {
10
- constructor(options) {
11
- super(options);
12
- this.name = 'snappy';
13
- this.extensions = [];
14
- this.contentEncodings = [];
15
- this.isSupported = true;
16
- this.options = options || {};
17
- }
18
- compressSync(input) {
19
- // Accepts arrayBuffer - https://github.com/zhipeng-jia/snappyjs#usage
20
- return (0, snappyjs_1.compress)(input);
21
- }
22
- decompressSync(input) {
23
- // Accepts arrayBuffer - https://github.com/zhipeng-jia/snappyjs#usage
24
- return (0, snappyjs_1.uncompress)(input);
25
- }
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import { Compression } from './compression';
3
+ import { compress, uncompress } from 'snappyjs';
4
+ export class SnappyCompression extends Compression {
5
+ constructor(options) {
6
+ super(options);
7
+
8
+ _defineProperty(this, "name", 'snappy');
9
+
10
+ _defineProperty(this, "extensions", []);
11
+
12
+ _defineProperty(this, "contentEncodings", []);
13
+
14
+ _defineProperty(this, "isSupported", true);
15
+
16
+ _defineProperty(this, "options", void 0);
17
+
18
+ this.options = options || {};
19
+ }
20
+
21
+ compressSync(input) {
22
+ return compress(input);
23
+ }
24
+
25
+ decompressSync(input) {
26
+ return uncompress(input);
27
+ }
28
+
26
29
  }
27
- exports.SnappyCompression = SnappyCompression;
30
+ //# sourceMappingURL=snappy-compression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/snappy-compression.ts"],"names":["Compression","compress","uncompress","SnappyCompression","constructor","options","compressSync","input","decompressSync"],"mappings":";AAEA,SAAQA,WAAR,QAA0B,eAA1B;AACA,SAAQC,QAAR,EAAkBC,UAAlB,QAAmC,UAAnC;AAKA,OAAO,MAAMC,iBAAN,SAAgCH,WAAhC,CAA4C;AAOjDI,EAAAA,WAAW,CAACC,OAAD,EAA+B;AACxC,UAAMA,OAAN;;AADwC,kCANlB,QAMkB;;AAAA,wCALpB,EAKoB;;AAAA,8CAJd,EAIc;;AAAA,yCAHnB,IAGmB;;AAAA;;AAExC,SAAKA,OAAL,GAAeA,OAAO,IAAI,EAA1B;AACD;;AAEDC,EAAAA,YAAY,CAACC,KAAD,EAAkC;AAE5C,WAAON,QAAQ,CAACM,KAAD,CAAf;AACD;;AAEDC,EAAAA,cAAc,CAACD,KAAD,EAAkC;AAE9C,WAAOL,UAAU,CAACK,KAAD,CAAjB;AACD;;AApBgD","sourcesContent":["// SNAPPY (aka ZIPPY)\nimport type {CompressionOptions} from './compression';\nimport {Compression} from './compression';\nimport {compress, uncompress} from 'snappyjs'; // https://bundlephobia.com/package/snappy\n\n/**\n * Snappy/zippy compression / decompression\n */\nexport class SnappyCompression extends Compression {\n readonly name: string = 'snappy';\n readonly extensions = [];\n readonly contentEncodings = [];\n readonly isSupported = true;\n readonly options: CompressionOptions;\n\n constructor(options?: CompressionOptions) {\n super(options);\n this.options = options || {};\n }\n\n compressSync(input: ArrayBuffer): ArrayBuffer {\n // Accepts arrayBuffer - https://github.com/zhipeng-jia/snappyjs#usage\n return compress(input);\n }\n\n decompressSync(input: ArrayBuffer): ArrayBuffer {\n // Accepts arrayBuffer - https://github.com/zhipeng-jia/snappyjs#usage\n return uncompress(input);\n }\n}\n"],"file":"snappy-compression.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"zstd-compression.d.ts","sourceRoot":"","sources":["../../src/lib/zstd-compression.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAC;AACtD,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAM1C;;GAEG;AACH,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAU;IAC/B,QAAQ,CAAC,UAAU,UAAM;IACzB,QAAQ,CAAC,gBAAgB,UAAM;IAC/B,QAAQ,CAAC,WAAW,QAAQ;IAC5B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IAErC;;;OAGG;gBACS,OAAO,EAAE,kBAAkB;IAUjC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW;IAM7C,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW;CAOhD"}
1
+ {"version":3,"file":"zstd-compression.d.ts","sourceRoot":"","sources":["../../src/lib/zstd-compression.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAC;AACtD,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAM1C;;GAEG;AACH,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAU;IAC/B,QAAQ,CAAC,UAAU,UAAM;IACzB,QAAQ,CAAC,gBAAgB,UAAM;IAC/B,QAAQ,CAAC,WAAW,QAAQ;IAC5B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IAErC;;;OAGG;gBACS,OAAO,EAAE,kBAAkB;IAWjC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAM9B,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW;IAM7C,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW;CAOhD"}
@@ -1,44 +1,48 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ZstdCompression = void 0;
4
- const compression_1 = require("./compression");
5
- // import {ZstdCodec} from 'zstd-codec'; // https://bundlephobia.com/package/zstd-codec
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import { Compression } from './compression';
6
3
  let ZstdCodec;
7
4
  let zstd;
8
- /**
9
- * Zstandard compression / decompression
10
- */
11
- class ZstdCompression extends compression_1.Compression {
12
- /**
13
- * zstd-codec is an injectable dependency due to big size
14
- * @param options
15
- */
16
- constructor(options) {
17
- super(options);
18
- this.name = 'zstd';
19
- this.extensions = [];
20
- this.contentEncodings = [];
21
- this.isSupported = true;
22
- this.options = options;
23
- ZstdCodec = this.options?.modules?.['zstd-codec'];
24
- if (!ZstdCodec) {
25
- console.warn(`${this.name} library not installed`);
26
- }
5
+ export class ZstdCompression extends Compression {
6
+ constructor(options) {
7
+ var _this$options, _this$options$modules;
8
+
9
+ super(options);
10
+
11
+ _defineProperty(this, "name", 'zstd');
12
+
13
+ _defineProperty(this, "extensions", []);
14
+
15
+ _defineProperty(this, "contentEncodings", []);
16
+
17
+ _defineProperty(this, "isSupported", true);
18
+
19
+ _defineProperty(this, "options", void 0);
20
+
21
+ this.options = options;
22
+ ZstdCodec = (_this$options = this.options) === null || _this$options === void 0 ? void 0 : (_this$options$modules = _this$options.modules) === null || _this$options$modules === void 0 ? void 0 : _this$options$modules['zstd-codec'];
23
+
24
+ if (!ZstdCodec) {
25
+ console.warn("".concat(this.name, " library not installed"));
27
26
  }
28
- async preload() {
29
- zstd = zstd || (await new Promise((resolve) => ZstdCodec.run((zstd) => resolve(zstd))));
30
- }
31
- compressSync(input) {
32
- const simpleZstd = new zstd.Simple();
33
- const inputArray = new Uint8Array(input);
34
- return simpleZstd.compress(inputArray).buffer;
35
- }
36
- decompressSync(input) {
37
- const simpleZstd = new zstd.Simple();
38
- // var ddict = new zstd.Dict.Decompression(dictData);
39
- // var jsonBytes = simpleZstd.decompressUsingDict(jsonZstData, ddict);
40
- const inputArray = new Uint8Array(input);
41
- return simpleZstd.decompress(inputArray).buffer;
27
+ }
28
+
29
+ async preload() {
30
+ if (!zstd && ZstdCodec) {
31
+ zstd = await new Promise(resolve => ZstdCodec.run(zstd => resolve(zstd)));
42
32
  }
33
+ }
34
+
35
+ compressSync(input) {
36
+ const simpleZstd = new zstd.Simple();
37
+ const inputArray = new Uint8Array(input);
38
+ return simpleZstd.compress(inputArray).buffer;
39
+ }
40
+
41
+ decompressSync(input) {
42
+ const simpleZstd = new zstd.Simple();
43
+ const inputArray = new Uint8Array(input);
44
+ return simpleZstd.decompress(inputArray).buffer;
45
+ }
46
+
43
47
  }
44
- exports.ZstdCompression = ZstdCompression;
48
+ //# sourceMappingURL=zstd-compression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/zstd-compression.ts"],"names":["Compression","ZstdCodec","zstd","ZstdCompression","constructor","options","modules","console","warn","name","preload","Promise","resolve","run","compressSync","input","simpleZstd","Simple","inputArray","Uint8Array","compress","buffer","decompressSync","decompress"],"mappings":";AAEA,SAAQA,WAAR,QAA0B,eAA1B;AAGA,IAAIC,SAAJ;AACA,IAAIC,IAAJ;AAKA,OAAO,MAAMC,eAAN,SAA8BH,WAA9B,CAA0C;AAW/CI,EAAAA,WAAW,CAACC,OAAD,EAA8B;AAAA;;AACvC,UAAMA,OAAN;;AADuC,kCAVjB,MAUiB;;AAAA,wCATnB,EASmB;;AAAA,8CARb,EAQa;;AAAA,yCAPlB,IAOkB;;AAAA;;AAEvC,SAAKA,OAAL,GAAeA,OAAf;AAEAJ,IAAAA,SAAS,oBAAG,KAAKI,OAAR,2EAAG,cAAcC,OAAjB,0DAAG,sBAAwB,YAAxB,CAAZ;;AACA,QAAI,CAACL,SAAL,EAAgB;AAEdM,MAAAA,OAAO,CAACC,IAAR,WAAgB,KAAKC,IAArB;AACD;AACF;;AAEY,QAAPC,OAAO,GAAkB;AAC7B,QAAI,CAACR,IAAD,IAASD,SAAb,EAAwB;AACtBC,MAAAA,IAAI,GAAG,MAAM,IAAIS,OAAJ,CAAaC,OAAD,IAAaX,SAAS,CAACY,GAAV,CAAeX,IAAD,IAAUU,OAAO,CAACV,IAAD,CAA/B,CAAzB,CAAb;AACD;AACF;;AAEDY,EAAAA,YAAY,CAACC,KAAD,EAAkC;AAC5C,UAAMC,UAAU,GAAG,IAAId,IAAI,CAACe,MAAT,EAAnB;AACA,UAAMC,UAAU,GAAG,IAAIC,UAAJ,CAAeJ,KAAf,CAAnB;AACA,WAAOC,UAAU,CAACI,QAAX,CAAoBF,UAApB,EAAgCG,MAAvC;AACD;;AAEDC,EAAAA,cAAc,CAACP,KAAD,EAAkC;AAC9C,UAAMC,UAAU,GAAG,IAAId,IAAI,CAACe,MAAT,EAAnB;AAGA,UAAMC,UAAU,GAAG,IAAIC,UAAJ,CAAeJ,KAAf,CAAnB;AACA,WAAOC,UAAU,CAACO,UAAX,CAAsBL,UAAtB,EAAkCG,MAAzC;AACD;;AAxC8C","sourcesContent":["// ZSTD\nimport type {CompressionOptions} from './compression';\nimport {Compression} from './compression';\n// import {ZstdCodec} from 'zstd-codec'; // https://bundlephobia.com/package/zstd-codec\n\nlet ZstdCodec;\nlet zstd;\n\n/**\n * Zstandard compression / decompression\n */\nexport class ZstdCompression extends Compression {\n readonly name: string = 'zstd';\n readonly extensions = [];\n readonly contentEncodings = [];\n readonly isSupported = true;\n readonly options: CompressionOptions;\n\n /**\n * zstd-codec is an injectable dependency due to big size\n * @param options\n */\n constructor(options: CompressionOptions) {\n super(options);\n this.options = options;\n\n ZstdCodec = this.options?.modules?.['zstd-codec'];\n if (!ZstdCodec) {\n // eslint-disable-next-line no-console\n console.warn(`${this.name} library not installed`);\n }\n }\n\n async preload(): Promise<void> {\n if (!zstd && ZstdCodec) {\n zstd = await new Promise((resolve) => ZstdCodec.run((zstd) => resolve(zstd)));\n }\n }\n\n compressSync(input: ArrayBuffer): ArrayBuffer {\n const simpleZstd = new zstd.Simple();\n const inputArray = new Uint8Array(input);\n return simpleZstd.compress(inputArray).buffer;\n }\n\n decompressSync(input: ArrayBuffer): ArrayBuffer {\n const simpleZstd = new zstd.Simple();\n // var ddict = new zstd.Dict.Decompression(dictData);\n // var jsonBytes = simpleZstd.decompressUsingDict(jsonZstData, ddict);\n const inputArray = new Uint8Array(input);\n return simpleZstd.decompress(inputArray).buffer;\n }\n}\n"],"file":"zstd-compression.js"}
package/dist/types.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
File without changes
@@ -1,77 +1,68 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const worker_utils_1 = require("@loaders.gl/worker-utils");
7
- // Compressors
8
- const no_compression_1 = require("../lib/no-compression");
9
- const brotli_compression_1 = require("../lib/brotli-compression");
10
- const deflate_compression_1 = require("../lib/deflate-compression");
11
- const gzip_compression_1 = require("../lib/gzip-compression");
12
- const lz4_compression_1 = require("../lib/lz4-compression");
13
- // import {LZOCompression} from '../lib/lzo-compression.js';
14
- const snappy_compression_1 = require("../lib/snappy-compression");
15
- const zstd_compression_1 = require("../lib/zstd-compression");
16
- // Import big dependencies
17
- // import brotli from 'brotli'; - brotli has problems with decompress in browsers
18
- // import brotliDecompress from 'brotli/decompress';
19
- const lz4js_1 = __importDefault(require("lz4js"));
20
- // import lzo from 'lzo';
21
- // import {ZstdCodec} from 'zstd-codec';
22
- // Inject large dependencies through Compression constructor options
1
+ import { createWorker } from '@loaders.gl/worker-utils';
2
+ import { NoCompression } from '../lib/no-compression';
3
+ import { BrotliCompression } from '../lib/brotli-compression';
4
+ import { DeflateCompression } from '../lib/deflate-compression';
5
+ import { GZipCompression } from '../lib/gzip-compression';
6
+ import { LZ4Compression } from '../lib/lz4-compression';
7
+ import { SnappyCompression } from '../lib/snappy-compression';
8
+ import { ZstdCompression } from '../lib/zstd-compression';
9
+ import lz4js from 'lz4js';
23
10
  const modules = {
24
- // brotli has problems with decompress in browsers
25
- // brotli: {
26
- // decompress: brotliDecompress,
27
- // compress: () => {
28
- // throw new Error('brotli compress');
29
- // }
30
- // },
31
- lz4js: lz4js_1.default
32
- // lzo,
33
- // 'zstd-codec': ZstdCodec
11
+ lz4js
34
12
  };
35
- /** @type {Compression[]} */
36
- const COMPRESSIONS = [
37
- new no_compression_1.NoCompression({ modules }),
38
- new brotli_compression_1.BrotliCompression({ modules }),
39
- new deflate_compression_1.DeflateCompression({ modules }),
40
- new gzip_compression_1.GZipCompression({ modules }),
41
- // new LZOCompression({modules}),
42
- new lz4_compression_1.LZ4Compression({ modules }),
43
- new snappy_compression_1.SnappyCompression({ modules }),
44
- new zstd_compression_1.ZstdCompression({ modules })
45
- ];
46
- (0, worker_utils_1.createWorker)(async (data, options = {}) => {
47
- const operation = getOperation(String(options?.operation));
48
- const compression = getCompression(String(options?.compression));
49
- // @ts-ignore
50
- switch (operation) {
51
- case 'compress':
52
- return await compression.compress(data);
53
- case 'decompress':
54
- return await compression.decompress(data);
55
- default:
56
- throw new Error('invalid option');
57
- }
13
+ const COMPRESSIONS = [new NoCompression({
14
+ modules
15
+ }), new BrotliCompression({
16
+ modules
17
+ }), new DeflateCompression({
18
+ modules
19
+ }), new GZipCompression({
20
+ modules
21
+ }), new LZ4Compression({
22
+ modules
23
+ }), new SnappyCompression({
24
+ modules
25
+ }), new ZstdCompression({
26
+ modules
27
+ })];
28
+ createWorker(async (data, options = {}) => {
29
+ const operation = getOperation(String(options === null || options === void 0 ? void 0 : options.operation));
30
+ const compression = getCompression(String(options === null || options === void 0 ? void 0 : options.compression));
31
+
32
+ switch (operation) {
33
+ case 'compress':
34
+ return await compression.compress(data);
35
+
36
+ case 'decompress':
37
+ return await compression.decompress(data);
38
+
39
+ default:
40
+ throw new Error('invalid option');
41
+ }
58
42
  });
43
+
59
44
  function getOperation(operation) {
60
- switch (operation) {
61
- case 'compress':
62
- case 'deflate':
63
- return 'compress';
64
- case 'decompress':
65
- case 'inflate':
66
- return 'decompress';
67
- default:
68
- throw new Error(`@loaders.gl/compression: Unsupported operation ${operation}. Expected 'compress' or 'decompress'`);
69
- }
45
+ switch (operation) {
46
+ case 'compress':
47
+ case 'deflate':
48
+ return 'compress';
49
+
50
+ case 'decompress':
51
+ case 'inflate':
52
+ return 'decompress';
53
+
54
+ default:
55
+ throw new Error("@loaders.gl/compression: Unsupported operation ".concat(operation, ". Expected 'compress' or 'decompress'"));
56
+ }
70
57
  }
58
+
71
59
  function getCompression(name) {
72
- const Compression = COMPRESSIONS.find((compression_) => name === compression_.name);
73
- if (!Compression) {
74
- throw new Error(`@loaders.gl/compression: Unsupported compression ${name}`);
75
- }
76
- return Compression;
60
+ const Compression = COMPRESSIONS.find(compression_ => name === compression_.name);
61
+
62
+ if (!Compression) {
63
+ throw new Error("@loaders.gl/compression: Unsupported compression ".concat(name));
64
+ }
65
+
66
+ return Compression;
77
67
  }
68
+ //# sourceMappingURL=worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/workers/worker.ts"],"names":["createWorker","NoCompression","BrotliCompression","DeflateCompression","GZipCompression","LZ4Compression","SnappyCompression","ZstdCompression","lz4js","modules","COMPRESSIONS","data","options","operation","getOperation","String","compression","getCompression","compress","decompress","Error","name","Compression","find","compression_"],"mappings":"AAAA,SAAQA,YAAR,QAA2B,0BAA3B;AAGA,SAAQC,aAAR,QAA4B,uBAA5B;AACA,SAAQC,iBAAR,QAAgC,2BAAhC;AACA,SAAQC,kBAAR,QAAiC,4BAAjC;AACA,SAAQC,eAAR,QAA8B,yBAA9B;AACA,SAAQC,cAAR,QAA6B,wBAA7B;AAEA,SAAQC,iBAAR,QAAgC,2BAAhC;AACA,SAAQC,eAAR,QAA8B,yBAA9B;AAMA,OAAOC,KAAP,MAAkB,OAAlB;AAKA,MAAMC,OAAO,GAAG;AAQdD,EAAAA;AARc,CAAhB;AAcA,MAAME,YAAY,GAAG,CACnB,IAAIT,aAAJ,CAAkB;AAACQ,EAAAA;AAAD,CAAlB,CADmB,EAEnB,IAAIP,iBAAJ,CAAsB;AAACO,EAAAA;AAAD,CAAtB,CAFmB,EAGnB,IAAIN,kBAAJ,CAAuB;AAACM,EAAAA;AAAD,CAAvB,CAHmB,EAInB,IAAIL,eAAJ,CAAoB;AAACK,EAAAA;AAAD,CAApB,CAJmB,EAMnB,IAAIJ,cAAJ,CAAmB;AAACI,EAAAA;AAAD,CAAnB,CANmB,EAOnB,IAAIH,iBAAJ,CAAsB;AAACG,EAAAA;AAAD,CAAtB,CAPmB,EAQnB,IAAIF,eAAJ,CAAoB;AAACE,EAAAA;AAAD,CAApB,CARmB,CAArB;AAWAT,YAAY,CAAC,OAAOW,IAAP,EAAaC,OAAO,GAAG,EAAvB,KAA8B;AACzC,QAAMC,SAAS,GAAGC,YAAY,CAACC,MAAM,CAACH,OAAD,aAACA,OAAD,uBAACA,OAAO,CAAEC,SAAV,CAAP,CAA9B;AACA,QAAMG,WAAW,GAAGC,cAAc,CAACF,MAAM,CAACH,OAAD,aAACA,OAAD,uBAACA,OAAO,CAAEI,WAAV,CAAP,CAAlC;;AAGA,UAAQH,SAAR;AACE,SAAK,UAAL;AACE,aAAO,MAAMG,WAAW,CAACE,QAAZ,CAAqBP,IAArB,CAAb;;AACF,SAAK,YAAL;AACE,aAAO,MAAMK,WAAW,CAACG,UAAZ,CAAuBR,IAAvB,CAAb;;AACF;AACE,YAAM,IAAIS,KAAJ,CAAU,gBAAV,CAAN;AANJ;AAQD,CAbW,CAAZ;;AAeA,SAASN,YAAT,CAAsBD,SAAtB,EAAoE;AAClE,UAAQA,SAAR;AACE,SAAK,UAAL;AACA,SAAK,SAAL;AACE,aAAO,UAAP;;AACF,SAAK,YAAL;AACA,SAAK,SAAL;AACE,aAAO,YAAP;;AACF;AACE,YAAM,IAAIO,KAAJ,0DAC8CP,SAD9C,2CAAN;AARJ;AAYD;;AAED,SAASI,cAAT,CAAwBI,IAAxB,EAAsC;AACpC,QAAMC,WAAW,GAAGZ,YAAY,CAACa,IAAb,CAAmBC,YAAD,IAAkBH,IAAI,KAAKG,YAAY,CAACH,IAA1D,CAApB;;AACA,MAAI,CAACC,WAAL,EAAkB;AAChB,UAAM,IAAIF,KAAJ,4DAA8DC,IAA9D,EAAN;AACD;;AACD,SAAOC,WAAP;AACD","sourcesContent":["import {createWorker} from '@loaders.gl/worker-utils';\n\n// Compressors\nimport {NoCompression} from '../lib/no-compression';\nimport {BrotliCompression} from '../lib/brotli-compression';\nimport {DeflateCompression} from '../lib/deflate-compression';\nimport {GZipCompression} from '../lib/gzip-compression';\nimport {LZ4Compression} from '../lib/lz4-compression';\n// import {LZOCompression} from '../lib/lzo-compression';\nimport {SnappyCompression} from '../lib/snappy-compression';\nimport {ZstdCompression} from '../lib/zstd-compression';\n\n// Import big dependencies\n\n// import brotli from 'brotli'; - brotli has problems with decompress in browsers\n// import brotliDecompress from 'brotli/decompress';\nimport lz4js from 'lz4js';\n// import lzo from 'lzo';\n// import {ZstdCodec} from 'zstd-codec';\n\n// Inject large dependencies through Compression constructor options\nconst modules = {\n // brotli has problems with decompress in browsers\n // brotli: {\n // decompress: brotliDecompress,\n // compress: () => {\n // throw new Error('brotli compress');\n // }\n // },\n lz4js\n // lzo,\n // 'zstd-codec': ZstdCodec\n};\n\n/** @type {Compression[]} */\nconst COMPRESSIONS = [\n new NoCompression({modules}),\n new BrotliCompression({modules}),\n new DeflateCompression({modules}),\n new GZipCompression({modules}),\n // new LZOCompression({modules}),\n new LZ4Compression({modules}),\n new SnappyCompression({modules}),\n new ZstdCompression({modules})\n];\n\ncreateWorker(async (data, options = {}) => {\n const operation = getOperation(String(options?.operation));\n const compression = getCompression(String(options?.compression));\n\n // @ts-ignore\n switch (operation) {\n case 'compress':\n return await compression.compress(data);\n case 'decompress':\n return await compression.decompress(data);\n default:\n throw new Error('invalid option');\n }\n});\n\nfunction getOperation(operation: string): 'compress' | 'decompress' {\n switch (operation) {\n case 'compress':\n case 'deflate':\n return 'compress';\n case 'decompress':\n case 'inflate':\n return 'decompress';\n default:\n throw new Error(\n `@loaders.gl/compression: Unsupported operation ${operation}. Expected 'compress' or 'decompress'`\n );\n }\n}\n\nfunction getCompression(name: string) {\n const Compression = COMPRESSIONS.find((compression_) => name === compression_.name);\n if (!Compression) {\n throw new Error(`@loaders.gl/compression: Unsupported compression ${name}`);\n }\n return Compression;\n}\n"],"file":"worker.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/compression",
3
- "version": "3.1.3",
3
+ "version": "4.0.0-alpha.5",
4
4
  "description": "Decompression and compression plugins for loaders.gl",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -18,8 +18,8 @@
18
18
  "point cloud"
19
19
  ],
20
20
  "types": "dist/index.d.ts",
21
- "main": "dist/es5/index.js",
22
- "module": "dist/esm/index.js",
21
+ "main": "dist/index.js",
22
+ "module": "dist/index.js",
23
23
  "sideEffects": false,
24
24
  "files": [
25
25
  "src",
@@ -34,12 +34,12 @@
34
34
  "scripts": {
35
35
  "pre-build": "npm run build-bundle && npm run build-worker",
36
36
  "build-bundle": "esbuild src/bundle.ts --outfile=dist/dist.min.js --bundle --minify --sourcemap --external:{fs,path,crypto}",
37
- "build-worker": "esbuild src/workers/worker.ts --outfile=dist/compression-worker.js --bundle --minify --sourcemap --external:{fs,path,crypto}"
37
+ "build-worker": "esbuild src/workers/worker.ts --outfile=dist/compression-worker.js --bundle --minify --sourcemap --external:{fs,path,crypto} --define:__VERSION__=\\\"$npm_package_version\\\""
38
38
  },
39
39
  "dependencies": {
40
40
  "@babel/runtime": "^7.3.1",
41
- "@loaders.gl/loader-utils": "3.1.3",
42
- "@loaders.gl/worker-utils": "3.1.3",
41
+ "@loaders.gl/loader-utils": "4.0.0-alpha.5",
42
+ "@loaders.gl/worker-utils": "4.0.0-alpha.5",
43
43
  "@types/brotli": "^1.3.0",
44
44
  "@types/pako": "^1.0.1",
45
45
  "lzo-wasm": "^0.0.4",
@@ -58,5 +58,5 @@
58
58
  "lzo": "^0.4.11",
59
59
  "zstd-codec": "^0.1"
60
60
  },
61
- "gitHead": "4a690c369779346d73c9a27395d1c08d77d279a4"
61
+ "gitHead": "7a71a54bdf1ddf985cc3af3db90b82e7fa97d025"
62
62
  }
@@ -49,7 +49,8 @@ export class BrotliCompression extends Compression {
49
49
  async preload(): Promise<void> {
50
50
  brotli = brotli || this.options?.modules?.brotli;
51
51
  if (!brotli) {
52
- throw new Error(this.name);
52
+ // eslint-disable-next-line no-console
53
+ console.warn(`${this.name} library not installed`);
53
54
  }
54
55
  }
55
56
 
@@ -26,12 +26,15 @@ export class ZstdCompression extends Compression {
26
26
 
27
27
  ZstdCodec = this.options?.modules?.['zstd-codec'];
28
28
  if (!ZstdCodec) {
29
+ // eslint-disable-next-line no-console
29
30
  console.warn(`${this.name} library not installed`);
30
31
  }
31
32
  }
32
33
 
33
34
  async preload(): Promise<void> {
34
- zstd = zstd || (await new Promise((resolve) => ZstdCodec.run((zstd) => resolve(zstd))));
35
+ if (!zstd && ZstdCodec) {
36
+ zstd = await new Promise((resolve) => ZstdCodec.run((zstd) => resolve(zstd)));
37
+ }
35
38
  }
36
39
 
37
40
  compressSync(input: ArrayBuffer): ArrayBuffer {