@loaders.gl/compression 3.1.0-beta.7 → 3.1.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 (33) hide show
  1. package/dist/dist.min.js +2 -2
  2. package/dist/dist.min.js.map +2 -2
  3. package/dist/es5/brotli/decode.js +333 -332
  4. package/dist/es5/brotli/decode.js.map +1 -1
  5. package/dist/es5/bundle.js +1 -1
  6. package/dist/es5/bundle.js.map +1 -1
  7. package/dist/es5/compression-worker.js +3 -3
  8. package/dist/es5/compression-worker.js.map +1 -1
  9. package/dist/es5/index.js +11 -11
  10. package/dist/es5/lib/brotli-compression.js +198 -82
  11. package/dist/es5/lib/brotli-compression.js.map +1 -1
  12. package/dist/es5/lib/compression.js +175 -46
  13. package/dist/es5/lib/compression.js.map +1 -1
  14. package/dist/es5/lib/deflate-compression.js +373 -118
  15. package/dist/es5/lib/deflate-compression.js.map +1 -1
  16. package/dist/es5/lib/gzip-compression.js +38 -11
  17. package/dist/es5/lib/gzip-compression.js.map +1 -1
  18. package/dist/es5/lib/lz4-compression.js +112 -81
  19. package/dist/es5/lib/lz4-compression.js.map +1 -1
  20. package/dist/es5/lib/lzo-compression.js +128 -28
  21. package/dist/es5/lib/lzo-compression.js.map +1 -1
  22. package/dist/es5/lib/no-compression.js +94 -22
  23. package/dist/es5/lib/no-compression.js.map +1 -1
  24. package/dist/es5/lib/snappy-compression.js +44 -16
  25. package/dist/es5/lib/snappy-compression.js.map +1 -1
  26. package/dist/es5/lib/zstd-compression.js +98 -27
  27. package/dist/es5/lib/zstd-compression.js.map +1 -1
  28. package/dist/es5/workers/worker.js +62 -25
  29. package/dist/es5/workers/worker.js.map +1 -1
  30. package/dist/esm/compression-worker.js +1 -1
  31. package/dist/esm/compression-worker.js.map +1 -1
  32. package/dist/workers/worker.js +1 -1
  33. package/package.json +4 -4
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- const moduleExports = require('./index');
3
+ var 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,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"}
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"}
@@ -8,8 +8,8 @@ exports._typecheckCompressionWorker = exports.CompressionWorker = void 0;
8
8
 
9
9
  var _workerUtils = require("@loaders.gl/worker-utils");
10
10
 
11
- const VERSION = typeof "3.1.0-beta.7" !== 'undefined' ? "3.1.0-beta.7" : 'latest';
12
- const CompressionWorker = {
11
+ var VERSION = typeof "3.1.3" !== 'undefined' ? "3.1.3" : 'latest';
12
+ var 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
- const _typecheckCompressionWorker = CompressionWorker;
25
+ var _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,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"}
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,mBAAuB,WAAvB,aAAmD,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"}
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 () {
8
+ get: function get() {
9
9
  return _compression.Compression;
10
10
  }
11
11
  });
