@loaders.gl/compression 3.1.0-alpha.4 → 3.1.0-beta.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 (94) hide show
  1. package/dist/brotli/decode.d.ts +5 -0
  2. package/dist/brotli/decode.d.ts.map +1 -0
  3. package/dist/brotli/decode.js +2346 -0
  4. package/dist/bundle.d.ts +2 -0
  5. package/dist/bundle.d.ts.map +1 -0
  6. package/dist/bundle.js +5 -0
  7. package/dist/compression-worker.d.ts +21 -0
  8. package/dist/compression-worker.d.ts.map +1 -0
  9. package/dist/compression-worker.js +4 -13
  10. package/dist/compression-worker.js.map +7 -1
  11. package/dist/dist.min.js +9 -2
  12. package/dist/dist.min.js.map +7 -1
  13. package/dist/es5/brotli/decode.js +2220 -0
  14. package/dist/es5/brotli/decode.js.map +1 -0
  15. package/dist/es5/bundle.js +1 -1
  16. package/dist/es5/bundle.js.map +1 -1
  17. package/dist/es5/compression-worker.js +3 -3
  18. package/dist/es5/compression-worker.js.map +1 -1
  19. package/dist/es5/index.js +11 -11
  20. package/dist/es5/lib/brotli-compression.js +84 -184
  21. package/dist/es5/lib/brotli-compression.js.map +1 -1
  22. package/dist/es5/lib/compression.js +46 -175
  23. package/dist/es5/lib/compression.js.map +1 -1
  24. package/dist/es5/lib/deflate-compression.js +118 -373
  25. package/dist/es5/lib/deflate-compression.js.map +1 -1
  26. package/dist/es5/lib/gzip-compression.js +11 -38
  27. package/dist/es5/lib/gzip-compression.js.map +1 -1
  28. package/dist/es5/lib/lz4-compression.js +81 -112
  29. package/dist/es5/lib/lz4-compression.js.map +1 -1
  30. package/dist/es5/lib/lzo-compression.js +28 -128
  31. package/dist/es5/lib/lzo-compression.js.map +1 -1
  32. package/dist/es5/lib/no-compression.js +22 -94
  33. package/dist/es5/lib/no-compression.js.map +1 -1
  34. package/dist/es5/lib/snappy-compression.js +16 -44
  35. package/dist/es5/lib/snappy-compression.js.map +1 -1
  36. package/dist/es5/lib/zstd-compression.js +27 -98
  37. package/dist/es5/lib/zstd-compression.js.map +1 -1
  38. package/dist/es5/workers/worker.js +26 -74
  39. package/dist/es5/workers/worker.js.map +1 -1
  40. package/dist/esm/brotli/decode.js +2213 -0
  41. package/dist/esm/brotli/decode.js.map +1 -0
  42. package/dist/esm/compression-worker.js +1 -1
  43. package/dist/esm/compression-worker.js.map +1 -1
  44. package/dist/esm/lib/brotli-compression.js +16 -2
  45. package/dist/esm/lib/brotli-compression.js.map +1 -1
  46. package/dist/esm/lib/compression.js +3 -3
  47. package/dist/esm/lib/compression.js.map +1 -1
  48. package/dist/esm/lib/deflate-compression.js +2 -2
  49. package/dist/esm/lib/deflate-compression.js.map +1 -1
  50. package/dist/esm/lib/zstd-compression.js +1 -1
  51. package/dist/esm/lib/zstd-compression.js.map +1 -1
  52. package/dist/esm/workers/worker.js +3 -12
  53. package/dist/esm/workers/worker.js.map +1 -1
  54. package/dist/index.d.ts +13 -0
  55. package/dist/index.d.ts.map +1 -0
  56. package/dist/index.js +24 -0
  57. package/dist/lib/brotli-compression.d.ts +31 -0
  58. package/dist/lib/brotli-compression.d.ts.map +1 -0
  59. package/dist/lib/brotli-compression.js +91 -0
  60. package/dist/lib/compression.d.ts +31 -0
  61. package/dist/lib/compression.d.ts.map +1 -0
  62. package/dist/lib/compression.js +57 -0
  63. package/dist/lib/deflate-compression.d.ts +32 -0
  64. package/dist/lib/deflate-compression.d.ts.map +1 -0
  65. package/dist/lib/deflate-compression.js +135 -0
  66. package/dist/lib/gzip-compression.d.ts +17 -0
  67. package/dist/lib/gzip-compression.d.ts.map +1 -0
  68. package/dist/lib/gzip-compression.js +17 -0
  69. package/dist/lib/lz4-compression.d.ts +37 -0
  70. package/dist/lib/lz4-compression.d.ts.map +1 -0
  71. package/dist/lib/lz4-compression.js +141 -0
  72. package/dist/lib/lzo-compression.d.ts +21 -0
  73. package/dist/lib/lzo-compression.d.ts.map +1 -0
  74. package/dist/lib/lzo-compression.js +58 -0
  75. package/dist/lib/no-compression.d.ts +18 -0
  76. package/dist/lib/no-compression.d.ts.map +1 -0
  77. package/dist/lib/no-compression.js +30 -0
  78. package/dist/lib/snappy-compression.d.ts +16 -0
  79. package/dist/lib/snappy-compression.d.ts.map +1 -0
  80. package/dist/lib/snappy-compression.js +27 -0
  81. package/dist/lib/zstd-compression.d.ts +21 -0
  82. package/dist/lib/zstd-compression.d.ts.map +1 -0
  83. package/dist/lib/zstd-compression.js +44 -0
  84. package/dist/types.d.ts +2 -0
  85. package/dist/types.d.ts.map +1 -0
  86. package/dist/types.js +2 -0
  87. package/dist/workers/worker.d.ts +2 -0
  88. package/dist/workers/worker.d.ts.map +1 -0
  89. package/dist/workers/worker.js +77 -0
  90. package/package.json +7 -7
  91. package/src/brotli/decode.ts +2441 -0
  92. package/src/lib/brotli-compression.ts +17 -3
  93. package/src/lib/zstd-compression.ts +1 -1
  94. package/src/workers/worker.ts +10 -10
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var moduleExports = require('./index');
3
+ const moduleExports = require('./index');
4
4
 
