@loaders.gl/compression 3.4.0-alpha.2 → 3.4.0-alpha.3

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 (51) hide show
  1. package/dist/es5/brotli/decode.js +1 -24
  2. package/dist/es5/brotli/decode.js.map +1 -1
  3. package/dist/es5/compression-worker.js +1 -2
  4. package/dist/es5/compression-worker.js.map +1 -1
  5. package/dist/es5/index.js.map +1 -1
  6. package/dist/es5/lib/brotli-compression.js +41 -50
  7. package/dist/es5/lib/brotli-compression.js.map +1 -1
  8. package/dist/es5/lib/compression.js +51 -72
  9. package/dist/es5/lib/compression.js.map +1 -1
  10. package/dist/es5/lib/deflate-compression.js +138 -151
  11. package/dist/es5/lib/deflate-compression.js.map +1 -1
  12. package/dist/es5/lib/gzip-compression.js.map +1 -1
  13. package/dist/es5/lib/lz4-compression.js +3 -18
  14. package/dist/es5/lib/lz4-compression.js.map +1 -1
  15. package/dist/es5/lib/lzo-compression.js +29 -38
  16. package/dist/es5/lib/lzo-compression.js.map +1 -1
  17. package/dist/es5/lib/no-compression.js +16 -20
  18. package/dist/es5/lib/no-compression.js.map +1 -1
  19. package/dist/es5/lib/snappy-compression.js.map +1 -1
  20. package/dist/es5/lib/zstd-compression.js +16 -20
  21. package/dist/es5/lib/zstd-compression.js.map +1 -1
  22. package/dist/es5/workers/worker.js +24 -29
  23. package/dist/es5/workers/worker.js.map +1 -1
  24. package/dist/esm/brotli/decode.js +1 -25
  25. package/dist/esm/brotli/decode.js.map +1 -1
  26. package/dist/esm/bundle.js +0 -1
  27. package/dist/esm/bundle.js.map +1 -1
  28. package/dist/esm/compression-worker.js +1 -3
  29. package/dist/esm/compression-worker.js.map +1 -1
  30. package/dist/esm/lib/brotli-compression.js +0 -4
  31. package/dist/esm/lib/brotli-compression.js.map +1 -1
  32. package/dist/esm/lib/compression.js +0 -9
  33. package/dist/esm/lib/compression.js.map +1 -1
  34. package/dist/esm/lib/deflate-compression.js +1 -5
  35. package/dist/esm/lib/deflate-compression.js.map +1 -1
  36. package/dist/esm/lib/gzip-compression.js +0 -1
  37. package/dist/esm/lib/gzip-compression.js.map +1 -1
  38. package/dist/esm/lib/lz4-compression.js +0 -13
  39. package/dist/esm/lib/lz4-compression.js.map +1 -1
  40. package/dist/esm/lib/lzo-compression.js +1 -5
  41. package/dist/esm/lib/lzo-compression.js.map +1 -1
  42. package/dist/esm/lib/no-compression.js +0 -2
  43. package/dist/esm/lib/no-compression.js.map +1 -1
  44. package/dist/esm/lib/snappy-compression.js +0 -2
  45. package/dist/esm/lib/snappy-compression.js.map +1 -1
  46. package/dist/esm/lib/zstd-compression.js +0 -3
  47. package/dist/esm/lib/zstd-compression.js.map +1 -1
  48. package/dist/esm/workers/worker.js +1 -7
  49. package/dist/esm/workers/worker.js.map +1 -1
  50. package/dist/workers/worker.js +1 -1
  51. package/package.json +4 -4
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports._typecheckCompressionWorker = exports.CompressionWorker = void 0;
7
7
  exports.compressOnWorker = compressOnWorker;
8
8
  var _workerUtils = require("@loaders.gl/worker-utils");