12
12
  Object.defineProperty(exports, "NoCompression", {
13
13
  enumerable: true,
14
- get: function () {
14
+ get: function get() {
15
15
  return _noCompression.NoCompression;
16
16
  }
17
17
  });
18
18
  Object.defineProperty(exports, "DeflateCompression", {
19
19
  enumerable: true,
20
- get: function () {
20
+ get: function get() {
21
21
  return _deflateCompression.DeflateCompression;
22
22
  }
23
23
  });
24
24
  Object.defineProperty(exports, "GZipCompression", {
25
25
  enumerable: true,
26
- get: function () {
26
+ get: function get() {
27
27
  return _gzipCompression.GZipCompression;
28
28
  }
29
29
  });
30
30
  Object.defineProperty(exports, "LZ4Compression", {
31
31
  enumerable: true,
32
- get: function () {
32
+ get: function get() {
33
33
  return _lz4Compression.LZ4Compression;
34
34
  }
35
35
  });
36
36
  Object.defineProperty(exports, "ZstdCompression", {
37
37
  enumerable: true,
38
- get: function () {
38
+ get: function get() {
39
39
  return _zstdCompression.ZstdCompression;
40
40
  }
41
41
  });
42
42
  Object.defineProperty(exports, "SnappyCompression", {
43
43
  enumerable: true,
44
- get: function () {
44
+ get: function get() {
45
45
  return _snappyCompression.SnappyCompression;
46
46
  }
47
47
  });
48
48
  Object.defineProperty(exports, "BrotliCompression", {
49
49
  enumerable: true,
50
- get: function () {
50
+ get: function get() {
51
51
  return _brotliCompression.BrotliCompression;
52
52
  }
53
53
  });
54
54
  Object.defineProperty(exports, "LZOCompression", {
55
55
  enumerable: true,
56
- get: function () {
56
+ get: function get() {
57
57
  return _lzoCompression.LZOCompression;
58
58
  }
59
59
  });
60
60
  Object.defineProperty(exports, "CompressionWorker", {
61
61
  enumerable: true,
62
- get: function () {
62
+ get: function get() {
63
63
  return _compressionWorker.CompressionWorker;
64
64
  }
65
65
  });
66
66
  Object.defineProperty(exports, "compressOnWorker", {
67
67
  enumerable: true,
68
- get: function () {
68
+ get: function get() {
69
69
  return _compressionWorker.compressOnWorker;
70
70
  }
71
71
  });
@@ -7,114 +7,230 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.BrotliCompression = void 0;
9
9
 
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
11
 
12
- var _compression = require("./compression");
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
13
 
14
- var _loaderUtils = require("@loaders.gl/loader-utils");
14
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
15
 
16
- var _decode = require("../brotli/decode");
16
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
17
 
18
- var _zlib = _interopRequireDefault(require("zlib"));
18
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
19
19
 
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
- }
20
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
39
21
 
40
- async preload() {
41
- var _this$options, _this$options$modules;
22
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
42
23
 
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);
24
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
44
25
 
45
- if (!brotli) {
46
- throw new Error(this.name);
47
- }
48
- }
26
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
49
27
 
50
- async compress(input) {
51
- var _this$options$brotli;
28
+ var _compression = require("./compression");
52
29
 
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
- }
30
+ var _loaderUtils = require("@loaders.gl/loader-utils");
57
31
 
58
- return this.compressSync(input);
59
- }
32
+ var _decode = require("../brotli/decode");
60
33
 
61
- compressSync(input) {
62
- var _this$options$brotli2, _this$options2;
34
+ var _zlib = _interopRequireDefault(require("zlib"));
63
35
 
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);
36
+ 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; }
66
37
 
67
- return (0, _loaderUtils.toArrayBuffer)(buffer);
68
- }
38
+ 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; }
69
39
 
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);
40
+ 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); }; }
74
41
 
75
- if (!brotli) {
76
- throw new Error('brotli compression: brotli module not installed');
77
- }
42
+ 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; } }
78
43
 
79
- const outputArray = brotli.compress(inputArray, brotliOptions);
80
- return outputArray.buffer;
44
+ var DEFAULT_BROTLI_OPTIONS = {
45
+ brotli: {
46
+ mode: 0,
47
+ quality: 8,
48
+ lgwin: 22
81
49
  }
50
+ };
51
+ var brotli;
82
52
 
83
- async decompress(input) {
84
- var _this$options$brotli3;
53
+ var BrotliCompression = function (_Compression) {
54
+ (0, _inherits2.default)(BrotliCompression, _Compression);
85
55
 
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
- }
56
+ var _super = _createSuper(BrotliCompression);
90
57
 
91
- return this.decompressSync(input);
92
- }
93
-
94
- decompressSync(input) {
95
- var _this$options$brotli4, _this$options3;
58
+ function BrotliCompression(options) {
59
+ var _this;
96
60
 
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);
61
+ (0, _classCallCheck2.default)(this, BrotliCompression);
62
+ _this = _super.call(this, options);
63
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "name", 'brotli');
64
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "extensions", ['br']);
65
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "contentEncodings", ['br']);
66
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isSupported", true);
67
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "options", void 0);
68
+ _this.options = options;
69
+ return _this;
70
+ }
99
71
 