5
5
  globalThis.loaders = globalThis.loaders || {};
6
6
  module.exports = Object.assign(globalThis.loaders, moduleExports);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/bundle.ts"],"names":["moduleExports","require","globalThis","loaders","module","exports","Object","assign"],"mappings":";;AACA,IAAMA,aAAa,GAAGC,OAAO,CAAC,SAAD,CAA7B;;AACAC,UAAU,CAACC,OAAX,GAAqBD,UAAU,CAACC,OAAX,IAAsB,EAA3C;AACAC,MAAM,CAACC,OAAP,GAAiBC,MAAM,CAACC,MAAP,CAAcL,UAAU,CAACC,OAAzB,EAAkCH,aAAlC,CAAjB","sourcesContent":["// @ts-nocheck\nconst moduleExports = require('./index');\nglobalThis.loaders = globalThis.loaders || {};\nmodule.exports = Object.assign(globalThis.loaders, moduleExports);\n"],"file":"bundle.js"}
1
+ {"version":3,"sources":["../../src/bundle.ts"],"names":["moduleExports","require","globalThis","loaders","module","exports","Object","assign"],"mappings":";;AACA,MAAMA,aAAa,GAAGC,OAAO,CAAC,SAAD,CAA7B;;AACAC,UAAU,CAACC,OAAX,GAAqBD,UAAU,CAACC,OAAX,IAAsB,EAA3C;AACAC,MAAM,CAACC,OAAP,GAAiBC,MAAM,CAACC,MAAP,CAAcL,UAAU,CAACC,OAAzB,EAAkCH,aAAlC,CAAjB","sourcesContent":["// @ts-nocheck\nconst moduleExports = require('./index');\nglobalThis.loaders = globalThis.loaders || {};\nmodule.exports = Object.assign(globalThis.loaders, moduleExports);\n"],"file":"bundle.js"}
@@ -8,8 +8,8 @@ exports._typecheckCompressionWorker = exports.CompressionWorker = void 0;
8
8
 