9
- var VERSION = typeof "3.4.0-alpha.2" !== 'undefined' ? "3.4.0-alpha.2" : 'latest';
9
+ var VERSION = typeof "3.4.0-alpha.3" !== 'undefined' ? "3.4.0-alpha.3" : 'latest';
10
10
  var CompressionWorker = {
11
11
  id: 'compression',
12
12
  name: 'compression',
@@ -14,7 +14,6 @@ var CompressionWorker = {
14
14
  version: VERSION,
15
15
  options: {}
16
16
  };
17
-
18
17
  exports.CompressionWorker = CompressionWorker;
19
18
  function compressOnWorker(data, options) {
20
19
  return (0, _workerUtils.processOnWorker)(CompressionWorker, data, options);
@@ -1 +1 @@
1
- {"version":3,"file":"compression-worker.js","names":["VERSION","CompressionWorker","id","name","module","version","options","compressOnWorker","data","processOnWorker","_typecheckCompressionWorker"],"sources":["../../src/compression-worker.ts"],"sourcesContent":["import type {WorkerObject} from '@loaders.gl/worker-utils';\nimport {processOnWorker} from '@loaders.gl/worker-utils';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport type CompressionWorkerOptions = {\n compression: string;\n operation: 'compress' | 'decompress';\n};\n\n/**\n * Worker for Zlib real-time compression and decompression\n */\nexport const CompressionWorker = {\n id: 'compression',\n name: 'compression',\n module: 'compression',\n version: VERSION,\n options: {}\n};\n\n/**\n * Provide type safety\n */\nexport function compressOnWorker(\n data: ArrayBuffer,\n options: CompressionWorkerOptions\n): Promise<ArrayBuffer> {\n return processOnWorker(CompressionWorker, data, options);\n}\n\nexport const _typecheckCompressionWorker: WorkerObject = CompressionWorker;\n"],"mappings":";;;;;;;AACA;AAIA,IAAMA,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ;AAUpE,IAAMC,iBAAiB,GAAG;EAC/BC,EAAE,EAAE,aAAa;EACjBC,IAAI,EAAE,aAAa;EACnBC,MAAM,EAAE,aAAa;EACrBC,OAAO,EAAEL,OAAO;EAChBM,OAAO,EAAE,CAAC;AACZ,CAAC;;AAAC;AAKK,SAASC,gBAAgB,CAC9BC,IAAiB,EACjBF,OAAiC,EACX;EACtB,OAAO,IAAAG,4BAAe,EAACR,iBAAiB,EAAEO,IAAI,EAAEF,OAAO,CAAC;AAC1D;AAEO,IAAMI,2BAAyC,GAAGT,iBAAiB;AAAC"}
1
+ {"version":3,"file":"compression-worker.js","names":["_workerUtils","require","VERSION","CompressionWorker","id","name","module","version","options","exports","compressOnWorker","data","processOnWorker","_typecheckCompressionWorker"],"sources":["../../src/compression-worker.ts"],"sourcesContent":["import type {WorkerObject} from '@loaders.gl/worker-utils';\nimport {processOnWorker} from '@loaders.gl/worker-utils';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport type CompressionWorkerOptions = {\n compression: string;\n operation: 'compress' | 'decompress';\n};\n\n/**\n * Worker for Zlib real-time compression and decompression\n */\nexport const CompressionWorker = {\n id: 'compression',\n name: 'compression',\n module: 'compression',\n version: VERSION,\n options: {}\n};\n\n/**\n * Provide type safety\n */\nexport function compressOnWorker(\n data: ArrayBuffer,\n options: CompressionWorkerOptions\n): Promise<ArrayBuffer> {\n return processOnWorker(CompressionWorker, data, options);\n}\n\nexport const _typecheckCompressionWorker: WorkerObject = CompressionWorker;\n"],"mappings":";;;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAIA,IAAMC,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ;AAUpE,IAAMC,iBAAiB,GAAG;EAC/BC,EAAE,EAAE,aAAa;EACjBC,IAAI,EAAE,aAAa;EACnBC,MAAM,EAAE,aAAa;EACrBC,OAAO,EAAEL,OAAO;EAChBM,OAAO,EAAE,CAAC;AACZ,CAAC;AAACC,OAAA,CAAAN,iBAAA,GAAAA,iBAAA;AAKK,SAASO,gBAAgBA,CAC9BC,IAAiB,EACjBH,OAAiC,EACX;EACtB,OAAO,IAAAI,4BAAe,EAACT,iBAAiB,EAAEQ,IAAI,EAAEH,OAAO,CAAC;AAC1D;AAEO,IAAMK,2BAAyC,GAAGV,iBAAiB;AAACM,OAAA,CAAAI,2BAAA,GAAAA,2BAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":["export type {CompressionOptions} from './lib/compression';\n\nexport {Compression} from './lib/compression';\nexport {NoCompression} from './lib/no-compression';\nexport {DeflateCompression} from './lib/deflate-compression';\nexport {GZipCompression} from './lib/gzip-compression';\nexport {LZ4Compression} from './lib/lz4-compression';\nexport {ZstdCompression} from './lib/zstd-compression';\nexport {SnappyCompression} from './lib/snappy-compression';\nexport {BrotliCompression} from './lib/brotli-compression';\nexport {LZOCompression} from './lib/lzo-compression';\n\nexport type {CompressionWorkerOptions} from './compression-worker';\nexport {CompressionWorker, compressOnWorker} from './compression-worker';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA"}
1
+ {"version":3,"file":"index.js","names":["_compression","require","_noCompression","_deflateCompression","_gzipCompression","_lz4Compression","_zstdCompression","_snappyCompression","_brotliCompression","_lzoCompression","_compressionWorker"],"sources":["../../src/index.ts"],"sourcesContent":["export type {CompressionOptions} from './lib/compression';\n\nexport {Compression} from './lib/compression';\nexport {NoCompression} from './lib/no-compression';\nexport {DeflateCompression} from './lib/deflate-compression';\nexport {GZipCompression} from './lib/gzip-compression';\nexport {LZ4Compression} from './lib/lz4-compression';\nexport {ZstdCompression} from './lib/zstd-compression';\nexport {SnappyCompression} from './lib/snappy-compression';\nexport {BrotliCompression} from './lib/brotli-compression';\nexport {LZOCompression} from './lib/lzo-compression';\n\nexport type {CompressionWorkerOptions} from './compression-worker';\nexport {CompressionWorker, compressOnWorker} from './compression-worker';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AACA,IAAAM,kBAAA,GAAAN,OAAA;AACA,IAAAO,kBAAA,GAAAP,OAAA;AACA,IAAAQ,eAAA,GAAAR,OAAA;AAGA,IAAAS,kBAAA,GAAAT,OAAA"}
@@ -30,7 +30,6 @@ var DEFAULT_BROTLI_OPTIONS = {
30
30
  }
31
31
  };
32
32
  var brotli;
33
-
34
33
  var BrotliCompression = function (_Compression) {
35
34
  (0, _inherits2.default)(BrotliCompression, _Compression);
36
35
  var _super = _createSuper(BrotliCompression);
@@ -46,24 +45,21 @@ var BrotliCompression = function (_Compression) {
46
45
  _this.options = options;
47
46
  return _this;
48
47
  }
49
-
50
48
  (0, _createClass2.default)(BrotliCompression, [{
51
49
  key: "preload",
52
50
  value: function () {
53
51
  var _preload = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() {
54
52
  var _this$options, _this$options$modules;
55
53
  return _regenerator.default.wrap(function _callee$(_context) {
56
- while (1) {
57
- switch (_context.prev = _context.next) {
58
- case 0:
59
- brotli = brotli || ((_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.brotli);
60
- if (!brotli) {
61
- console.warn("".concat(this.name, " library not installed"));
62
- }
63
- case 2:
64
- case "end":
65
- return _context.stop();
66
- }
54
+ while (1) switch (_context.prev = _context.next) {
55
+ case 0:
56
+ brotli = brotli || ((_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.brotli);
57
+ if (!brotli) {
58
+ console.warn("".concat(this.name, " library not installed"));
59
+ }
60
+ case 2:
61
+ case "end":
62
+ return _context.stop();
67
63
  }
68
64
  }, _callee, this);
69
65
  }));
@@ -79,24 +75,22 @@ var BrotliCompression = function (_Compression) {
79
75
  var _this$options$brotli;
80
76
  var buffer;
81
77
  return _regenerator.default.wrap(function _callee2$(_context2) {
82
- while (1) {
83
- switch (_context2.prev = _context2.next) {
84
- case 0:
85
- if (!(!_loaderUtils.isBrowser && (_this$options$brotli = this.options.brotli) !== null && _this$options$brotli !== void 0 && _this$options$brotli.useZlib)) {
86
- _context2.next = 5;
87
- break;
88
- }
89
- _context2.next = 3;
90
- return (0, _loaderUtils.promisify1)(_zlib.default.brotliCompress)(input);
91
- case 3:
92
- buffer = _context2.sent;
93
- return _context2.abrupt("return", (0, _loaderUtils.toArrayBuffer)(buffer));
94
- case 5:
95
- return _context2.abrupt("return", this.compressSync(input));
96
- case 6:
97
- case "end":
98
- return _context2.stop();
99
- }
78
+ while (1) switch (_context2.prev = _context2.next) {
79
+ case 0:
80
+ if (!(!_loaderUtils.isBrowser && (_this$options$brotli = this.options.brotli) !== null && _this$options$brotli !== void 0 && _this$options$brotli.useZlib)) {
81
+ _context2.next = 5;
82
+ break;
83
+ }
84
+ _context2.next = 3;
85
+ return (0, _loaderUtils.promisify1)(_zlib.default.brotliCompress)(input);
86
+ case 3:
87
+ buffer = _context2.sent;
88
+ return _context2.abrupt("return", (0, _loaderUtils.toArrayBuffer)(buffer));
89
+ case 5:
90
+ return _context2.abrupt("return", this.compressSync(input));
91
+ case 6:
92
+ case "end":
93
+ return _context2.stop();
100
94
  }
101
95
  }, _callee2, this);
102
96
  }));
@@ -118,7 +112,6 @@ var BrotliCompression = function (_Compression) {
118
112
  if (!brotli) {
119
113
  throw new Error('brotli compression: brotli module not installed');
120
114
  }
121
-
122
115
  var outputArray = brotli.compress(inputArray, brotliOptions);
123
116
  return outputArray.buffer;
124
117
  }
@@ -129,24 +122,22 @@ var BrotliCompression = function (_Compression) {
129
122
  var _this$options$brotli3;
130
123
  var buffer;
131
124
  return _regenerator.default.wrap(function _callee3$(_context3) {
132
- while (1) {
133
- switch (_context3.prev = _context3.next) {
134
- case 0:
135
- if (!(!_loaderUtils.isBrowser && (_this$options$brotli3 = this.options.brotli) !== null && _this$options$brotli3 !== void 0 && _this$options$brotli3.useZlib)) {
136
- _context3.next = 5;
137
- break;
138
- }
139
- _context3.next = 3;
140
- return (0, _loaderUtils.promisify1)(_zlib.default.brotliDecompress)(input);
141
- case 3:
142
- buffer = _context3.sent;
143
- return _context3.abrupt("return", (0, _loaderUtils.toArrayBuffer)(buffer));
144
- case 5:
145
- return _context3.abrupt("return", this.decompressSync(input));
146
- case 6:
147
- case "end":
148
- return _context3.stop();
149
- }
125
+ while (1) switch (_context3.prev = _context3.next) {
126
+ case 0:
127
+ if (!(!_loaderUtils.isBrowser && (_this$options$brotli3 = this.options.brotli) !== null && _this$options$brotli3 !== void 0 && _this$options$brotli3.useZlib)) {
128
+ _context3.next = 5;
129
+ break;
130
+ }
131
+ _context3.next = 3;
132
+ return (0, _loaderUtils.promisify1)(_zlib.default.brotliDecompress)(input);
133
+ case 3:
134
+ buffer = _context3.sent;
135
+ return _context3.abrupt("return", (0, _loaderUtils.toArrayBuffer)(buffer));
136
+ case 5:
137
+ return _context3.abrupt("return", this.decompressSync(input));
138
+ case 6:
139
+ case "end":
140
+ return _context3.stop();
150
141
  }
151
142
  }, _callee3, this);
152
143
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"brotli-compression.js","names":["DEFAULT_BROTLI_OPTIONS","brotli","mode","quality","lgwin","BrotliCompression","options","modules","console","warn","name","input","isBrowser","useZlib","promisify1","zlib","brotliCompress","buffer","toArrayBuffer","compressSync","brotliCompressSync","brotliOptions","inputArray","Uint8Array","Error","outputArray","compress","brotliDecompress","decompressSync","brotliDecompressSync","decompress","BrotliDecode","undefined","Compression"],"sources":["../../../src/lib/brotli-compression.ts"],"sourcesContent":["// BROTLI\nimport type {CompressionOptions} from './compression';\nimport {Compression} from './compression';\nimport {isBrowser, toArrayBuffer} from '@loaders.gl/loader-utils';\nimport type brotliNamespace from 'brotli';\n// import brotli from 'brotli'; // https://bundlephobia.com/package/brotli\nimport {BrotliDecode} from '../brotli/decode';\nimport zlib from 'zlib';\nimport {promisify1} from '@loaders.gl/loader-utils';\n\nexport type BrotliCompressionOptions = CompressionOptions & {\n brotli?: {\n mode?: number;\n quality?: number;\n lgwin?: number;\n useZlib?: boolean;\n };\n};\n\nconst DEFAULT_BROTLI_OPTIONS = {\n brotli: {\n mode: 0,\n quality: 8,\n lgwin: 22\n }\n};\n\nlet brotli: typeof brotliNamespace;\n\n/**\n * brotli compression / decompression\n */\nexport class BrotliCompression extends Compression {\n readonly name: string = 'brotli';\n readonly extensions = ['br'];\n readonly contentEncodings = ['br'];\n readonly isSupported = true;\n readonly options: BrotliCompressionOptions;\n\n constructor(options: BrotliCompressionOptions) {\n super(options);\n this.options = options;\n }\n\n /**\n * brotli is an injectable dependency due to big size\n * @param options\n */\n async preload(): Promise<void> {\n brotli = brotli || this.options?.modules?.brotli;\n if (!brotli) {\n // eslint-disable-next-line no-console\n console.warn(`${this.name} library not installed`);\n }\n }\n\n async compress(input: ArrayBuffer): Promise<ArrayBuffer> {\n // On Node.js we can use built-in zlib\n if (!isBrowser && this.options.brotli?.useZlib) {\n const buffer = await promisify1(zlib.brotliCompress)(input);\n return toArrayBuffer(buffer);\n }\n return this.compressSync(input);\n }\n\n compressSync(input: ArrayBuffer): ArrayBuffer {\n // On Node.js we can use built-in zlib\n if (!isBrowser && this.options.brotli?.useZlib) {\n const buffer = zlib.brotliCompressSync(input);\n return toArrayBuffer(buffer);\n }\n const brotliOptions = {...DEFAULT_BROTLI_OPTIONS.brotli, ...this.options?.brotli};\n const inputArray = new Uint8Array(input);\n\n if (!brotli) {\n throw new Error('brotli compression: brotli module not installed');\n }\n\n // @ts-ignore brotli types state that only Buffers are accepted...\n const outputArray = brotli.compress(inputArray, brotliOptions);\n return outputArray.buffer;\n }\n\n async decompress(input: ArrayBuffer): Promise<ArrayBuffer> {\n // On Node.js we can use built-in zlib\n if (!isBrowser && this.options.brotli?.useZlib) {\n const buffer = await promisify1(zlib.brotliDecompress)(input);\n return toArrayBuffer(buffer);\n }\n return this.decompressSync(input);\n }\n\n decompressSync(input: ArrayBuffer): ArrayBuffer {\n // On Node.js we can use built-in zlib\n if (!isBrowser && this.options.brotli?.useZlib) {\n const buffer = zlib.brotliDecompressSync(input);\n return toArrayBuffer(buffer);\n }\n\n const brotliOptions = {...DEFAULT_BROTLI_OPTIONS.brotli, ...this.options?.brotli};\n const inputArray = new Uint8Array(input);\n\n if (brotli) {\n // @ts-ignore brotli types state that only Buffers are accepted...\n const outputArray = brotli.decompress(inputArray, brotliOptions);\n return outputArray.buffer;\n }\n const outputArray = BrotliDecode(inputArray, undefined);\n return outputArray.buffer;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"brotli-compression.js","names":["_compression","require","_loaderUtils","_decode","_zlib","_interopRequireDefault","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","DEFAULT_BROTLI_OPTIONS","brotli","mode","quality","lgwin","BrotliCompression","_Compression","_inherits2","_super","options","_this","_classCallCheck2","_assertThisInitialized2","_createClass2","value","_preload","_asyncToGenerator2","_regenerator","mark","_callee","_this$options","_this$options$modules","wrap","_callee$","_context","prev","next","modules","console","warn","concat","name","stop","preload","_compress","_callee2","input","_this$options$brotli","buffer","_callee2$","_context2","isBrowser","useZlib","promisify1","zlib","brotliCompress","sent","abrupt","toArrayBuffer","compressSync","compress","_x","_this$options$brotli2","_this$options2","brotliCompressSync","brotliOptions","inputArray","Uint8Array","Error","outputArray","_decompress","_callee3","_this$options$brotli3","_callee3$","_context3","brotliDecompress","decompressSync","decompress","_x2","_this$options$brotli4","_this$options3","brotliDecompressSync","BrotliDecode","undefined","Compression","exports"],"sources":["../../../src/lib/brotli-compression.ts"],"sourcesContent":["// BROTLI\nimport type {CompressionOptions} from './compression';\nimport {Compression} from './compression';\nimport {isBrowser, toArrayBuffer} from '@loaders.gl/loader-utils';\nimport type brotliNamespace from 'brotli';\n// import brotli from 'brotli'; // https://bundlephobia.com/package/brotli\nimport {BrotliDecode} from '../brotli/decode';\nimport zlib from 'zlib';\nimport {promisify1} from '@loaders.gl/loader-utils';\n\nexport type BrotliCompressionOptions = CompressionOptions & {\n brotli?: {\n mode?: number;\n quality?: number;\n lgwin?: number;\n useZlib?: boolean;\n };\n};\n\nconst DEFAULT_BROTLI_OPTIONS = {\n brotli: {\n mode: 0,\n quality: 8,\n lgwin: 22\n }\n};\n\nlet brotli: typeof brotliNamespace;\n\n/**\n * brotli compression / decompression\n */\nexport class BrotliCompression extends Compression {\n readonly name: string = 'brotli';\n readonly extensions = ['br'];\n readonly contentEncodings = ['br'];\n readonly isSupported = true;\n readonly options: BrotliCompressionOptions;\n\n constructor(options: BrotliCompressionOptions) {\n super(options);\n this.options = options;\n }\n\n /**\n * brotli is an injectable dependency due to big size\n * @param options\n */\n async preload(): Promise<void> {\n brotli = brotli || this.options?.modules?.brotli;\n if (!brotli) {\n // eslint-disable-next-line no-console\n console.warn(`${this.name} library not installed`);\n }\n }\n\n async compress(input: ArrayBuffer): Promise<ArrayBuffer> {\n // On Node.js we can use built-in zlib\n if (!isBrowser && this.options.brotli?.useZlib) {\n const buffer = await promisify1(zlib.brotliCompress)(input);\n return toArrayBuffer(buffer);\n }\n return this.compressSync(input);\n }\n\n compressSync(input: ArrayBuffer): ArrayBuffer {\n // On Node.js we can use built-in zlib\n if (!isBrowser && this.options.brotli?.useZlib) {\n const buffer = zlib.brotliCompressSync(input);\n return toArrayBuffer(buffer);\n }\n const brotliOptions = {...DEFAULT_BROTLI_OPTIONS.brotli, ...this.options?.brotli};\n const inputArray = new Uint8Array(input);\n\n if (!brotli) {\n throw new Error('brotli compression: brotli module not installed');\n }\n\n // @ts-ignore brotli types state that only Buffers are accepted...\n const outputArray = brotli.compress(inputArray, brotliOptions);\n return outputArray.buffer;\n }\n\n async decompress(input: ArrayBuffer): Promise<ArrayBuffer> {\n // On Node.js we can use built-in zlib\n if (!isBrowser && this.options.brotli?.useZlib) {\n const buffer = await promisify1(zlib.brotliDecompress)(input);\n return toArrayBuffer(buffer);\n }\n return this.decompressSync(input);\n }\n\n decompressSync(input: ArrayBuffer): ArrayBuffer {\n // On Node.js we can use built-in zlib\n if (!isBrowser && this.options.brotli?.useZlib) {\n const buffer = zlib.brotliDecompressSync(input);\n return toArrayBuffer(buffer);\n }\n\n const brotliOptions = {...DEFAULT_BROTLI_OPTIONS.brotli, ...this.options?.brotli};\n const inputArray = new Uint8Array(input);\n\n if (brotli) {\n // @ts-ignore brotli types state that only Buffers are accepted...\n const outputArray = brotli.decompress(inputArray, brotliOptions);\n return outputArray.buffer;\n }\n const outputArray = BrotliDecode(inputArray, undefined);\n return outputArray.buffer;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAEA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAGA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAAwB,SAAAK,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,QAAAC,gBAAA,CAAAC,OAAA,EAAAR,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAmB,yBAAA,GAAAnB,MAAA,CAAAoB,gBAAA,CAAAV,MAAA,EAAAV,MAAA,CAAAmB,yBAAA,CAAAL,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAqB,cAAA,CAAAX,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAAA,SAAAY,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,CAAAV,OAAA,EAAAK,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,OAAAF,gBAAA,CAAAV,OAAA,QAAAa,WAAA,EAAAF,MAAA,GAAAG,OAAA,CAAAC,SAAA,CAAAN,KAAA,EAAAf,SAAA,EAAAkB,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAAnB,KAAA,OAAAI,SAAA,gBAAAsB,2BAAA,CAAAhB,OAAA,QAAAW,MAAA;AAAA,SAAAJ,0BAAA,eAAAO,OAAA,qBAAAA,OAAA,CAAAC,SAAA,oBAAAD,OAAA,CAAAC,SAAA,CAAAE,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAR,OAAA,CAAAC,SAAA,CAAAI,OAAA,8CAAAI,CAAA;AAYxB,IAAMC,sBAAsB,GAAG;EAC7BC,MAAM,EAAE;IACNC,IAAI,EAAE,CAAC;IACPC,OAAO,EAAE,CAAC;IACVC,KAAK,EAAE;EACT;AACF,CAAC;AAED,IAAIH,MAA8B;AAAC,IAKtBI,iBAAiB,aAAAC,YAAA;EAAA,IAAAC,UAAA,CAAA/B,OAAA,EAAA6B,iBAAA,EAAAC,YAAA;EAAA,IAAAE,MAAA,GAAA5B,YAAA,CAAAyB,iBAAA;EAO5B,SAAAA,kBAAYI,OAAiC,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,CAAAnC,OAAA,QAAA6B,iBAAA;IAC7CK,KAAA,GAAAF,MAAA,CAAAV,IAAA,OAAMW,OAAO;IAAE,IAAAlC,gBAAA,CAAAC,OAAA,MAAAoC,uBAAA,CAAApC,OAAA,EAAAkC,KAAA,WAPO,QAAQ;IAAA,IAAAnC,gBAAA,CAAAC,OAAA,MAAAoC,uBAAA,CAAApC,OAAA,EAAAkC,KAAA,iBACV,CAAC,IAAI,CAAC;IAAA,IAAAnC,gBAAA,CAAAC,OAAA,MAAAoC,uBAAA,CAAApC,OAAA,EAAAkC,KAAA,uBACA,CAAC,IAAI,CAAC;IAAA,IAAAnC,gBAAA,CAAAC,OAAA,MAAAoC,uBAAA,CAAApC,OAAA,EAAAkC,KAAA,kBACX,IAAI;IAAA,IAAAnC,gBAAA,CAAAC,OAAA,MAAAoC,uBAAA,CAAApC,OAAA,EAAAkC,KAAA;IAKzBA,KAAA,CAAKD,OAAO,GAAGA,OAAO;IAAC,OAAAC,KAAA;EACzB;EAAC,IAAAG,aAAA,CAAArC,OAAA,EAAA6B,iBAAA;IAAA/B,GAAA;IAAAwC,KAAA;MAAA,IAAAC,QAAA,OAAAC,kBAAA,CAAAxC,OAAA,EAAAyC,YAAA,CAAAzC,OAAA,CAAA0C,IAAA,CAMD,SAAAC,QAAA;QAAA,IAAAC,aAAA,EAAAC,qBAAA;QAAA,OAAAJ,YAAA,CAAAzC,OAAA,CAAA8C,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cACEzB,MAAM,GAAGA,MAAM,MAAAmB,aAAA,GAAI,IAAI,CAACX,OAAO,cAAAW,aAAA,wBAAAC,qBAAA,GAAZD,aAAA,CAAcO,OAAO,cAAAN,qBAAA,uBAArBA,qBAAA,CAAuBpB,MAAM;cAChD,IAAI,CAACA,MAAM,EAAE;gBAEX2B,OAAO,CAACC,IAAI,IAAAC,MAAA,CAAI,IAAI,CAACC,IAAI,4BAAyB;cACpD;YAAC;YAAA;cAAA,OAAAP,QAAA,CAAAQ,IAAA;UAAA;QAAA,GAAAb,OAAA;MAAA,CACF;MAAA,SAAAc,QAAA;QAAA,OAAAlB,QAAA,CAAAjD,KAAA,OAAAI,SAAA;MAAA;MAAA,OAAA+D,OAAA;IAAA;EAAA;IAAA3D,GAAA;IAAAwC,KAAA;MAAA,IAAAoB,SAAA,OAAAlB,kBAAA,CAAAxC,OAAA,EAAAyC,YAAA,CAAAzC,OAAA,CAAA0C,IAAA,CAED,SAAAiB,SAAeC,KAAkB;QAAA,IAAAC,oBAAA;QAAA,IAAAC,MAAA;QAAA,OAAArB,YAAA,CAAAzC,OAAA,CAAA8C,IAAA,UAAAiB,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAf,IAAA,GAAAe,SAAA,CAAAd,IAAA;YAAA;cAAA,MAE3B,CAACe,sBAAS,KAAAJ,oBAAA,GAAI,IAAI,CAAC5B,OAAO,CAACR,MAAM,cAAAoC,oBAAA,eAAnBA,oBAAA,CAAqBK,OAAO;gBAAAF,SAAA,CAAAd,IAAA;gBAAA;cAAA;cAAAc,SAAA,CAAAd,IAAA;cAAA,OACvB,IAAAiB,uBAAU,EAACC,aAAI,CAACC,cAAc,CAAC,CAACT,KAAK,CAAC;YAAA;cAArDE,MAAM,GAAAE,SAAA,CAAAM,IAAA;cAAA,OAAAN,SAAA,CAAAO,MAAA,WACL,IAAAC,0BAAa,EAACV,MAAM,CAAC;YAAA;cAAA,OAAAE,SAAA,CAAAO,MAAA,WAEvB,IAAI,CAACE,YAAY,CAACb,KAAK,CAAC;YAAA;YAAA;cAAA,OAAAI,SAAA,CAAAR,IAAA;UAAA;QAAA,GAAAG,QAAA;MAAA,CAChC;MAAA,SAAAe,SAAAC,EAAA;QAAA,OAAAjB,SAAA,CAAApE,KAAA,OAAAI,SAAA;MAAA;MAAA,OAAAgF,QAAA;IAAA;EAAA;IAAA5E,GAAA;IAAAwC,KAAA,EAED,SAAAmC,aAAab,KAAkB,EAAe;MAAA,IAAAgB,qBAAA,EAAAC,cAAA;MAE5C,IAAI,CAACZ,sBAAS,KAAAW,qBAAA,GAAI,IAAI,CAAC3C,OAAO,CAACR,MAAM,cAAAmD,qBAAA,eAAnBA,qBAAA,CAAqBV,OAAO,EAAE;QAC9C,IAAMJ,MAAM,GAAGM,aAAI,CAACU,kBAAkB,CAAClB,KAAK,CAAC;QAC7C,OAAO,IAAAY,0BAAa,EAACV,MAAM,CAAC;MAC9B;MACA,IAAMiB,aAAa,GAAAxF,aAAA,CAAAA,aAAA,KAAOiC,sBAAsB,CAACC,MAAM,IAAAoD,cAAA,GAAK,IAAI,CAAC5C,OAAO,cAAA4C,cAAA,uBAAZA,cAAA,CAAcpD,MAAM,CAAC;MACjF,IAAMuD,UAAU,GAAG,IAAIC,UAAU,CAACrB,KAAK,CAAC;MAExC,IAAI,CAACnC,MAAM,EAAE;QACX,MAAM,IAAIyD,KAAK,CAAC,iDAAiD,CAAC;MACpE;MAGA,IAAMC,WAAW,GAAG1D,MAAM,CAACiD,QAAQ,CAACM,UAAU,EAAED,aAAa,CAAC;MAC9D,OAAOI,WAAW,CAACrB,MAAM;IAC3B;EAAC;IAAAhE,GAAA;IAAAwC,KAAA;MAAA,IAAA8C,WAAA,OAAA5C,kBAAA,CAAAxC,OAAA,EAAAyC,YAAA,CAAAzC,OAAA,CAAA0C,IAAA,CAED,SAAA2C,SAAiBzB,KAAkB;QAAA,IAAA0B,qBAAA;QAAA,IAAAxB,MAAA;QAAA,OAAArB,YAAA,CAAAzC,OAAA,CAAA8C,IAAA,UAAAyC,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAvC,IAAA,GAAAuC,SAAA,CAAAtC,IAAA;YAAA;cAAA,MAE7B,CAACe,sBAAS,KAAAqB,qBAAA,GAAI,IAAI,CAACrD,OAAO,CAACR,MAAM,cAAA6D,qBAAA,eAAnBA,qBAAA,CAAqBpB,OAAO;gBAAAsB,SAAA,CAAAtC,IAAA;gBAAA;cAAA;cAAAsC,SAAA,CAAAtC,IAAA;cAAA,OACvB,IAAAiB,uBAAU,EAACC,aAAI,CAACqB,gBAAgB,CAAC,CAAC7B,KAAK,CAAC;YAAA;cAAvDE,MAAM,GAAA0B,SAAA,CAAAlB,IAAA;cAAA,OAAAkB,SAAA,CAAAjB,MAAA,WACL,IAAAC,0BAAa,EAACV,MAAM,CAAC;YAAA;cAAA,OAAA0B,SAAA,CAAAjB,MAAA,WAEvB,IAAI,CAACmB,cAAc,CAAC9B,KAAK,CAAC;YAAA;YAAA;cAAA,OAAA4B,SAAA,CAAAhC,IAAA;UAAA;QAAA,GAAA6B,QAAA;MAAA,CAClC;MAAA,SAAAM,WAAAC,GAAA;QAAA,OAAAR,WAAA,CAAA9F,KAAA,OAAAI,SAAA;MAAA;MAAA,OAAAiG,UAAA;IAAA;EAAA;IAAA7F,GAAA;IAAAwC,KAAA,EAED,SAAAoD,eAAe9B,KAAkB,EAAe;MAAA,IAAAiC,qBAAA,EAAAC,cAAA;MAE9C,IAAI,CAAC7B,sBAAS,KAAA4B,qBAAA,GAAI,IAAI,CAAC5D,OAAO,CAACR,MAAM,cAAAoE,qBAAA,eAAnBA,qBAAA,CAAqB3B,OAAO,EAAE;QAC9C,IAAMJ,MAAM,GAAGM,aAAI,CAAC2B,oBAAoB,CAACnC,KAAK,CAAC;QAC/C,OAAO,IAAAY,0BAAa,EAACV,MAAM,CAAC;MAC9B;MAEA,IAAMiB,aAAa,GAAAxF,aAAA,CAAAA,aAAA,KAAOiC,sBAAsB,CAACC,MAAM,IAAAqE,cAAA,GAAK,IAAI,CAAC7D,OAAO,cAAA6D,cAAA,uBAAZA,cAAA,CAAcrE,MAAM,CAAC;MACjF,IAAMuD,UAAU,GAAG,IAAIC,UAAU,CAACrB,KAAK,CAAC;MAExC,IAAInC,MAAM,EAAE;QAEV,IAAM0D,YAAW,GAAG1D,MAAM,CAACkE,UAAU,CAACX,UAAU,EAAED,aAAa,CAAC;QAChE,OAAOI,YAAW,CAACrB,MAAM;MAC3B;MACA,IAAMqB,WAAW,GAAG,IAAAa,oBAAY,EAAChB,UAAU,EAAEiB,SAAS,CAAC;MACvD,OAAOd,WAAW,CAACrB,MAAM;IAC3B;EAAC;EAAA,OAAAjC,iBAAA;AAAA,EA7EoCqE,wBAAW;AAAAC,OAAA,CAAAtE,iBAAA,GAAAA,iBAAA"}
@@ -23,20 +23,17 @@ var Compression = function () {
23
23
  this.compressBatches = this.compressBatches.bind(this);
24
24
  this.decompressBatches = this.decompressBatches.bind(this);
25
25
  }
26
-
27
26
  (0, _createClass2.default)(Compression, [{
28
27
  key: "preload",
29
28
  value: function () {
30
29
  var _preload = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() {
31
30
  return _regenerator.default.wrap(function _callee$(_context) {
32
- while (1) {
33
- switch (_context.prev = _context.next) {
34
- case 0:
35
- return _context.abrupt("return");
36
- case 1:
37
- case "end":
38
- return _context.stop();
39
- }
31
+ while (1) switch (_context.prev = _context.next) {
32
+ case 0:
33
+ return _context.abrupt("return");
34
+ case 1:
35
+ case "end":
36
+ return _context.stop();
40
37
  }
41
38
  }, _callee);
42
39
  }));
@@ -50,17 +47,15 @@ var Compression = function () {
50
47
  value: function () {
51
48
  var _compress = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(input) {
52
49
  return _regenerator.default.wrap(function _callee2$(_context2) {
53
- while (1) {
54
- switch (_context2.prev = _context2.next) {
55
- case 0:
56
- _context2.next = 2;
57
- return this.preload();
58
- case 2:
59
- return _context2.abrupt("return", this.compressSync(input));
60
- case 3:
61
- case "end":
62
- return _context2.stop();
63
- }
50
+ while (1) switch (_context2.prev = _context2.next) {
51
+ case 0:
52
+ _context2.next = 2;
53
+ return this.preload();
54
+ case 2:
55
+ return _context2.abrupt("return", this.compressSync(input));
56
+ case 3:
57
+ case "end":
58
+ return _context2.stop();
64
59
  }
65
60
  }, _callee2, this);
66
61
  }));
@@ -74,17 +69,15 @@ var Compression = function () {
74
69
  value: function () {
75
70
  var _decompress = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(input, size) {
76
71
  return _regenerator.default.wrap(function _callee3$(_context3) {
77
- while (1) {
78
- switch (_context3.prev = _context3.next) {
79
- case 0:
80
- _context3.next = 2;
81
- return this.preload();
82
- case 2:
83
- return _context3.abrupt("return", this.decompressSync(input, size));
84
- case 3:
85
- case "end":
86
- return _context3.stop();
87
- }
72
+ while (1) switch (_context3.prev = _context3.next) {
73
+ case 0:
74
+ _context3.next = 2;
75
+ return this.preload();
76
+ case 2:
77
+ return _context3.abrupt("return", this.decompressSync(input, size));
78
+ case 3:
79
+ case "end":
80
+ return _context3.stop();
88
81
  }
89
82
  }, _callee3, this);
90
83
  }));
@@ -95,75 +88,61 @@ var Compression = function () {
95
88
  }()
96
89
  }, {
97
90
  key: "compressSync",
98
- value:
99
- function compressSync(input) {
91
+ value: function compressSync(input) {
100
92
  throw new Error("".concat(this.name, ": sync compression not supported"));
101
93
  }
102
-
103
94
  }, {
104
95
  key: "decompressSync",
105
- value:
106
- function decompressSync(input, size) {
96
+ value: function decompressSync(input, size) {
107
97
  throw new Error("".concat(this.name, ": sync decompression not supported"));
108
98
  }
109
-
110
99
  }, {
111
100
  key: "compressBatches",
112
- value:
113
- function compressBatches(asyncIterator) {
101
+ value: function compressBatches(asyncIterator) {
114
102
  var _this = this;
115
103
  return (0, _wrapAsyncGenerator2.default)(_regenerator.default.mark(function _callee4() {
116
104
  var input;
117
105
  return _regenerator.default.wrap(function _callee4$(_context4) {
118
- while (1) {
119
- switch (_context4.prev = _context4.next) {
120
- case 0:
121
- _context4.next = 2;
122
- return (0, _awaitAsyncGenerator2.default)(_this.concatenate(asyncIterator));
123
- case 2:
124
- input = _context4.sent;
125
- _context4.next = 5;
126
- return _this.compress(input);
127
- case 5:
128
- case "end":
129
- return _context4.stop();
130
- }
106
+ while (1) switch (_context4.prev = _context4.next) {
107
+ case 0:
108
+ _context4.next = 2;
109
+ return (0, _awaitAsyncGenerator2.default)(_this.concatenate(asyncIterator));
110
+ case 2:
111
+ input = _context4.sent;
112
+ _context4.next = 5;
113
+ return _this.compress(input);
114
+ case 5:
115
+ case "end":
116
+ return _context4.stop();
131
117
  }
132
118
  }, _callee4);
133
119
  }))();
134
120
  }
135
-
136
121
  }, {
137
122
  key: "decompressBatches",
138
- value:
139
- function decompressBatches(asyncIterator) {
123
+ value: function decompressBatches(asyncIterator) {
140
124
  var _this2 = this;
141
125
  return (0, _wrapAsyncGenerator2.default)(_regenerator.default.mark(function _callee5() {
142
126
  var input;
143
127
  return _regenerator.default.wrap(function _callee5$(_context5) {
144
- while (1) {
145
- switch (_context5.prev = _context5.next) {
146
- case 0:
147
- _context5.next = 2;
148
- return (0, _awaitAsyncGenerator2.default)(_this2.concatenate(asyncIterator));
149
- case 2:
150
- input = _context5.sent;
151
- _context5.next = 5;
152
- return _this2.decompress(input);
153
- case 5:
154
- case "end":
155
- return _context5.stop();
156
- }
128
+ while (1) switch (_context5.prev = _context5.next) {
129
+ case 0:
130
+ _context5.next = 2;
131
+ return (0, _awaitAsyncGenerator2.default)(_this2.concatenate(asyncIterator));
132
+ case 2:
133
+ input = _context5.sent;
134
+ _context5.next = 5;
135
+ return _this2.decompress(input);
136
+ case 5:
137
+ case "end":
138
+ return _context5.stop();
157
139
  }
158
140
  }, _callee5);
159
141
  }))();
160
142
  }
161
-
162
143
  }, {
163
144
  key: "concatenate",
164
- value:
165
-
166
- function concatenate(asyncIterator) {
145
+ value: function concatenate(asyncIterator) {
167
146
  return (0, _loaderUtils.concatenateArrayBuffersAsync)(asyncIterator);
168
147
  }
169
148
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"compression.js","names":["Compression","options","compressBatches","bind","decompressBatches","input","preload","compressSync","size","decompressSync","Error","name","asyncIterator","concatenate","compress","decompress","concatenateArrayBuffersAsync","error","message","includes"],"sources":["../../../src/lib/compression.ts"],"sourcesContent":["// Compression interface\nimport {concatenateArrayBuffersAsync} from '@loaders.gl/loader-utils';\n\n/** Compression options */\nexport type CompressionOptions = {\n // operation: 'compress' | 'decompress';\n modules?: {[moduleName: string]: any};\n};\n\n/** Compression */\nexport abstract class Compression {\n abstract readonly name: string;\n abstract readonly extensions: string[];\n abstract readonly contentEncodings: string[];\n abstract readonly isSupported: boolean;\n\n constructor(options?: CompressionOptions) {\n this.compressBatches = this.compressBatches.bind(this);\n this.decompressBatches = this.decompressBatches.bind(this);\n }\n\n /** Preloads any dynamic libraries. May enable sync functions */\n async preload(): Promise<void> {\n return;\n }\n\n /** Asynchronously compress data */\n async compress(input: ArrayBuffer): Promise<ArrayBuffer> {\n await this.preload();\n return this.compressSync(input);\n }\n\n /** Asynchronously decompress data */\n async decompress(input: ArrayBuffer, size?: number): Promise<ArrayBuffer> {\n await this.preload();\n return this.decompressSync(input, size);\n }\n\n /** Synchronously compress data */\n compressSync(input: ArrayBuffer): ArrayBuffer {\n throw new Error(`${this.name}: sync compression not supported`);\n }\n\n /** Synchronously compress data */\n decompressSync(input: ArrayBuffer, size?: number): ArrayBuffer {\n throw new Error(`${this.name}: sync decompression not supported`);\n }\n\n /** Compress batches */\n async *compressBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n ): AsyncIterable<ArrayBuffer> {\n // TODO - implement incremental compression\n const input = await this.concatenate(asyncIterator);\n yield this.compress(input);\n }\n\n /** Decompress batches */\n async *decompressBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n ): AsyncIterable<ArrayBuffer> {\n // TODO - implement incremental compression\n const input = await this.concatenate(asyncIterator);\n yield this.decompress(input);\n }\n\n // HELPERS\n\n protected concatenate(asyncIterator): Promise<ArrayBuffer> {\n return concatenateArrayBuffersAsync(asyncIterator);\n }\n\n protected improveError(error) {\n if (!error.message.includes(this.name)) {\n error.message = `${this.name} ${error.message}`;\n }\n return error;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AACA;AAAsE,IAShDA,WAAW;EAM/B,qBAAYC,OAA4B,EAAE;IAAA;IAAA;IAAA;IAAA;IAAA;IACxC,IAAI,CAACC,eAAe,GAAG,IAAI,CAACA,eAAe,CAACC,IAAI,CAAC,IAAI,CAAC;IACtD,IAAI,CAACC,iBAAiB,GAAG,IAAI,CAACA,iBAAiB,CAACD,IAAI,CAAC,IAAI,CAAC;EAC5D;;EAAC;IAAA;IAAA;MAAA,yEAGD;QAAA;UAAA;YAAA;cAAA;gBAAA;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAEC;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,0EAGD,kBAAeE,KAAkB;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACzB,IAAI,CAACC,OAAO,EAAE;cAAA;gBAAA,kCACb,IAAI,CAACC,YAAY,CAACF,KAAK,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAChC;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,4EAGD,kBAAiBA,KAAkB,EAAEG,IAAa;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAC1C,IAAI,CAACF,OAAO,EAAE;cAAA;gBAAA,kCACb,IAAI,CAACG,cAAc,CAACJ,KAAK,EAAEG,IAAI,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACxC;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;IAGD,sBAAaH,KAAkB,EAAe;MAC5C,MAAM,IAAIK,KAAK,WAAI,IAAI,CAACC,IAAI,sCAAmC;IACjE;;EAAC;IAAA;IAAA;IAGD,wBAAeN,KAAkB,EAAEG,IAAa,EAAe;MAC7D,MAAM,IAAIE,KAAK,WAAI,IAAI,CAACC,IAAI,wCAAqC;IACnE;;EAAC;IAAA;IAAA;IAGD,yBACEC,aAAiE,EACrC;MAAA;MAAA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,0CAER,KAAI,CAACC,WAAW,CAACD,aAAa,CAAC;cAAA;gBAA7CP,KAAK;gBAAA;gBACX,OAAM,KAAI,CAACS,QAAQ,CAACT,KAAK,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA;IAC5B;;EAAC;IAAA;IAAA;IAGD,2BACEO,aAAiE,EACrC;MAAA;MAAA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,0CAER,MAAI,CAACC,WAAW,CAACD,aAAa,CAAC;cAAA;gBAA7CP,KAAK;gBAAA;gBACX,OAAM,MAAI,CAACU,UAAU,CAACV,KAAK,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA;IAC9B;;EAAC;IAAA;IAAA;;IAID,qBAAsBO,aAAa,EAAwB;MACzD,OAAO,IAAAI,yCAA4B,EAACJ,aAAa,CAAC;IACpD;EAAC;IAAA;IAAA,OAED,sBAAuBK,KAAK,EAAE;MAC5B,IAAI,CAACA,KAAK,CAACC,OAAO,CAACC,QAAQ,CAAC,IAAI,CAACR,IAAI,CAAC,EAAE;QACtCM,KAAK,CAACC,OAAO,aAAM,IAAI,CAACP,IAAI,cAAIM,KAAK,CAACC,OAAO,CAAE;MACjD;MACA,OAAOD,KAAK;IACd;EAAC;EAAA;AAAA;AAAA"}
1
+ {"version":3,"file":"compression.js","names":["_loaderUtils","require","Compression","options","_classCallCheck2","default","_defineProperty2","compressBatches","bind","decompressBatches","_createClass2","key","value","_preload","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","abrupt","stop","preload","apply","arguments","_compress","_callee2","input","_callee2$","_context2","compressSync","compress","_x","_decompress","_callee3","size","_callee3$","_context3","decompressSync","decompress","_x2","_x3","Error","concat","name","asyncIterator","_this","_wrapAsyncGenerator2","_callee4","_callee4$","_context4","_awaitAsyncGenerator2","concatenate","sent","_this2","_callee5","_callee5$","_context5","concatenateArrayBuffersAsync","improveError","error","message","includes","exports"],"sources":["../../../src/lib/compression.ts"],"sourcesContent":["// Compression interface\nimport {concatenateArrayBuffersAsync} from '@loaders.gl/loader-utils';\n\n/** Compression options */\nexport type CompressionOptions = {\n // operation: 'compress' | 'decompress';\n modules?: {[moduleName: string]: any};\n};\n\n/** Compression */\nexport abstract class Compression {\n abstract readonly name: string;\n abstract readonly extensions: string[];\n abstract readonly contentEncodings: string[];\n abstract readonly isSupported: boolean;\n\n constructor(options?: CompressionOptions) {\n this.compressBatches = this.compressBatches.bind(this);\n this.decompressBatches = this.decompressBatches.bind(this);\n }\n\n /** Preloads any dynamic libraries. May enable sync functions */\n async preload(): Promise<void> {\n return;\n }\n\n /** Asynchronously compress data */\n async compress(input: ArrayBuffer): Promise<ArrayBuffer> {\n await this.preload();\n return this.compressSync(input);\n }\n\n /** Asynchronously decompress data */\n async decompress(input: ArrayBuffer, size?: number): Promise<ArrayBuffer> {\n await this.preload();\n return this.decompressSync(input, size);\n }\n\n /** Synchronously compress data */\n compressSync(input: ArrayBuffer): ArrayBuffer {\n throw new Error(`${this.name}: sync compression not supported`);\n }\n\n /** Synchronously compress data */\n decompressSync(input: ArrayBuffer, size?: number): ArrayBuffer {\n throw new Error(`${this.name}: sync decompression not supported`);\n }\n\n /** Compress batches */\n async *compressBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n ): AsyncIterable<ArrayBuffer> {\n // TODO - implement incremental compression\n const input = await this.concatenate(asyncIterator);\n yield this.compress(input);\n }\n\n /** Decompress batches */\n async *decompressBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n ): AsyncIterable<ArrayBuffer> {\n // TODO - implement incremental compression\n const input = await this.concatenate(asyncIterator);\n yield this.decompress(input);\n }\n\n // HELPERS\n\n protected concatenate(asyncIterator): Promise<ArrayBuffer> {\n return concatenateArrayBuffersAsync(asyncIterator);\n }\n\n protected improveError(error) {\n if (!error.message.includes(this.name)) {\n error.message = `${this.name} ${error.message}`;\n }\n return error;\n }\n}\n"],"mappings":"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"}