@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.
- package/dist/brotli/decode.d.ts +5 -0
- package/dist/brotli/decode.d.ts.map +1 -0
- package/dist/brotli/decode.js +2346 -0
- package/dist/bundle.d.ts +2 -0
- package/dist/bundle.d.ts.map +1 -0
- package/dist/bundle.js +5 -0
- package/dist/compression-worker.d.ts +21 -0
- package/dist/compression-worker.d.ts.map +1 -0
- package/dist/compression-worker.js +4 -13
- package/dist/compression-worker.js.map +7 -1
- package/dist/dist.min.js +9 -2
- package/dist/dist.min.js.map +7 -1
- package/dist/es5/brotli/decode.js +2220 -0
- package/dist/es5/brotli/decode.js.map +1 -0
- package/dist/es5/bundle.js +1 -1
- package/dist/es5/bundle.js.map +1 -1
- package/dist/es5/compression-worker.js +3 -3
- package/dist/es5/compression-worker.js.map +1 -1
- package/dist/es5/index.js +11 -11
- package/dist/es5/lib/brotli-compression.js +84 -184
- package/dist/es5/lib/brotli-compression.js.map +1 -1
- package/dist/es5/lib/compression.js +46 -175
- package/dist/es5/lib/compression.js.map +1 -1
- package/dist/es5/lib/deflate-compression.js +118 -373
- package/dist/es5/lib/deflate-compression.js.map +1 -1
- package/dist/es5/lib/gzip-compression.js +11 -38
- package/dist/es5/lib/gzip-compression.js.map +1 -1
- package/dist/es5/lib/lz4-compression.js +81 -112
- package/dist/es5/lib/lz4-compression.js.map +1 -1
- package/dist/es5/lib/lzo-compression.js +28 -128
- package/dist/es5/lib/lzo-compression.js.map +1 -1
- package/dist/es5/lib/no-compression.js +22 -94
- package/dist/es5/lib/no-compression.js.map +1 -1
- package/dist/es5/lib/snappy-compression.js +16 -44
- package/dist/es5/lib/snappy-compression.js.map +1 -1
- package/dist/es5/lib/zstd-compression.js +27 -98
- package/dist/es5/lib/zstd-compression.js.map +1 -1
- package/dist/es5/workers/worker.js +26 -74
- package/dist/es5/workers/worker.js.map +1 -1
- package/dist/esm/brotli/decode.js +2213 -0
- package/dist/esm/brotli/decode.js.map +1 -0
- package/dist/esm/compression-worker.js +1 -1
- package/dist/esm/compression-worker.js.map +1 -1
- package/dist/esm/lib/brotli-compression.js +16 -2
- package/dist/esm/lib/brotli-compression.js.map +1 -1
- package/dist/esm/lib/compression.js +3 -3
- package/dist/esm/lib/compression.js.map +1 -1
- package/dist/esm/lib/deflate-compression.js +2 -2
- package/dist/esm/lib/deflate-compression.js.map +1 -1
- package/dist/esm/lib/zstd-compression.js +1 -1
- package/dist/esm/lib/zstd-compression.js.map +1 -1
- package/dist/esm/workers/worker.js +3 -12
- package/dist/esm/workers/worker.js.map +1 -1
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +24 -0
- package/dist/lib/brotli-compression.d.ts +31 -0
- package/dist/lib/brotli-compression.d.ts.map +1 -0
- package/dist/lib/brotli-compression.js +91 -0
- package/dist/lib/compression.d.ts +31 -0
- package/dist/lib/compression.d.ts.map +1 -0
- package/dist/lib/compression.js +57 -0
- package/dist/lib/deflate-compression.d.ts +32 -0
- package/dist/lib/deflate-compression.d.ts.map +1 -0
- package/dist/lib/deflate-compression.js +135 -0
- package/dist/lib/gzip-compression.d.ts +17 -0
- package/dist/lib/gzip-compression.d.ts.map +1 -0
- package/dist/lib/gzip-compression.js +17 -0
- package/dist/lib/lz4-compression.d.ts +37 -0
- package/dist/lib/lz4-compression.d.ts.map +1 -0
- package/dist/lib/lz4-compression.js +141 -0
- package/dist/lib/lzo-compression.d.ts +21 -0
- package/dist/lib/lzo-compression.d.ts.map +1 -0
- package/dist/lib/lzo-compression.js +58 -0
- package/dist/lib/no-compression.d.ts +18 -0
- package/dist/lib/no-compression.d.ts.map +1 -0
- package/dist/lib/no-compression.js +30 -0
- package/dist/lib/snappy-compression.d.ts +16 -0
- package/dist/lib/snappy-compression.d.ts.map +1 -0
- package/dist/lib/snappy-compression.js +27 -0
- package/dist/lib/zstd-compression.d.ts +21 -0
- package/dist/lib/zstd-compression.d.ts.map +1 -0
- package/dist/lib/zstd-compression.js +44 -0
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/workers/worker.d.ts +2 -0
- package/dist/workers/worker.d.ts.map +1 -0
- package/dist/workers/worker.js +77 -0
- package/package.json +7 -7
- package/src/brotli/decode.ts +2441 -0
- package/src/lib/brotli-compression.ts +17 -3
- package/src/lib/zstd-compression.ts +1 -1
- package/src/workers/worker.ts +10 -10
package/dist/es5/bundle.js
CHANGED
package/dist/es5/bundle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/bundle.ts"],"names":["moduleExports","require","globalThis","loaders","module","exports","Object","assign"],"mappings":";;AACA,
|
|
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
|
-
|
|
12
|
-
|
|
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
|
-
|
|
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,
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _compression = require("./compression");
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _decode = require("../brotli/decode");
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _zlib = _interopRequireDefault(require("zlib"));
|
|
19
19
|
|
|
20
|
-
|
|
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
|
-
|
|
40
|
+
async preload() {
|
|
41
|
+
var _this$options, _this$options$modules;
|
|
23
42
|
|
|
24
|
-
|
|
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
|
-
|
|
45
|
+
if (!brotli) {
|
|
46
|
+
throw new Error(this.name);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
27
49
|
|
|
28
|
-
|
|
50
|
+
async compress(input) {
|
|
51
|
+
var _this$options$brotli;
|
|
29
52
|
|
|
30
|
-
|
|
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
|
-
|
|
58
|
+
return this.compressSync(input);
|
|
59
|
+
}
|
|
33
60
|
|
|
34
|
-
|
|
61
|
+
compressSync(input) {
|
|
62
|
+
var _this$options$brotli2, _this$options2;
|
|
35
63
|
|
|
36
|
-
|
|
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
|
-
|
|
67
|
+
return (0, _loaderUtils.toArrayBuffer)(buffer);
|
|
68
|
+
}
|
|
39
69
|
|
|
40
|
-
|
|
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
|
-
|
|
43
|
-
|
|
44
|
-
|
|
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
|
-
|
|
52
|
-
|
|
79
|
+
const outputArray = brotli.compress(inputArray, brotliOptions);
|
|
80
|
+
return outputArray.buffer;
|
|
81
|
+
}
|
|
53
82
|
|
|
54
|
-
|
|
83
|
+
async decompress(input) {
|
|
84
|
+
var _this$options$brotli3;
|
|
55
85
|
|
|
56
|
-
|
|
57
|
-
|
|
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
|
-
|
|
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
|
-
(
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
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
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
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
|
-
|
|
217
|
-
|
|
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","
|
|
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"}
|