9
9
  var _workerUtils = require("@loaders.gl/worker-utils");
10
10
 
11
- var VERSION = typeof "3.1.0-alpha.4" !== 'undefined' ? "3.1.0-alpha.4" : 'latest';
12
- var CompressionWorker = {
11
+ const VERSION = typeof "3.1.0-beta.3" !== 'undefined' ? "3.1.0-beta.3" : 'latest';
12
+ const CompressionWorker = {
13
13
  id: 'compression',
14
14
  name: 'compression',
15
15
  module: 'compression',
@@ -22,6 +22,6 @@ function compressOnWorker(data, options) {
22
22
  return (0, _workerUtils.processOnWorker)(CompressionWorker, data, options);
23
23
  }
24
24
 
25
- var _typecheckCompressionWorker = CompressionWorker;
25
+ const _typecheckCompressionWorker = CompressionWorker;
26
26
  exports._typecheckCompressionWorker = _typecheckCompressionWorker;
27
27
  //# sourceMappingURL=compression-worker.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/compression-worker.ts"],"names":["VERSION","CompressionWorker","id","name","module","version","options","compressOnWorker","data","_typecheckCompressionWorker"],"mappings":";;;;;;;;AACA;;AAIA,IAAMA,OAAO,GAAG,2BAAuB,WAAvB,qBAAmD,QAAnE;AAUO,IAAMC,iBAAiB,GAAG;AAC/BC,EAAAA,EAAE,EAAE,aAD2B;AAE/BC,EAAAA,IAAI,EAAE,aAFyB;AAG/BC,EAAAA,MAAM,EAAE,aAHuB;AAI/BC,EAAAA,OAAO,EAAEL,OAJsB;AAK/BM,EAAAA,OAAO,EAAE;AALsB,CAA1B;;;AAWA,SAASC,gBAAT,CACLC,IADK,EAELF,OAFK,EAGiB;AACtB,SAAO,kCAAgBL,iBAAhB,EAAmCO,IAAnC,EAAyCF,OAAzC,CAAP;AACD;;AAEM,IAAMG,2BAAyC,GAAGR,iBAAlD","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"],"file":"compression-worker.js"}
1
+ {"version":3,"sources":["../../src/compression-worker.ts"],"names":["VERSION","CompressionWorker","id","name","module","version","options","compressOnWorker","data","_typecheckCompressionWorker"],"mappings":";;;;;;;;AACA;;AAIA,MAAMA,OAAO,GAAG,0BAAuB,WAAvB,oBAAmD,QAAnE;AAUO,MAAMC,iBAAiB,GAAG;AAC/BC,EAAAA,EAAE,EAAE,aAD2B;AAE/BC,EAAAA,IAAI,EAAE,aAFyB;AAG/BC,EAAAA,MAAM,EAAE,aAHuB;AAI/BC,EAAAA,OAAO,EAAEL,OAJsB;AAK/BM,EAAAA,OAAO,EAAE;AALsB,CAA1B;;;AAWA,SAASC,gBAAT,CACLC,IADK,EAELF,OAFK,EAGiB;AACtB,SAAO,kCAAgBL,iBAAhB,EAAmCO,IAAnC,EAAyCF,OAAzC,CAAP;AACD;;AAEM,MAAMG,2BAAyC,GAAGR,iBAAlD","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"],"file":"compression-worker.js"}
package/dist/es5/index.js CHANGED
@@ -5,67 +5,67 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  Object.defineProperty(exports, "Compression", {
7
7
  enumerable: true,
8
- get: function get() {
8
+ get: function () {
9
9
  return _compression.Compression;
10
10
  }
11
11
  });
12
12
  Object.defineProperty(exports, "NoCompression", {
13
13
  enumerable: true,
14
- get: function get() {
14
+ get: function () {
15
15
  return _noCompression.NoCompression;
16
16
  }
17
17
  });
18
18
  Object.defineProperty(exports, "DeflateCompression", {
19
19
  enumerable: true,
20
- get: function get() {
20
+ get: function () {
21
21
  return _deflateCompression.DeflateCompression;
22
22
  }
23
23
  });
24
24
  Object.defineProperty(exports, "GZipCompression", {
25
25
  enumerable: true,
26
- get: function get() {
26
+ get: function () {
27
27
  return _gzipCompression.GZipCompression;
28
28
  }
29
29
  });
30
30
  Object.defineProperty(exports, "LZ4Compression", {
31
31
  enumerable: true,
32
- get: function get() {
32
+ get: function () {
33
33
  return _lz4Compression.LZ4Compression;
34
34
  }
35
35
  });
36
36
  Object.defineProperty(exports, "ZstdCompression", {
37
37
  enumerable: true,
38
- get: function get() {
38
+ get: function () {
39
39
  return _zstdCompression.ZstdCompression;
40
40
  }
41
41
  });
42
42
  Object.defineProperty(exports, "SnappyCompression", {
43
43
  enumerable: true,
44
- get: function get() {
44
+ get: function () {
45
45
  return _snappyCompression.SnappyCompression;
46
46
  }
47
47
  });
48
48
  Object.defineProperty(exports, "BrotliCompression", {
49
49
  enumerable: true,
50
- get: function get() {
50
+ get: function () {
51
51
  return _brotliCompression.BrotliCompression;
52
52
  }
53
53
  });
54
54
  Object.defineProperty(exports, "LZOCompression", {
55
55
  enumerable: true,
56
- get: function get() {
56
+ get: function () {
57
57
  return _lzoCompression.LZOCompression;
58
58
  }
59
59
  });
60
60
  Object.defineProperty(exports, "CompressionWorker", {
61
61
  enumerable: true,
62
- get: function get() {
62
+ get: function () {
63
63
  return _compressionWorker.CompressionWorker;
64
64
  }
65
65
  });
66
66
  Object.defineProperty(exports, "compressOnWorker", {
67
67
  enumerable: true,
68
- get: function get() {
68
+ get: function () {
69
69
  return _compressionWorker.compressOnWorker;
70
70
  }
71
71
  });
@@ -7,214 +7,114 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.BrotliCompression = void 0;
9
9
 
10
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
 
12
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
+ var _compression = require("./compression");
13
13
 
14
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
14
+ var _loaderUtils = require("@loaders.gl/loader-utils");
15
15
 
16
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
16
+ var _decode = require("../brotli/decode");
17
17
 
18
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
18
+ var _zlib = _interopRequireDefault(require("zlib"));
19
19
 
20
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
20
+ const DEFAULT_BROTLI_OPTIONS = {
21
+ brotli: {
22
+ mode: 0,
23
+ quality: 8,
24
+ lgwin: 22
25
+ }
26
+ };
27
+ let brotli;
28
+
29
+ class BrotliCompression extends _compression.Compression {
30
+ constructor(options) {
31
+ super(options);
32
+ (0, _defineProperty2.default)(this, "name", 'brotli');
33
+ (0, _defineProperty2.default)(this, "extensions", ['br']);
34
+ (0, _defineProperty2.default)(this, "contentEncodings", ['br']);
35
+ (0, _defineProperty2.default)(this, "isSupported", true);
36
+ (0, _defineProperty2.default)(this, "options", void 0);
37
+ this.options = options;
38
+ }
21
39
 
22
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
40
+ async preload() {
41
+ var _this$options, _this$options$modules;
23
42
 
24
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
43
+ 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);
25
44
 
26
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
45
+ if (!brotli) {
46
+ throw new Error(this.name);
47
+ }
48
+ }
27
49
 
28
- var _compression = require("./compression");
50
+ async compress(input) {
51
+ var _this$options$brotli;
29
52
 
30
- var _loaderUtils = require("@loaders.gl/loader-utils");
53
+ if (!_loaderUtils.isBrowser && (_this$options$brotli = this.options.brotli) !== null && _this$options$brotli !== void 0 && _this$options$brotli.useZlib) {
54
+ const buffer = await (0, _loaderUtils.promisify)(_zlib.default.brotliCompress)(input);
55
+ return (0, _loaderUtils.toArrayBuffer)(buffer);
56
+ }
31
57
 
32
- var _zlib = _interopRequireDefault(require("zlib"));
58
+ return this.compressSync(input);
59
+ }
33
60
 
34
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
61
+ compressSync(input) {
62
+ var _this$options$brotli2, _this$options2;
35
63
 
36
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
64
+ if (!_loaderUtils.isBrowser && (_this$options$brotli2 = this.options.brotli) !== null && _this$options$brotli2 !== void 0 && _this$options$brotli2.useZlib) {
65
+ const buffer = _zlib.default.brotliCompressSync(input);
37
66
 
38
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
67
+ return (0, _loaderUtils.toArrayBuffer)(buffer);
68
+ }
39
69
 
40
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
70
+ const brotliOptions = { ...DEFAULT_BROTLI_OPTIONS.brotli,
71
+ ...((_this$options2 = this.options) === null || _this$options2 === void 0 ? void 0 : _this$options2.brotli)
72
+ };
73
+ const inputArray = new Uint8Array(input);
41
74
 
42
- var DEFAULT_BROTLI_OPTIONS = {
43
- brotli: {
44
- mode: 0,
45
- quality: 8,
46
- lgwin: 22
47
- }
48
- };
49
- var brotli;
75
+ if (!brotli) {
76
+ throw new Error('brotli compression: brotli module not installed');
77
+ }
50
78
 
51
- var BrotliCompression = function (_Compression) {
52
- (0, _inherits2.default)(BrotliCompression, _Compression);
79
+ const outputArray = brotli.compress(inputArray, brotliOptions);
80
+ return outputArray.buffer;
81
+ }
53
82
 
54
- var _super = _createSuper(BrotliCompression);
83
+ async decompress(input) {
84
+ var _this$options$brotli3;
55
85
 
56
- function BrotliCompression(options) {
57
- var _this;
86
+ if (!_loaderUtils.isBrowser && (_this$options$brotli3 = this.options.brotli) !== null && _this$options$brotli3 !== void 0 && _this$options$brotli3.useZlib) {
87
+ const buffer = await (0, _loaderUtils.promisify)(_zlib.default.brotliDecompress)(input);
88
+ return (0, _loaderUtils.toArrayBuffer)(buffer);
89
+ }
58
90
 
59
- (0, _classCallCheck2.default)(this, BrotliCompression);
60
- _this = _super.call(this, options);
61
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "name", 'brotli');
62
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "extensions", ['br']);
63
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "contentEncodings", ['br']);
64
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isSupported", true);
65
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "options", void 0);
66
- _this.options = options;
67
- return _this;
91
+ return this.decompressSync(input);
68
92
  }
69
93
 
70
- (0, _createClass2.default)(BrotliCompression, [{
71
- key: "preload",
72
- value: function () {
73
- var _preload = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() {
74
- var _this$options, _this$options$modules;
75
-
76
- return _regenerator.default.wrap(function _callee$(_context) {
77
- while (1) {
78
- switch (_context.prev = _context.next) {
79
- case 0:
80
- 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);
81
-
82
- if (brotli) {
83
- _context.next = 3;
84
- break;
85
- }
86
-
87
- throw new Error(this.name);
88
-
89
- case 3:
90
- case "end":
91
- return _context.stop();
92
- }
93
- }
94
- }, _callee, this);
95
- }));
96
-
97
- function preload() {
98
- return _preload.apply(this, arguments);
99
- }
100
-
101
- return preload;
102
- }()
103
- }, {
104
- key: "compress",
105
- value: function () {
106
- var _compress = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(input) {
107
- var _this$options$brotli;
108
-
109
- var buffer;
110
- return _regenerator.default.wrap(function _callee2$(_context2) {
111
- while (1) {
112
- switch (_context2.prev = _context2.next) {
113
- case 0:
114
- if (!(!_loaderUtils.isBrowser && (_this$options$brotli = this.options.brotli) !== null && _this$options$brotli !== void 0 && _this$options$brotli.useZlib)) {
115
- _context2.next = 5;
116
- break;
117
- }
118
-
119
- _context2.next = 3;
120
- return (0, _loaderUtils.promisify)(_zlib.default.brotliCompress)(input);
121
-
122
- case 3:
123
- buffer = _context2.sent;
124
- return _context2.abrupt("return", (0, _loaderUtils.toArrayBuffer)(buffer));
125
-
126
- case 5:
127
- return _context2.abrupt("return", this.compressSync(input));
128
-
129
- case 6:
130
- case "end":
131
- return _context2.stop();
132
- }
133
- }
134
- }, _callee2, this);
135
- }));
136
-
137
- function compress(_x) {
138
- return _compress.apply(this, arguments);
139
- }
140
-
141
- return compress;
142
- }()
143
- }, {
144
- key: "compressSync",
145
- value: function compressSync(input) {
146
- var _this$options$brotli2, _this$options2;
147
-
148
- if (!_loaderUtils.isBrowser && (_this$options$brotli2 = this.options.brotli) !== null && _this$options$brotli2 !== void 0 && _this$options$brotli2.useZlib) {
149
- var buffer = _zlib.default.brotliCompressSync(input);
150
-
151
- return (0, _loaderUtils.toArrayBuffer)(buffer);
152
- }
153
-
154
- var brotliOptions = _objectSpread(_objectSpread({}, DEFAULT_BROTLI_OPTIONS.brotli), (_this$options2 = this.options) === null || _this$options2 === void 0 ? void 0 : _this$options2.brotli);
155
-
156
- var inputArray = new Uint8Array(input);
157
- return brotli.compress(inputArray, brotliOptions);
94
+ decompressSync(input) {
95
+ var _this$options$brotli4, _this$options3;
96
+
97
+ if (!_loaderUtils.isBrowser && (_this$options$brotli4 = this.options.brotli) !== null && _this$options$brotli4 !== void 0 && _this$options$brotli4.useZlib) {
98
+ const buffer = _zlib.default.brotliDecompressSync(input);
99
+
100
+ return (0, _loaderUtils.toArrayBuffer)(buffer);
158
101
  }
159
- }, {
160
- key: "decompress",
161
- value: function () {
162
- var _decompress = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(input) {
163
- var _this$options$brotli3;
164
-
165
- var buffer;
166
- return _regenerator.default.wrap(function _callee3$(_context3) {
167
- while (1) {
168
- switch (_context3.prev = _context3.next) {
169
- case 0:
170
- if (!(!_loaderUtils.isBrowser && (_this$options$brotli3 = this.options.brotli) !== null && _this$options$brotli3 !== void 0 && _this$options$brotli3.useZlib)) {
171
- _context3.next = 5;
172
- break;
173
- }
174
-
175
- _context3.next = 3;
176
- return (0, _loaderUtils.promisify)(_zlib.default.brotliDecompress)(input);
177
-
178
- case 3:
179
- buffer = _context3.sent;
180
- return _context3.abrupt("return", (0, _loaderUtils.toArrayBuffer)(buffer));
181
-
182
- case 5:
183
- return _context3.abrupt("return", this.decompressSync(input));
184
-
185
- case 6:
186
- case "end":
187
- return _context3.stop();
188
- }
189
- }
190
- }, _callee3, this);
191
- }));
192
-
193
- function decompress(_x2) {
194
- return _decompress.apply(this, arguments);
195
- }
196
-
197
- return decompress;
198
- }()
199
- }, {
200
- key: "decompressSync",
201
- value: function decompressSync(input) {
202
- var _this$options$brotli4, _this$options3;
203
-
204
- if (!_loaderUtils.isBrowser && (_this$options$brotli4 = this.options.brotli) !== null && _this$options$brotli4 !== void 0 && _this$options$brotli4.useZlib) {
205
- var buffer = _zlib.default.brotliDecompressSync(input);
206
-
207
- return (0, _loaderUtils.toArrayBuffer)(buffer);
208
- }
209
-
210
- var brotliOptions = _objectSpread(_objectSpread({}, DEFAULT_BROTLI_OPTIONS.brotli), (_this$options3 = this.options) === null || _this$options3 === void 0 ? void 0 : _this$options3.brotli);
211
-
212
- var inputArray = new Uint8Array(input);
213
- return brotli.decompress(inputArray, brotliOptions);
102
+
103
+ const brotliOptions = { ...DEFAULT_BROTLI_OPTIONS.brotli,
104
+ ...((_this$options3 = this.options) === null || _this$options3 === void 0 ? void 0 : _this$options3.brotli)
105
+ };
106
+ const inputArray = new Uint8Array(input);
107
+
108
+ if (brotli) {
109
+ const outputArray = brotli.decompress(inputArray, brotliOptions);
110
+ return outputArray.buffer;
214
111
  }
215
- }]);
216
- return BrotliCompression;
217
- }(_compression.Compression);
112
+
113
+ const outputArray = (0, _decode.BrotliDecode)(inputArray, undefined);
114
+ return outputArray.buffer;
115
+ }
116
+
117
+ }
218
118
 
219
119
  exports.BrotliCompression = BrotliCompression;
220
120
  //# sourceMappingURL=brotli-compression.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/brotli-compression.ts"],"names":["DEFAULT_BROTLI_OPTIONS","brotli","mode","quality","lgwin","BrotliCompression","options","modules","Error","name","input","isBrowser","useZlib","zlib","brotliCompress","buffer","compressSync","brotliCompressSync","brotliOptions","inputArray","Uint8Array","compress","brotliDecompress","decompressSync","brotliDecompressSync","decompress","Compression"],"mappings":"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","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 zlib from 'zlib';\nimport {promisify} 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 throw new Error(this.name);\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 promisify(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 // @ts-ignore brotli types state that only Buffers are accepted...\n return brotli.compress(inputArray, brotliOptions);\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 promisify(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 const brotliOptions = {...DEFAULT_BROTLI_OPTIONS.brotli, ...this.options?.brotli};\n const inputArray = new Uint8Array(input);\n // @ts-ignore brotli types state that only Buffers are accepted...\n return brotli.decompress(inputArray, brotliOptions);\n }\n}\n"],"file":"brotli-compression.js"}
1
+ {"version":3,"sources":["../../../src/lib/brotli-compression.ts"],"names":["DEFAULT_BROTLI_OPTIONS","brotli","mode","quality","lgwin","BrotliCompression","Compression","constructor","options","preload","modules","Error","name","compress","input","isBrowser","useZlib","buffer","zlib","brotliCompress","compressSync","brotliCompressSync","brotliOptions","inputArray","Uint8Array","outputArray","decompress","brotliDecompress","decompressSync","brotliDecompressSync","undefined"],"mappings":"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","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 {promisify} 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 throw new Error(this.name);\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 promisify(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 promisify(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"],"file":"brotli-compression.js"}