@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 +0,0 @@
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,37 +0,0 @@
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
-
36
- }
37
- //# sourceMappingURL=no-compression.js.map
@@ -1 +0,0 @@
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,30 +0,0 @@
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
-
29
- }
30
- //# sourceMappingURL=snappy-compression.js.map
@@ -1 +0,0 @@
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,46 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- import { Compression } from './compression';
3
- let ZstdCodec;
4
- let zstd;
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"));
26
- }
27
- }
28
-
29
- async preload() {
30
- zstd = zstd || (await new Promise(resolve => ZstdCodec.run(zstd => resolve(zstd))));
31
- }
32
-
33
- compressSync(input) {
34
- const simpleZstd = new zstd.Simple();
35
- const inputArray = new Uint8Array(input);
36
- return simpleZstd.compress(inputArray).buffer;
37
- }
38
-
39
- decompressSync(input) {
40
- const simpleZstd = new zstd.Simple();
41
- const inputArray = new Uint8Array(input);
42
- return simpleZstd.decompress(inputArray).buffer;
43
- }
44
-
45
- }
46
- //# sourceMappingURL=zstd-compression.js.map
@@ -1 +0,0 @@
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;AACdM,MAAAA,OAAO,CAACC,IAAR,WAAgB,KAAKC,IAArB;AACD;AACF;;AAEY,QAAPC,OAAO,GAAkB;AAC7BR,IAAAA,IAAI,GAAGA,IAAI,KAAK,MAAM,IAAIS,OAAJ,CAAaC,OAAD,IAAaX,SAAS,CAACY,GAAV,CAAeX,IAAD,IAAUU,OAAO,CAACV,IAAD,CAA/B,CAAzB,CAAX,CAAX;AACD;;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;;AArC8C","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 console.warn(`${this.name} library not installed`);\n }\n }\n\n async preload(): Promise<void> {\n zstd = zstd || (await new Promise((resolve) => ZstdCodec.run((zstd) => resolve(zstd))));\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/esm/types.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"types.js"}
@@ -1,68 +0,0 @@
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';
10
- const modules = {
11
- lz4js
12
- };
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
- }
42
- });
43
-
44
- function getOperation(operation) {
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
- }
57
- }
58
-
59
- function getCompression(name) {
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;
67
- }
68
- //# sourceMappingURL=worker.js.map
@@ -1 +0,0 @@
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"}