@loaders.gl/compression 3.4.0-alpha.2 → 3.4.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/es5/brotli/decode.js +1 -24
- package/dist/es5/brotli/decode.js.map +1 -1
- package/dist/es5/compression-worker.js +1 -2
- package/dist/es5/compression-worker.js.map +1 -1
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/brotli-compression.js +41 -50
- package/dist/es5/lib/brotli-compression.js.map +1 -1
- package/dist/es5/lib/compression.js +51 -72
- package/dist/es5/lib/compression.js.map +1 -1
- package/dist/es5/lib/deflate-compression.js +138 -151
- package/dist/es5/lib/deflate-compression.js.map +1 -1
- package/dist/es5/lib/gzip-compression.js.map +1 -1
- package/dist/es5/lib/lz4-compression.js +3 -18
- package/dist/es5/lib/lz4-compression.js.map +1 -1
- package/dist/es5/lib/lzo-compression.js +29 -38
- package/dist/es5/lib/lzo-compression.js.map +1 -1
- package/dist/es5/lib/no-compression.js +16 -20
- package/dist/es5/lib/no-compression.js.map +1 -1
- package/dist/es5/lib/snappy-compression.js.map +1 -1
- package/dist/es5/lib/zstd-compression.js +16 -20
- package/dist/es5/lib/zstd-compression.js.map +1 -1
- package/dist/es5/workers/worker.js +24 -29
- package/dist/es5/workers/worker.js.map +1 -1
- package/dist/esm/brotli/decode.js +1 -25
- package/dist/esm/brotli/decode.js.map +1 -1
- package/dist/esm/bundle.js +0 -1
- package/dist/esm/bundle.js.map +1 -1
- package/dist/esm/compression-worker.js +1 -3
- package/dist/esm/compression-worker.js.map +1 -1
- package/dist/esm/lib/brotli-compression.js +0 -4
- package/dist/esm/lib/brotli-compression.js.map +1 -1
- package/dist/esm/lib/compression.js +0 -9
- package/dist/esm/lib/compression.js.map +1 -1
- package/dist/esm/lib/deflate-compression.js +1 -5
- package/dist/esm/lib/deflate-compression.js.map +1 -1
- package/dist/esm/lib/gzip-compression.js +0 -1
- package/dist/esm/lib/gzip-compression.js.map +1 -1
- package/dist/esm/lib/lz4-compression.js +0 -13
- package/dist/esm/lib/lz4-compression.js.map +1 -1
- package/dist/esm/lib/lzo-compression.js +1 -5
- package/dist/esm/lib/lzo-compression.js.map +1 -1
- package/dist/esm/lib/no-compression.js +0 -2
- package/dist/esm/lib/no-compression.js.map +1 -1
- package/dist/esm/lib/snappy-compression.js +0 -2
- package/dist/esm/lib/snappy-compression.js.map +1 -1
- package/dist/esm/lib/zstd-compression.js +0 -3
- package/dist/esm/lib/zstd-compression.js.map +1 -1
- package/dist/esm/workers/worker.js +1 -7
- package/dist/esm/workers/worker.js.map +1 -1
- package/dist/workers/worker.js +1 -1
- package/package.json +4 -4
|
@@ -49,37 +49,35 @@ var DeflateCompression = function (_Compression) {
|
|
|
49
49
|
var _this$options$deflate;
|
|
50
50
|
var _this$options$deflate2, buffer;
|
|
51
51
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
52
|
-
while (1) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
_context.next = 12;
|
|
57
|
-
break;
|
|
58
|
-
}
|
|
59
|
-
if (!((_this$options$deflate2 = this.options.deflate) !== null && _this$options$deflate2 !== void 0 && _this$options$deflate2.gzip)) {
|
|
60
|
-
_context.next = 7;
|
|
61
|
-
break;
|
|
62
|
-
}
|
|
63
|
-
_context.next = 4;
|
|
64
|
-
return (0, _loaderUtils.promisify1)(_zlib.default.gzip)(input);
|
|
65
|
-
case 4:
|
|
66
|
-
_context.t0 = _context.sent;
|
|
67
|
-
_context.next = 10;
|
|
52
|
+
while (1) switch (_context.prev = _context.next) {
|
|
53
|
+
case 0:
|
|
54
|
+
if (!(!_loaderUtils.isBrowser && (_this$options$deflate = this.options.deflate) !== null && _this$options$deflate !== void 0 && _this$options$deflate.useZlib)) {
|
|
55
|
+
_context.next = 12;
|
|
68
56
|
break;
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
57
|
+
}
|
|
58
|
+
if (!((_this$options$deflate2 = this.options.deflate) !== null && _this$options$deflate2 !== void 0 && _this$options$deflate2.gzip)) {
|
|
59
|
+
_context.next = 7;
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
_context.next = 4;
|
|
63
|
+
return (0, _loaderUtils.promisify1)(_zlib.default.gzip)(input);
|
|
64
|
+
case 4:
|
|
65
|
+
_context.t0 = _context.sent;
|
|
66
|
+
_context.next = 10;
|
|
67
|
+
break;
|
|
68
|
+
case 7:
|
|
69
|
+
_context.next = 9;
|
|
70
|
+
return (0, _loaderUtils.promisify1)(_zlib.default.deflate)(input);
|
|
71
|
+
case 9:
|
|
72
|
+
_context.t0 = _context.sent;
|
|
73
|
+
case 10:
|
|
74
|
+
buffer = _context.t0;
|
|
75
|
+
return _context.abrupt("return", (0, _loaderUtils.toArrayBuffer)(buffer));
|
|
76
|
+
case 12:
|
|
77
|
+
return _context.abrupt("return", this.compressSync(input));
|
|
78
|
+
case 13:
|
|
79
|
+
case "end":
|
|
80
|
+
return _context.stop();
|
|
83
81
|
}
|
|
84
82
|
}, _callee, this);
|
|
85
83
|
}));
|
|
@@ -95,37 +93,35 @@ var DeflateCompression = function (_Compression) {
|
|
|
95
93
|
var _this$options$deflate3;
|
|
96
94
|
var _this$options$deflate4, buffer;
|
|
97
95
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
98
|
-
while (1) {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
_context2.next = 7;
|
|
107
|
-
break;
|
|
108
|
-
}
|
|
109
|
-
_context2.next = 4;
|
|
110
|
-
return (0, _loaderUtils.promisify1)(_zlib.default.gunzip)(input);
|
|
111
|
-
case 4:
|
|
112
|
-
_context2.t0 = _context2.sent;
|
|
113
|
-
_context2.next = 10;
|
|
96
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
97
|
+
case 0:
|
|
98
|
+
if (!(!_loaderUtils.isBrowser && (_this$options$deflate3 = this.options.deflate) !== null && _this$options$deflate3 !== void 0 && _this$options$deflate3.useZlib)) {
|
|
99
|
+
_context2.next = 12;
|
|
100
|
+
break;
|
|
101
|
+
}
|
|
102
|
+
if (!((_this$options$deflate4 = this.options.deflate) !== null && _this$options$deflate4 !== void 0 && _this$options$deflate4.gzip)) {
|
|
103
|
+
_context2.next = 7;
|
|
114
104
|
break;
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
105
|
+
}
|
|
106
|
+
_context2.next = 4;
|
|
107
|
+
return (0, _loaderUtils.promisify1)(_zlib.default.gunzip)(input);
|
|
108
|
+
case 4:
|
|
109
|
+
_context2.t0 = _context2.sent;
|
|
110
|
+
_context2.next = 10;
|
|
111
|
+
break;
|
|
112
|
+
case 7:
|
|
113
|
+
_context2.next = 9;
|
|
114
|
+
return (0, _loaderUtils.promisify1)(_zlib.default.inflate)(input);
|
|
115
|
+
case 9:
|
|
116
|
+
_context2.t0 = _context2.sent;
|
|
117
|
+
case 10:
|
|
118
|
+
buffer = _context2.t0;
|
|
119
|
+
return _context2.abrupt("return", (0, _loaderUtils.toArrayBuffer)(buffer));
|
|
120
|
+
case 12:
|
|
121
|
+
return _context2.abrupt("return", this.decompressSync(input));
|
|
122
|
+
case 13:
|
|
123
|
+
case "end":
|
|
124
|
+
return _context2.stop();
|
|
129
125
|
}
|
|
130
126
|
}, _callee2, this);
|
|
131
127
|
}));
|
|
@@ -168,16 +164,14 @@ var DeflateCompression = function (_Compression) {
|
|
|
168
164
|
var _this$options3;
|
|
169
165
|
var pakoOptions, pakoProcessor;
|
|
170
166
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
171
|
-
while (1) {
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
return _context3.stop();
|
|
180
|
-
}
|
|
167
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
168
|
+
case 0:
|
|
169
|
+
pakoOptions = ((_this$options3 = _this.options) === null || _this$options3 === void 0 ? void 0 : _this$options3.deflate) || {};
|
|
170
|
+
pakoProcessor = new _pako.default.Deflate(pakoOptions);
|
|
171
|
+
return _context3.delegateYield((0, _asyncGeneratorDelegate2.default)(_asyncIterator(_this.transformBatches(pakoProcessor, asyncIterator)), _awaitAsyncGenerator2.default), "t0", 3);
|
|
172
|
+
case 3:
|
|
173
|
+
case "end":
|
|
174
|
+
return _context3.stop();
|
|
181
175
|
}
|
|
182
176
|
}, _callee3);
|
|
183
177
|
}))();
|
|
@@ -190,16 +184,14 @@ var DeflateCompression = function (_Compression) {
|
|
|
190
184
|
var _this2$options;
|
|
191
185
|
var pakoOptions, pakoProcessor;
|
|
192
186
|
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
193
|
-
while (1) {
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
return _context4.stop();
|
|
202
|
-
}
|
|
187
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
188
|
+
case 0:
|
|
189
|
+
pakoOptions = ((_this2$options = _this2.options) === null || _this2$options === void 0 ? void 0 : _this2$options.deflate) || {};
|
|
190
|
+
pakoProcessor = new _pako.default.Inflate(pakoOptions);
|
|
191
|
+
return _context4.delegateYield((0, _asyncGeneratorDelegate2.default)(_asyncIterator(_this2.transformBatches(pakoProcessor, asyncIterator)), _awaitAsyncGenerator2.default), "t0", 3);
|
|
192
|
+
case 3:
|
|
193
|
+
case "end":
|
|
194
|
+
return _context4.stop();
|
|
203
195
|
}
|
|
204
196
|
}, _callee4);
|
|
205
197
|
}))();
|
|
@@ -211,77 +203,74 @@ var DeflateCompression = function (_Compression) {
|
|
|
211
203
|
return (0, _wrapAsyncGenerator2.default)(_regenerator.default.mark(function _callee5() {
|
|
212
204
|
var _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, chunk, uint8Array, _ok, _chunks, emptyChunk, ok, chunks;
|
|
213
205
|
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
214
|
-
while (1) {
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
_context5.next = 19;
|
|
229
|
-
break;
|
|
230
|
-
}
|
|
231
|
-
chunk = _step.value;
|
|
232
|
-
uint8Array = new Uint8Array(chunk);
|
|
233
|
-
_ok = pakoProcessor.push(uint8Array, false);
|
|
234
|
-
if (_ok) {
|
|
235
|
-
_context5.next = 14;
|
|
236
|
-
break;
|
|
237
|
-
}
|
|
238
|
-
throw new Error("".concat(_this3._getError(), "write"));
|
|
239
|
-
case 14:
|
|
240
|
-
_chunks = _this3._getChunks();
|
|
241
|
-
return _context5.delegateYield((0, _asyncGeneratorDelegate2.default)(_asyncIterator(_chunks), _awaitAsyncGenerator2.default), "t0", 16);
|
|
242
|
-
case 16:
|
|
243
|
-
_iteratorAbruptCompletion = false;
|
|
244
|
-
_context5.next = 6;
|
|
206
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
207
|
+
case 0:
|
|
208
|
+
pakoProcessor.onData = _this3._onData.bind(_this3);
|
|
209
|
+
pakoProcessor.onEnd = _this3._onEnd.bind(_this3);
|
|
210
|
+
_iteratorAbruptCompletion = false;
|
|
211
|
+
_didIteratorError = false;
|
|
212
|
+
_context5.prev = 4;
|
|
213
|
+
_iterator = _asyncIterator(asyncIterator);
|
|
214
|
+
case 6:
|
|
215
|
+
_context5.next = 8;
|
|
216
|
+
return (0, _awaitAsyncGenerator2.default)(_iterator.next());
|
|
217
|
+
case 8:
|
|
218
|
+
if (!(_iteratorAbruptCompletion = !(_step = _context5.sent).done)) {
|
|
219
|
+
_context5.next = 19;
|
|
245
220
|
break;
|
|
246
|
-
|
|
247
|
-
|
|
221
|
+
}
|
|
222
|
+
chunk = _step.value;
|
|
223
|
+
uint8Array = new Uint8Array(chunk);
|
|
224
|
+
_ok = pakoProcessor.push(uint8Array, false);
|
|
225
|
+
if (_ok) {
|
|
226
|
+
_context5.next = 14;
|
|
248
227
|
break;
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
228
|
+
}
|
|
229
|
+
throw new Error("".concat(_this3._getError(), "write"));
|
|
230
|
+
case 14:
|
|
231
|
+
_chunks = _this3._getChunks();
|
|
232
|
+
return _context5.delegateYield((0, _asyncGeneratorDelegate2.default)(_asyncIterator(_chunks), _awaitAsyncGenerator2.default), "t0", 16);
|
|
233
|
+
case 16:
|
|
234
|
+
_iteratorAbruptCompletion = false;
|
|
235
|
+
_context5.next = 6;
|
|
236
|
+
break;
|
|
237
|
+
case 19:
|
|
238
|
+
_context5.next = 25;
|
|
239
|
+
break;
|
|
240
|
+
case 21:
|
|
241
|
+
_context5.prev = 21;
|
|
242
|
+
_context5.t1 = _context5["catch"](4);
|
|
243
|
+
_didIteratorError = true;
|
|
244
|
+
_iteratorError = _context5.t1;
|
|
245
|
+
case 25:
|
|
246
|
+
_context5.prev = 25;
|
|
247
|
+
_context5.prev = 26;
|
|
248
|
+
if (!(_iteratorAbruptCompletion && _iterator.return != null)) {
|
|
261
249
|
_context5.next = 30;
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
250
|
+
break;
|
|
251
|
+
}
|
|
252
|
+
_context5.next = 30;
|
|
253
|
+
return (0, _awaitAsyncGenerator2.default)(_iterator.return());
|
|
254
|
+
case 30:
|
|
255
|
+
_context5.prev = 30;
|
|
256
|
+
if (!_didIteratorError) {
|
|
257
|
+
_context5.next = 33;
|
|
258
|
+
break;
|
|
259
|
+
}
|
|
260
|
+
throw _iteratorError;
|
|
261
|
+
case 33:
|
|
262
|
+
return _context5.finish(30);
|
|
263
|
+
case 34:
|
|
264
|
+
return _context5.finish(25);
|
|
265
|
+
case 35:
|
|
266
|
+
emptyChunk = new Uint8Array(0);
|
|
267
|
+
ok = pakoProcessor.push(emptyChunk, true);
|
|
268
|
+
if (!ok) {}
|
|
269
|
+
chunks = _this3._getChunks();
|
|
270
|
+
return _context5.delegateYield((0, _asyncGeneratorDelegate2.default)(_asyncIterator(chunks), _awaitAsyncGenerator2.default), "t2", 40);
|
|
271
|
+
case 40:
|
|
272
|
+
case "end":
|
|
273
|
+
return _context5.stop();
|
|
285
274
|
}
|
|
286
275
|
}, _callee5, null, [[4, 21, 25, 35], [26,, 30, 34]]);
|
|
287
276
|
}))();
|
|
@@ -305,11 +294,9 @@ var DeflateCompression = function (_Compression) {
|
|
|
305
294
|
this._chunks = [];
|
|
306
295
|
return chunks;
|
|
307
296
|
}
|
|
308
|
-
|
|
309
297
|
}, {
|
|
310
298
|
key: "_getError",
|
|
311
|
-
value:
|
|
312
|
-
function _getError() {
|
|
299
|
+
value: function _getError() {
|
|
313
300
|
var code = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
314
301
|
var MESSAGES = {
|
|
315
302
|
2: 'need dictionary',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deflate-compression.js","names":["DeflateCompression","options","input","isBrowser","deflate","useZlib","gzip","promisify1","zlib","buffer","toArrayBuffer","compressSync","gunzip","inflate","decompressSync","gzipSync","deflateSync","pakoOptions","inputArray","Uint8Array","pako","gunzipSync","inflateSync","asyncIterator","pakoProcessor","Deflate","transformBatches","Inflate","onData","_onData","bind","onEnd","_onEnd","chunk","uint8Array","ok","push","Error","_getError","chunks","_getChunks","emptyChunk","_chunks","status","length","code","MESSAGES","name","Compression"],"sources":["../../../src/lib/deflate-compression.ts"],"sourcesContent":["// DEFLATE\nimport type {CompressionOptions} from './compression';\nimport {Compression} from './compression';\nimport {isBrowser, toArrayBuffer} from '@loaders.gl/loader-utils';\nimport pako from 'pako'; // https://bundlephobia.com/package/pako\nimport zlib from 'zlib';\nimport {promisify1} from '@loaders.gl/loader-utils';\n\nexport type DeflateCompressionOptions = CompressionOptions & {\n deflate?: pako.InflateOptions & pako.DeflateOptions & {useZlib?: boolean};\n};\n\n/**\n * DEFLATE compression / decompression\n */\nexport class DeflateCompression extends Compression {\n readonly name: string = 'deflate';\n readonly extensions: string[] = [];\n readonly contentEncodings = ['deflate'];\n readonly isSupported = true;\n\n readonly options: DeflateCompressionOptions;\n\n private _chunks: ArrayBuffer[] = [];\n\n constructor(options: DeflateCompressionOptions = {}) {\n super(options);\n this.options = options;\n }\n\n async compress(input: ArrayBuffer): Promise<ArrayBuffer> {\n // On Node.js we can use built-in zlib\n if (!isBrowser && this.options.deflate?.useZlib) {\n const buffer = this.options.deflate?.gzip\n ? await promisify1(zlib.gzip)(input)\n : await promisify1(zlib.deflate)(input);\n return toArrayBuffer(buffer);\n }\n return this.compressSync(input);\n }\n\n async decompress(input: ArrayBuffer): Promise<ArrayBuffer> {\n // On Node.js we can use built-in zlib\n if (!isBrowser && this.options.deflate?.useZlib) {\n const buffer = this.options.deflate?.gzip\n ? await promisify1(zlib.gunzip)(input)\n : await promisify1(zlib.inflate)(input);\n return toArrayBuffer(buffer);\n }\n return this.decompressSync(input);\n }\n\n compressSync(input: ArrayBuffer): ArrayBuffer {\n // On Node.js we can use built-in zlib\n if (!isBrowser && this.options.deflate?.useZlib) {\n const buffer = this.options.deflate?.gzip ? zlib.gzipSync(input) : zlib.deflateSync(input);\n return toArrayBuffer(buffer);\n }\n const pakoOptions: pako.DeflateOptions = this.options?.deflate || {};\n const inputArray = new Uint8Array(input);\n return pako.deflate(inputArray, pakoOptions).buffer;\n }\n\n decompressSync(input: ArrayBuffer): ArrayBuffer {\n // On Node.js we can use built-in zlib\n if (!isBrowser && this.options.deflate?.useZlib) {\n const buffer = this.options.deflate?.gzip ? zlib.gunzipSync(input) : zlib.inflateSync(input);\n return toArrayBuffer(buffer);\n }\n const pakoOptions: pako.InflateOptions = this.options?.deflate || {};\n const inputArray = new Uint8Array(input);\n return pako.inflate(inputArray, pakoOptions).buffer;\n }\n\n async *compressBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n ): AsyncIterable<ArrayBuffer> {\n const pakoOptions: pako.DeflateOptions = this.options?.deflate || {};\n const pakoProcessor = new pako.Deflate(pakoOptions);\n yield* this.transformBatches(pakoProcessor, asyncIterator);\n }\n\n async *decompressBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n ): AsyncIterable<ArrayBuffer> {\n const pakoOptions: pako.InflateOptions = this.options?.deflate || {};\n const pakoProcessor = new pako.Inflate(pakoOptions);\n yield* this.transformBatches(pakoProcessor, asyncIterator);\n }\n\n async *transformBatches(\n pakoProcessor: pako.Inflate | pako.Deflate,\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n ): AsyncIterable<ArrayBuffer> {\n pakoProcessor.onData = this._onData.bind(this);\n pakoProcessor.onEnd = this._onEnd.bind(this);\n for await (const chunk of asyncIterator) {\n const uint8Array = new Uint8Array(chunk);\n const ok = pakoProcessor.push(uint8Array, false); // false -> not last chunk\n if (!ok) {\n throw new Error(`${this._getError()}write`);\n }\n const chunks = this._getChunks();\n yield* chunks;\n }\n\n // End\n const emptyChunk = new Uint8Array(0);\n const ok = pakoProcessor.push(emptyChunk, true); // true -> last chunk\n if (!ok) {\n // For some reason we get error but it still works???\n // throw new Error(this._getError() + 'end');\n }\n const chunks = this._getChunks();\n yield* chunks;\n }\n\n _onData(chunk) {\n this._chunks.push(chunk);\n }\n\n _onEnd(status) {\n if (status !== 0) {\n throw new Error(this._getError(status) + this._chunks.length);\n }\n }\n\n _getChunks(): ArrayBuffer[] {\n const chunks = this._chunks;\n this._chunks = [];\n return chunks;\n }\n\n // TODO - For some reason we don't get the error message from pako in _onEnd?\n _getError(code: number = 0): string {\n const MESSAGES = {\n /* Z_NEED_DICT 2 */\n 2: 'need dictionary',\n /* Z_STREAM_END 1 */\n 1: 'stream end',\n /* Z_OK 0 */\n 0: '',\n /* Z_ERRNO (-1) */\n '-1': 'file error',\n /* Z_STREAM_ERROR (-2) */\n '-2': 'stream error',\n /* Z_DATA_ERROR (-3) */\n '-3': 'data error',\n /* Z_MEM_ERROR (-4) */\n '-4': 'insufficient memory',\n /* Z_BUF_ERROR (-5) */\n '-5': 'buffer error',\n /* Z_VERSION_ERROR (-6) */\n '-6': 'incompatible version'\n };\n return `${this.name}: ${MESSAGES[code]}`;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deflate-compression.js","names":["_compression","require","_loaderUtils","_pako","_interopRequireDefault","_zlib","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","_asyncIterator","iterable","method","async","sync","retry","Symbol","asyncIterator","iterator","AsyncFromSyncIterator","TypeError","s","AsyncFromSyncIteratorContinuation","r","Object","Promise","reject","done","resolve","value","then","n","next","return","_return","ret","throw","_throw","thr","DeflateCompression","_Compression","_inherits2","_super","_this4","options","length","undefined","_classCallCheck2","_defineProperty2","_assertThisInitialized2","_createClass2","key","_compress","_asyncToGenerator2","_regenerator","mark","_callee","input","_this$options$deflate","_this$options$deflate2","buffer","wrap","_callee$","_context","prev","isBrowser","deflate","useZlib","gzip","promisify1","zlib","t0","sent","abrupt","toArrayBuffer","compressSync","stop","compress","_x","_decompress","_callee2","_this$options$deflate3","_this$options$deflate4","_callee2$","_context2","gunzip","inflate","decompressSync","decompress","_x2","_this$options$deflate5","_this$options","_this$options$deflate6","gzipSync","deflateSync","pakoOptions","inputArray","Uint8Array","pako","_this$options$deflate7","_this$options2","_this$options$deflate8","gunzipSync","inflateSync","compressBatches","_this","_wrapAsyncGenerator2","_callee3","_this$options3","pakoProcessor","_callee3$","_context3","Deflate","delegateYield","_asyncGeneratorDelegate2","transformBatches","_awaitAsyncGenerator2","decompressBatches","_this2","_callee4","_this2$options","_callee4$","_context4","Inflate","_this3","_callee5","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_step","chunk","uint8Array","_ok","_chunks","emptyChunk","ok","chunks","_callee5$","_context5","onData","_onData","bind","onEnd","_onEnd","push","Error","concat","_getError","_getChunks","t1","finish","status","code","MESSAGES","name","Compression","exports"],"sources":["../../../src/lib/deflate-compression.ts"],"sourcesContent":["// DEFLATE\nimport type {CompressionOptions} from './compression';\nimport {Compression} from './compression';\nimport {isBrowser, toArrayBuffer} from '@loaders.gl/loader-utils';\nimport pako from 'pako'; // https://bundlephobia.com/package/pako\nimport zlib from 'zlib';\nimport {promisify1} from '@loaders.gl/loader-utils';\n\nexport type DeflateCompressionOptions = CompressionOptions & {\n deflate?: pako.InflateOptions & pako.DeflateOptions & {useZlib?: boolean};\n};\n\n/**\n * DEFLATE compression / decompression\n */\nexport class DeflateCompression extends Compression {\n readonly name: string = 'deflate';\n readonly extensions: string[] = [];\n readonly contentEncodings = ['deflate'];\n readonly isSupported = true;\n\n readonly options: DeflateCompressionOptions;\n\n private _chunks: ArrayBuffer[] = [];\n\n constructor(options: DeflateCompressionOptions = {}) {\n super(options);\n this.options = options;\n }\n\n async compress(input: ArrayBuffer): Promise<ArrayBuffer> {\n // On Node.js we can use built-in zlib\n if (!isBrowser && this.options.deflate?.useZlib) {\n const buffer = this.options.deflate?.gzip\n ? await promisify1(zlib.gzip)(input)\n : await promisify1(zlib.deflate)(input);\n return toArrayBuffer(buffer);\n }\n return this.compressSync(input);\n }\n\n async decompress(input: ArrayBuffer): Promise<ArrayBuffer> {\n // On Node.js we can use built-in zlib\n if (!isBrowser && this.options.deflate?.useZlib) {\n const buffer = this.options.deflate?.gzip\n ? await promisify1(zlib.gunzip)(input)\n : await promisify1(zlib.inflate)(input);\n return toArrayBuffer(buffer);\n }\n return this.decompressSync(input);\n }\n\n compressSync(input: ArrayBuffer): ArrayBuffer {\n // On Node.js we can use built-in zlib\n if (!isBrowser && this.options.deflate?.useZlib) {\n const buffer = this.options.deflate?.gzip ? zlib.gzipSync(input) : zlib.deflateSync(input);\n return toArrayBuffer(buffer);\n }\n const pakoOptions: pako.DeflateOptions = this.options?.deflate || {};\n const inputArray = new Uint8Array(input);\n return pako.deflate(inputArray, pakoOptions).buffer;\n }\n\n decompressSync(input: ArrayBuffer): ArrayBuffer {\n // On Node.js we can use built-in zlib\n if (!isBrowser && this.options.deflate?.useZlib) {\n const buffer = this.options.deflate?.gzip ? zlib.gunzipSync(input) : zlib.inflateSync(input);\n return toArrayBuffer(buffer);\n }\n const pakoOptions: pako.InflateOptions = this.options?.deflate || {};\n const inputArray = new Uint8Array(input);\n return pako.inflate(inputArray, pakoOptions).buffer;\n }\n\n async *compressBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n ): AsyncIterable<ArrayBuffer> {\n const pakoOptions: pako.DeflateOptions = this.options?.deflate || {};\n const pakoProcessor = new pako.Deflate(pakoOptions);\n yield* this.transformBatches(pakoProcessor, asyncIterator);\n }\n\n async *decompressBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n ): AsyncIterable<ArrayBuffer> {\n const pakoOptions: pako.InflateOptions = this.options?.deflate || {};\n const pakoProcessor = new pako.Inflate(pakoOptions);\n yield* this.transformBatches(pakoProcessor, asyncIterator);\n }\n\n async *transformBatches(\n pakoProcessor: pako.Inflate | pako.Deflate,\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n ): AsyncIterable<ArrayBuffer> {\n pakoProcessor.onData = this._onData.bind(this);\n pakoProcessor.onEnd = this._onEnd.bind(this);\n for await (const chunk of asyncIterator) {\n const uint8Array = new Uint8Array(chunk);\n const ok = pakoProcessor.push(uint8Array, false); // false -> not last chunk\n if (!ok) {\n throw new Error(`${this._getError()}write`);\n }\n const chunks = this._getChunks();\n yield* chunks;\n }\n\n // End\n const emptyChunk = new Uint8Array(0);\n const ok = pakoProcessor.push(emptyChunk, true); // true -> last chunk\n if (!ok) {\n // For some reason we get error but it still works???\n // throw new Error(this._getError() + 'end');\n }\n const chunks = this._getChunks();\n yield* chunks;\n }\n\n _onData(chunk) {\n this._chunks.push(chunk);\n }\n\n _onEnd(status) {\n if (status !== 0) {\n throw new Error(this._getError(status) + this._chunks.length);\n }\n }\n\n _getChunks(): ArrayBuffer[] {\n const chunks = this._chunks;\n this._chunks = [];\n return chunks;\n }\n\n // TODO - For some reason we don't get the error message from pako in _onEnd?\n _getError(code: number = 0): string {\n const MESSAGES = {\n /* Z_NEED_DICT 2 */\n 2: 'need dictionary',\n /* Z_STREAM_END 1 */\n 1: 'stream end',\n /* Z_OK 0 */\n 0: '',\n /* Z_ERRNO (-1) */\n '-1': 'file error',\n /* Z_STREAM_ERROR (-2) */\n '-2': 'stream error',\n /* Z_DATA_ERROR (-3) */\n '-3': 'data error',\n /* Z_MEM_ERROR (-4) */\n '-4': 'insufficient memory',\n /* Z_BUF_ERROR (-5) */\n '-5': 'buffer error',\n /* Z_VERSION_ERROR (-6) */\n '-6': 'incompatible version'\n };\n return `${this.name}: ${MESSAGES[code]}`;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gzip-compression.js","names":["GZipCompression","options","deflate","gzip","DeflateCompression"],"sources":["../../../src/lib/gzip-compression.ts"],"sourcesContent":["// GZIP\n// import {isBrowser} from '@loaders.gl/loader-utils';\nimport type {CompressionOptions} from './compression';\nimport {DeflateCompression} from './deflate-compression';\nimport pako from 'pako'; // https://bundlephobia.com/package/pako\n\nexport type GZipCompressionOptions = CompressionOptions & {\n gzip?: pako.InflateOptions & pako.DeflateOptions;\n};\n\n/**\n * GZIP compression / decompression\n */\nexport class GZipCompression extends DeflateCompression {\n readonly name: string = 'gzip';\n readonly extensions = ['gz', 'gzip'];\n readonly contentEncodings = ['gzip', 'x-gzip'];\n readonly isSupported = true;\n\n constructor(options?: GZipCompressionOptions) {\n super({...options, deflate: {...options?.gzip, gzip: true}});\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAGA;AAAyD;AAAA;AAAA;AAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"gzip-compression.js","names":["_deflateCompression","require","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","GZipCompression","_DeflateCompression","_inherits2","_super","options","_this","_classCallCheck2","deflate","gzip","_assertThisInitialized2","_createClass2","DeflateCompression","exports"],"sources":["../../../src/lib/gzip-compression.ts"],"sourcesContent":["// GZIP\n// import {isBrowser} from '@loaders.gl/loader-utils';\nimport type {CompressionOptions} from './compression';\nimport {DeflateCompression} from './deflate-compression';\nimport pako from 'pako'; // https://bundlephobia.com/package/pako\n\nexport type GZipCompressionOptions = CompressionOptions & {\n gzip?: pako.InflateOptions & pako.DeflateOptions;\n};\n\n/**\n * GZIP compression / decompression\n */\nexport class GZipCompression extends DeflateCompression {\n readonly name: string = 'gzip';\n readonly extensions = ['gz', 'gzip'];\n readonly contentEncodings = ['gzip', 'x-gzip'];\n readonly isSupported = true;\n\n constructor(options?: GZipCompressionOptions) {\n super({...options, deflate: {...options?.gzip, gzip: true}});\n }\n}\n"],"mappings":"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"}
|
|
@@ -18,7 +18,6 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
18
18
|
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; } }
|
|
19
19
|
var LZ4_MAGIC_NUMBER = 0x184d2204;
|
|
20
20
|
var lz4js;
|
|
21
|
-
|
|
22
21
|
var LZ4Compression = function (_Compression) {
|
|
23
22
|
(0, _inherits2.default)(LZ4Compression, _Compression);
|
|
24
23
|
var _super = _createSuper(LZ4Compression);
|
|
@@ -45,11 +44,9 @@ var LZ4Compression = function (_Compression) {
|
|
|
45
44
|
var inputArray = new Uint8Array(input);
|
|
46
45
|
return lz4js.compress(inputArray).buffer;
|
|
47
46
|
}
|
|
48
|
-
|
|
49
47
|
}, {
|
|
50
48
|
key: "decompressSync",
|
|
51
|
-
value:
|
|
52
|
-
function decompressSync(data, maxSize) {
|
|
49
|
+
value: function decompressSync(data, maxSize) {
|
|
53
50
|
try {
|
|
54
51
|
var isMagicNumberExists = this.checkMagicNumber(data);
|
|
55
52
|
var inputArray = new Uint8Array(data);
|
|
@@ -68,17 +65,14 @@ var LZ4Compression = function (_Compression) {
|
|
|
68
65
|
throw this.improveError(error);
|
|
69
66
|
}
|
|
70
67
|
}
|
|
71
|
-
|
|
72
68
|
}, {
|
|
73
69
|
key: "decodeBlock",
|
|
74
|
-
value:
|
|
75
|
-
function decodeBlock(data, output, startIndex, endIndex) {
|
|
70
|
+
value: function decodeBlock(data, output, startIndex, endIndex) {
|
|
76
71
|
startIndex = startIndex || 0;
|
|
77
72
|
endIndex = endIndex || data.length - startIndex;
|
|
78
73
|
var uncompressedSize = 0;
|
|
79
74
|
for (var index = startIndex; index < endIndex;) {
|
|
80
75
|
var token = data[index++];
|
|
81
|
-
|
|
82
76
|
var literalsLength = token >> 4;
|
|
83
77
|
if (literalsLength > 0) {
|
|
84
78
|
var _length = literalsLength + 240;
|
|
@@ -86,44 +80,35 @@ var LZ4Compression = function (_Compression) {
|
|
|
86
80
|
_length = data[index++];
|
|
87
81
|
literalsLength += _length;
|
|
88
82
|
}
|
|
89
|
-
|
|
90
83
|
var _end = index + literalsLength;
|
|
91
84
|
while (index < _end) {
|
|
92
85
|
output[uncompressedSize++] = data[index++];
|
|
93
86
|
}
|
|
94
|
-
|
|
95
87
|
if (index === endIndex) {
|
|
96
88
|
return uncompressedSize;
|
|
97
89
|
}
|
|
98
90
|
}
|
|
99
|
-
|
|
100
91
|
var offset = data[index++] | data[index++] << 8;
|
|
101
|
-
|
|
102
92
|
if (offset === 0 || offset > uncompressedSize) {
|
|
103
93
|
return -(index - 2);
|
|
104
94
|
}
|
|
105
|
-
|
|
106
95
|
var matchLength = token & 0xf;
|
|
107
96
|
var length = matchLength + 240;
|
|
108
97
|
while (length === 255) {
|
|
109
98
|
length = data[index++];
|
|
110
99
|
matchLength += length;
|
|
111
100
|
}
|
|
112
|
-
|
|
113
101
|
var pos = uncompressedSize - offset;
|
|
114
102
|
var end = uncompressedSize + matchLength + 4;
|
|
115
|
-
|
|
116
103
|
while (uncompressedSize < end) {
|
|
117
104
|
output[uncompressedSize++] = output[pos++];
|
|
118
105
|
}
|
|
119
106
|
}
|
|
120
107
|
return uncompressedSize;
|
|
121
108
|
}
|
|
122
|
-
|
|
123
109
|
}, {
|
|
124
110
|
key: "checkMagicNumber",
|
|
125
|
-
value:
|
|
126
|
-
function checkMagicNumber(data) {
|
|
111
|
+
value: function checkMagicNumber(data) {
|
|
127
112
|
var magic = new Uint32Array(data.slice(0, 4));
|
|
128
113
|
return magic[0] === LZ4_MAGIC_NUMBER;
|
|
129
114
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lz4-compression.js","names":["LZ4_MAGIC_NUMBER","lz4js","LZ4Compression","options","modules","Error","name","input","inputArray","Uint8Array","compress","buffer","data","maxSize","isMagicNumberExists","checkMagicNumber","decompress","error","improveError","uncompressed","uncompressedSize","decodeBlock","slice","toArrayBuffer","output","startIndex","endIndex","length","index","token","literalsLength","end","offset","matchLength","pos","magic","Uint32Array","Compression"],"sources":["../../../src/lib/lz4-compression.ts"],"sourcesContent":["// Copyright (c) 2012 Pierre Curto\n\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n/* eslint-disable complexity */\n/* eslint-disable max-statements */\n\n// LZ4\nimport {toArrayBuffer} from '@loaders.gl/loader-utils';\nimport type {CompressionOptions} from './compression';\nimport {Compression} from './compression';\n// import lz4js from 'lz4js'; // https://bundlephobia.com/package/lz4\nconst LZ4_MAGIC_NUMBER = 0x184d2204;\n\nlet lz4js;\n\n/**\n * LZ4 compression / decompression\n */\nexport class LZ4Compression extends Compression {\n readonly name: string = 'lz4';\n readonly extensions = ['lz4'];\n readonly contentEncodings = ['x-lz4'];\n readonly isSupported = true;\n readonly options: CompressionOptions;\n\n constructor(options: CompressionOptions) {\n super(options);\n this.options = options;\n\n lz4js = lz4js || this.options?.modules?.lz4js;\n if (!lz4js) {\n throw new Error(this.name);\n }\n }\n\n compressSync(input: ArrayBuffer): ArrayBuffer {\n const inputArray = new Uint8Array(input);\n return lz4js.compress(inputArray).buffer;\n }\n\n /**\n * Decompresses an ArrayBuffer containing an Lz4 frame. maxSize is optional; if not\n * provided, a maximum size will be determined by examining the data. The\n * returned ArrayBuffer will always be perfectly sized.\n * If data provided without magic number we will parse it as block\n */\n decompressSync(data: ArrayBuffer, maxSize?: number): ArrayBuffer {\n try {\n const isMagicNumberExists = this.checkMagicNumber(data);\n const inputArray = new Uint8Array(data);\n\n if (isMagicNumberExists) {\n return lz4js.decompress(inputArray, maxSize).buffer;\n }\n\n if (!maxSize) {\n const error = new Error('Need to provide maxSize');\n throw this.improveError(error);\n }\n\n let uncompressed = new Uint8Array(maxSize);\n const uncompressedSize = this.decodeBlock(inputArray, uncompressed);\n uncompressed = uncompressed.slice(0, uncompressedSize);\n\n return toArrayBuffer(uncompressed);\n } catch (error) {\n throw this.improveError(error);\n }\n }\n\n /**\n * Decode lz4 file as block\n * Solution taken from here\n * https://github.com/pierrec/node-lz4/blob/0dac687262403fd34f905b963da7220692f2a4a1/lib/binding.js#L25\n * @param input\n * @param output\n * @param startIndex\n * @param endIndex\n */\n decodeBlock(\n data: Uint8Array,\n output: Uint8Array,\n startIndex?: number,\n endIndex?: number\n ): number {\n startIndex = startIndex || 0;\n endIndex = endIndex || data.length - startIndex;\n\n let uncompressedSize = 0;\n // Process each sequence in the incoming data\n for (let index = startIndex; index < endIndex; ) {\n const token = data[index++];\n\n // Literals\n let literalsLength = token >> 4;\n\n if (literalsLength > 0) {\n // length of literals\n let length = literalsLength + 240;\n\n while (length === 255) {\n length = data[index++];\n literalsLength += length;\n }\n\n // Copy the literals\n const end = index + literalsLength;\n\n while (index < end) {\n output[uncompressedSize++] = data[index++];\n }\n\n // End of buffer?\n if (index === endIndex) {\n return uncompressedSize;\n }\n }\n\n // Match copy\n // 2 bytes offset (little endian)\n const offset = data[index++] | (data[index++] << 8);\n\n // 0 is an invalid offset value\n if (offset === 0 || offset > uncompressedSize) {\n return -(index - 2);\n }\n\n // length of match copy\n let matchLength = token & 0xf;\n let length = matchLength + 240;\n\n while (length === 255) {\n length = data[index++];\n matchLength += length;\n }\n\n // Copy the match\n let pos = uncompressedSize - offset; // position of the match copy in the current output\n const end = uncompressedSize + matchLength + 4; // minmatch = 4\n\n while (uncompressedSize < end) {\n output[uncompressedSize++] = output[pos++];\n }\n }\n\n return uncompressedSize;\n }\n\n /**\n * Compare file magic with lz4 magic number\n * @param input\n */\n checkMagicNumber(data: ArrayBuffer): boolean {\n const magic = new Uint32Array(data.slice(0, 4));\n return magic[0] === LZ4_MAGIC_NUMBER;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lz4-compression.js","names":["_loaderUtils","require","_compression","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","LZ4_MAGIC_NUMBER","lz4js","LZ4Compression","_Compression","_inherits2","_super","options","_this$options","_this$options$modules","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","modules","Error","name","_createClass2","key","value","compressSync","input","inputArray","Uint8Array","compress","buffer","decompressSync","data","maxSize","isMagicNumberExists","checkMagicNumber","decompress","error","improveError","uncompressed","uncompressedSize","decodeBlock","slice","toArrayBuffer","output","startIndex","endIndex","length","index","token","literalsLength","end","offset","matchLength","pos","magic","Uint32Array","Compression","exports"],"sources":["../../../src/lib/lz4-compression.ts"],"sourcesContent":["// Copyright (c) 2012 Pierre Curto\n\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n/* eslint-disable complexity */\n/* eslint-disable max-statements */\n\n// LZ4\nimport {toArrayBuffer} from '@loaders.gl/loader-utils';\nimport type {CompressionOptions} from './compression';\nimport {Compression} from './compression';\n// import lz4js from 'lz4js'; // https://bundlephobia.com/package/lz4\nconst LZ4_MAGIC_NUMBER = 0x184d2204;\n\nlet lz4js;\n\n/**\n * LZ4 compression / decompression\n */\nexport class LZ4Compression extends Compression {\n readonly name: string = 'lz4';\n readonly extensions = ['lz4'];\n readonly contentEncodings = ['x-lz4'];\n readonly isSupported = true;\n readonly options: CompressionOptions;\n\n constructor(options: CompressionOptions) {\n super(options);\n this.options = options;\n\n lz4js = lz4js || this.options?.modules?.lz4js;\n if (!lz4js) {\n throw new Error(this.name);\n }\n }\n\n compressSync(input: ArrayBuffer): ArrayBuffer {\n const inputArray = new Uint8Array(input);\n return lz4js.compress(inputArray).buffer;\n }\n\n /**\n * Decompresses an ArrayBuffer containing an Lz4 frame. maxSize is optional; if not\n * provided, a maximum size will be determined by examining the data. The\n * returned ArrayBuffer will always be perfectly sized.\n * If data provided without magic number we will parse it as block\n */\n decompressSync(data: ArrayBuffer, maxSize?: number): ArrayBuffer {\n try {\n const isMagicNumberExists = this.checkMagicNumber(data);\n const inputArray = new Uint8Array(data);\n\n if (isMagicNumberExists) {\n return lz4js.decompress(inputArray, maxSize).buffer;\n }\n\n if (!maxSize) {\n const error = new Error('Need to provide maxSize');\n throw this.improveError(error);\n }\n\n let uncompressed = new Uint8Array(maxSize);\n const uncompressedSize = this.decodeBlock(inputArray, uncompressed);\n uncompressed = uncompressed.slice(0, uncompressedSize);\n\n return toArrayBuffer(uncompressed);\n } catch (error) {\n throw this.improveError(error);\n }\n }\n\n /**\n * Decode lz4 file as block\n * Solution taken from here\n * https://github.com/pierrec/node-lz4/blob/0dac687262403fd34f905b963da7220692f2a4a1/lib/binding.js#L25\n * @param input\n * @param output\n * @param startIndex\n * @param endIndex\n */\n decodeBlock(\n data: Uint8Array,\n output: Uint8Array,\n startIndex?: number,\n endIndex?: number\n ): number {\n startIndex = startIndex || 0;\n endIndex = endIndex || data.length - startIndex;\n\n let uncompressedSize = 0;\n // Process each sequence in the incoming data\n for (let index = startIndex; index < endIndex; ) {\n const token = data[index++];\n\n // Literals\n let literalsLength = token >> 4;\n\n if (literalsLength > 0) {\n // length of literals\n let length = literalsLength + 240;\n\n while (length === 255) {\n length = data[index++];\n literalsLength += length;\n }\n\n // Copy the literals\n const end = index + literalsLength;\n\n while (index < end) {\n output[uncompressedSize++] = data[index++];\n }\n\n // End of buffer?\n if (index === endIndex) {\n return uncompressedSize;\n }\n }\n\n // Match copy\n // 2 bytes offset (little endian)\n const offset = data[index++] | (data[index++] << 8);\n\n // 0 is an invalid offset value\n if (offset === 0 || offset > uncompressedSize) {\n return -(index - 2);\n }\n\n // length of match copy\n let matchLength = token & 0xf;\n let length = matchLength + 240;\n\n while (length === 255) {\n length = data[index++];\n matchLength += length;\n }\n\n // Copy the match\n let pos = uncompressedSize - offset; // position of the match copy in the current output\n const end = uncompressedSize + matchLength + 4; // minmatch = 4\n\n while (uncompressedSize < end) {\n output[uncompressedSize++] = output[pos++];\n }\n }\n\n return uncompressedSize;\n }\n\n /**\n * Compare file magic with lz4 magic number\n * @param input\n */\n checkMagicNumber(data: ArrayBuffer): boolean {\n const magic = new Uint32Array(data.slice(0, 4));\n return magic[0] === LZ4_MAGIC_NUMBER;\n }\n}\n"],"mappings":"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"}
|