100
- return (0, _loaderUtils.toArrayBuffer)(buffer);
72
+ (0, _createClass2.default)(BrotliCompression, [{
73
+ key: "preload",
74
+ value: function () {
75
+ var _preload = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() {
76
+ var _this$options, _this$options$modules;
77
+
78
+ return _regenerator.default.wrap(function _callee$(_context) {
79
+ while (1) {
80
+ switch (_context.prev = _context.next) {
81
+ case 0:
82
+ 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);
83
+
84
+ if (brotli) {
85
+ _context.next = 3;
86
+ break;
87
+ }
88
+
89
+ throw new Error(this.name);
90
+
91
+ case 3:
92
+ case "end":
93
+ return _context.stop();
94
+ }
95
+ }
96
+ }, _callee, this);
97
+ }));
98
+
99
+ function preload() {
100
+ return _preload.apply(this, arguments);
101
+ }
102
+
103
+ return preload;
104
+ }()
105
+ }, {
106
+ key: "compress",
107
+ value: function () {
108
+ var _compress = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(input) {
109
+ var _this$options$brotli;
110
+
111
+ var buffer;
112
+ return _regenerator.default.wrap(function _callee2$(_context2) {
113
+ while (1) {
114
+ switch (_context2.prev = _context2.next) {
115
+ case 0:
116
+ if (!(!_loaderUtils.isBrowser && (_this$options$brotli = this.options.brotli) !== null && _this$options$brotli !== void 0 && _this$options$brotli.useZlib)) {
117
+ _context2.next = 5;
118
+ break;
119
+ }
120
+
121
+ _context2.next = 3;
122
+ return (0, _loaderUtils.promisify)(_zlib.default.brotliCompress)(input);
123
+
124
+ case 3:
125
+ buffer = _context2.sent;
126
+ return _context2.abrupt("return", (0, _loaderUtils.toArrayBuffer)(buffer));
127
+
128
+ case 5:
129
+ return _context2.abrupt("return", this.compressSync(input));
130
+
131
+ case 6:
132
+ case "end":
133
+ return _context2.stop();
134
+ }
135
+ }
136
+ }, _callee2, this);
137
+ }));
138
+
139
+ function compress(_x) {
140
+ return _compress.apply(this, arguments);
141
+ }
142
+
143
+ return compress;
144
+ }()
145
+ }, {
146
+ key: "compressSync",
147
+ value: function compressSync(input) {
148
+ var _this$options$brotli2, _this$options2;
149
+
150
+ if (!_loaderUtils.isBrowser && (_this$options$brotli2 = this.options.brotli) !== null && _this$options$brotli2 !== void 0 && _this$options$brotli2.useZlib) {
151
+ var buffer = _zlib.default.brotliCompressSync(input);
152
+
153
+ return (0, _loaderUtils.toArrayBuffer)(buffer);
154
+ }
155
+
156
+ var brotliOptions = _objectSpread(_objectSpread({}, DEFAULT_BROTLI_OPTIONS.brotli), (_this$options2 = this.options) === null || _this$options2 === void 0 ? void 0 : _this$options2.brotli);
157
+
158
+ var inputArray = new Uint8Array(input);
159
+
160
+ if (!brotli) {
161
+ throw new Error('brotli compression: brotli module not installed');
162
+ }
163
+
164
+ var outputArray = brotli.compress(inputArray, brotliOptions);
165
+ return outputArray.buffer;
101
166
  }
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);
167
+ }, {
168
+ key: "decompress",
169
+ value: function () {
170
+ var _decompress = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(input) {
171
+ var _this$options$brotli3;
172
+
173
+ var buffer;
174
+ return _regenerator.default.wrap(function _callee3$(_context3) {
175
+ while (1) {
176
+ switch (_context3.prev = _context3.next) {
177
+ case 0:
178
+ if (!(!_loaderUtils.isBrowser && (_this$options$brotli3 = this.options.brotli) !== null && _this$options$brotli3 !== void 0 && _this$options$brotli3.useZlib)) {
179
+ _context3.next = 5;
180
+ break;
181
+ }
182
+
183
+ _context3.next = 3;
184
+ return (0, _loaderUtils.promisify)(_zlib.default.brotliDecompress)(input);
185
+
186
+ case 3:
187
+ buffer = _context3.sent;
188
+ return _context3.abrupt("return", (0, _loaderUtils.toArrayBuffer)(buffer));
189
+
190
+ case 5:
191
+ return _context3.abrupt("return", this.decompressSync(input));
192
+
193
+ case 6:
194
+ case "end":
195
+ return _context3.stop();
196
+ }
197
+ }
198
+ }, _callee3, this);
199
+ }));
200
+
201
+ function decompress(_x2) {
202
+ return _decompress.apply(this, arguments);
203
+ }
204
+
205
+ return decompress;
206
+ }()
207
+ }, {
208
+ key: "decompressSync",
209
+ value: function decompressSync(input) {
210
+ var _this$options$brotli4, _this$options3;
211
+
212
+ if (!_loaderUtils.isBrowser && (_this$options$brotli4 = this.options.brotli) !== null && _this$options$brotli4 !== void 0 && _this$options$brotli4.useZlib) {
213
+ var buffer = _zlib.default.brotliDecompressSync(input);
214
+
215
+ return (0, _loaderUtils.toArrayBuffer)(buffer);
216
+ }
217
+
218
+ var brotliOptions = _objectSpread(_objectSpread({}, DEFAULT_BROTLI_OPTIONS.brotli), (_this$options3 = this.options) === null || _this$options3 === void 0 ? void 0 : _this$options3.brotli);
219
+
220
+ var inputArray = new Uint8Array(input);
221
+
222
+ if (brotli) {
223
+ var _outputArray = brotli.decompress(inputArray, brotliOptions);
224
+
225
+ return _outputArray.buffer;
226
+ }
227
+
228
+ var outputArray = (0, _decode.BrotliDecode)(inputArray, undefined);
110
229
  return outputArray.buffer;
111
230
  }
112
-
113
- const outputArray = (0, _decode.BrotliDecode)(inputArray, undefined);
114
- return outputArray.buffer;
115
- }
116
-
117
- }
231
+ }]);
232
+ return BrotliCompression;
233
+ }(_compression.Compression);
118
234
 
119
235
  exports.BrotliCompression = BrotliCompression;
120
236
  //# 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","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":";;;;;;;;;;;AAEA;;AACA;;AAGA;;AACA;;AAYA,MAAMA,sBAAsB,GAAG;AAC7BC,EAAAA,MAAM,EAAE;AACNC,IAAAA,IAAI,EAAE,CADA;AAENC,IAAAA,OAAO,EAAE,CAFH;AAGNC,IAAAA,KAAK,EAAE;AAHD;AADqB,CAA/B;AAQA,IAAIH,MAAJ;;AAKO,MAAMI,iBAAN,SAAgCC,wBAAhC,CAA4C;AAOjDC,EAAAA,WAAW,CAACC,OAAD,EAAoC;AAC7C,UAAMA,OAAN;AAD6C,gDANvB,QAMuB;AAAA,sDALzB,CAAC,IAAD,CAKyB;AAAA,4DAJnB,CAAC,IAAD,CAImB;AAAA,uDAHxB,IAGwB;AAAA;AAE7C,SAAKA,OAAL,GAAeA,OAAf;AACD;;AAMY,QAAPC,OAAO,GAAkB;AAAA;;AAC7BR,IAAAA,MAAM,GAAGA,MAAM,sBAAI,KAAKO,OAAT,2EAAI,cAAcE,OAAlB,0DAAI,sBAAuBT,MAA3B,CAAf;;AACA,QAAI,CAACA,MAAL,EAAa;AACX,YAAM,IAAIU,KAAJ,CAAU,KAAKC,IAAf,CAAN;AACD;AACF;;AAEa,QAARC,QAAQ,CAACC,KAAD,EAA2C;AAAA;;AAEvD,QAAI,CAACC,sBAAD,4BAAc,KAAKP,OAAL,CAAaP,MAA3B,iDAAc,qBAAqBe,OAAvC,EAAgD;AAC9C,YAAMC,MAAM,GAAG,MAAM,4BAAUC,cAAKC,cAAf,EAA+BL,KAA/B,CAArB;AACA,aAAO,gCAAcG,MAAd,CAAP;AACD;;AACD,WAAO,KAAKG,YAAL,CAAkBN,KAAlB,CAAP;AACD;;AAEDM,EAAAA,YAAY,CAACN,KAAD,EAAkC;AAAA;;AAE5C,QAAI,CAACC,sBAAD,6BAAc,KAAKP,OAAL,CAAaP,MAA3B,kDAAc,sBAAqBe,OAAvC,EAAgD;AAC9C,YAAMC,MAAM,GAAGC,cAAKG,kBAAL,CAAwBP,KAAxB,CAAf;;AACA,aAAO,gCAAcG,MAAd,CAAP;AACD;;AACD,UAAMK,aAAa,GAAG,EAAC,GAAGtB,sBAAsB,CAACC,MAA3B;AAAmC,4BAAG,KAAKO,OAAR,mDAAG,eAAcP,MAAjB;AAAnC,KAAtB;AACA,UAAMsB,UAAU,GAAG,IAAIC,UAAJ,CAAeV,KAAf,CAAnB;;AAEA,QAAI,CAACb,MAAL,EAAa;AACX,YAAM,IAAIU,KAAJ,CAAU,iDAAV,CAAN;AACD;;AAGD,UAAMc,WAAW,GAAGxB,MAAM,CAACY,QAAP,CAAgBU,UAAhB,EAA4BD,aAA5B,CAApB;AACA,WAAOG,WAAW,CAACR,MAAnB;AACD;;AAEe,QAAVS,UAAU,CAACZ,KAAD,EAA2C;AAAA;;AAEzD,QAAI,CAACC,sBAAD,6BAAc,KAAKP,OAAL,CAAaP,MAA3B,kDAAc,sBAAqBe,OAAvC,EAAgD;AAC9C,YAAMC,MAAM,GAAG,MAAM,4BAAUC,cAAKS,gBAAf,EAAiCb,KAAjC,CAArB;AACA,aAAO,gCAAcG,MAAd,CAAP;AACD;;AACD,WAAO,KAAKW,cAAL,CAAoBd,KAApB,CAAP;AACD;;AAEDc,EAAAA,cAAc,CAACd,KAAD,EAAkC;AAAA;;AAE9C,QAAI,CAACC,sBAAD,6BAAc,KAAKP,OAAL,CAAaP,MAA3B,kDAAc,sBAAqBe,OAAvC,EAAgD;AAC9C,YAAMC,MAAM,GAAGC,cAAKW,oBAAL,CAA0Bf,KAA1B,CAAf;;AACA,aAAO,gCAAcG,MAAd,CAAP;AACD;;AAED,UAAMK,aAAa,GAAG,EAAC,GAAGtB,sBAAsB,CAACC,MAA3B;AAAmC,4BAAG,KAAKO,OAAR,mDAAG,eAAcP,MAAjB;AAAnC,KAAtB;AACA,UAAMsB,UAAU,GAAG,IAAIC,UAAJ,CAAeV,KAAf,CAAnB;;AAEA,QAAIb,MAAJ,EAAY;AAEV,YAAMwB,WAAW,GAAGxB,MAAM,CAACyB,UAAP,CAAkBH,UAAlB,EAA8BD,aAA9B,CAApB;AACA,aAAOG,WAAW,CAACR,MAAnB;AACD;;AACD,UAAMQ,WAAW,GAAG,0BAAaF,UAAb,EAAyBO,SAAzB,CAApB;AACA,WAAOL,WAAW,CAACR,MAAnB;AACD;;AA5EgD","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"}
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","outputArray","compress","brotliDecompress","decompressSync","brotliDecompressSync","decompress","undefined","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 {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"}