@loaders.gl/compression 3.4.14 → 3.4.15
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 +331 -331
- package/dist/es5/brotli/decode.js.map +1 -1
- 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 +67 -146
- package/dist/es5/lib/brotli-compression.js.map +1 -1
- package/dist/es5/lib/compression.js +36 -141
- package/dist/es5/lib/compression.js.map +1 -1
- package/dist/es5/lib/deflate-compression.js +103 -296
- package/dist/es5/lib/deflate-compression.js.map +1 -1
- package/dist/es5/lib/gzip-compression.js +13 -27
- package/dist/es5/lib/gzip-compression.js.map +1 -1
- package/dist/es5/lib/lz4-compression.js +71 -94
- package/dist/es5/lib/lz4-compression.js.map +1 -1
- package/dist/es5/lib/lzo-compression.js +28 -100
- package/dist/es5/lib/lzo-compression.js.map +1 -1
- package/dist/es5/lib/no-compression.js +22 -75
- package/dist/es5/lib/no-compression.js.map +1 -1
- package/dist/es5/lib/snappy-compression.js +16 -35
- package/dist/es5/lib/snappy-compression.js.map +1 -1
- package/dist/es5/lib/zstd-compression.js +28 -74
- package/dist/es5/lib/zstd-compression.js.map +1 -1
- package/dist/es5/workers/worker.js +23 -51
- package/dist/es5/workers/worker.js.map +1 -1
- package/dist/esm/compression-worker.js +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compression.js","names":["_loaderUtils","require","Compression","
|
|
1
|
+
{"version":3,"file":"compression.js","names":["_loaderUtils","require","Compression","constructor","options","_defineProperty2","default","compressBatches","bind","decompressBatches","preload","compress","input","compressSync","decompress","size","decompressSync","Error","concat","name","asyncIterator","concatenate","concatenateArrayBuffersAsync","improveError","error","message","includes","exports"],"sources":["../../../src/lib/compression.ts"],"sourcesContent":["// Compression interface\nimport {concatenateArrayBuffersAsync} from '@loaders.gl/loader-utils';\n\n/** Compression options */\nexport type CompressionOptions = {\n // operation: 'compress' | 'decompress';\n modules?: {[moduleName: string]: any};\n};\n\n/** Compression */\nexport abstract class Compression {\n abstract readonly name: string;\n abstract readonly extensions: string[];\n abstract readonly contentEncodings: string[];\n abstract readonly isSupported: boolean;\n\n constructor(options?: CompressionOptions) {\n this.compressBatches = this.compressBatches.bind(this);\n this.decompressBatches = this.decompressBatches.bind(this);\n }\n\n /** Preloads any dynamic libraries. May enable sync functions */\n async preload(): Promise<void> {\n return;\n }\n\n /** Asynchronously compress data */\n async compress(input: ArrayBuffer): Promise<ArrayBuffer> {\n await this.preload();\n return this.compressSync(input);\n }\n\n /** Asynchronously decompress data */\n async decompress(input: ArrayBuffer, size?: number): Promise<ArrayBuffer> {\n await this.preload();\n return this.decompressSync(input, size);\n }\n\n /** Synchronously compress data */\n compressSync(input: ArrayBuffer): ArrayBuffer {\n throw new Error(`${this.name}: sync compression not supported`);\n }\n\n /** Synchronously compress data */\n decompressSync(input: ArrayBuffer, size?: number): ArrayBuffer {\n throw new Error(`${this.name}: sync decompression not supported`);\n }\n\n /** Compress batches */\n async *compressBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n ): AsyncIterable<ArrayBuffer> {\n // TODO - implement incremental compression\n const input = await this.concatenate(asyncIterator);\n yield this.compress(input);\n }\n\n /** Decompress batches */\n async *decompressBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n ): AsyncIterable<ArrayBuffer> {\n // TODO - implement incremental compression\n const input = await this.concatenate(asyncIterator);\n yield this.decompress(input);\n }\n\n // HELPERS\n\n protected concatenate(asyncIterator): Promise<ArrayBuffer> {\n return concatenateArrayBuffersAsync(asyncIterator);\n }\n\n protected improveError(error) {\n if (!error.message.includes(this.name)) {\n error.message = `${this.name} ${error.message}`;\n }\n return error;\n }\n}\n"],"mappings":";;;;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AASO,MAAeC,WAAW,CAAC;EAMhCC,WAAWA,CAACC,OAA4B,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IACxC,IAAI,CAACC,eAAe,GAAG,IAAI,CAACA,eAAe,CAACC,IAAI,CAAC,IAAI,CAAC;IACtD,IAAI,CAACC,iBAAiB,GAAG,IAAI,CAACA,iBAAiB,CAACD,IAAI,CAAC,IAAI,CAAC;EAC5D;EAGA,MAAME,OAAOA,CAAA,EAAkB;IAC7B;EACF;EAGA,MAAMC,QAAQA,CAACC,KAAkB,EAAwB;IACvD,MAAM,IAAI,CAACF,OAAO,CAAC,CAAC;IACpB,OAAO,IAAI,CAACG,YAAY,CAACD,KAAK,CAAC;EACjC;EAGA,MAAME,UAAUA,CAACF,KAAkB,EAAEG,IAAa,EAAwB;IACxE,MAAM,IAAI,CAACL,OAAO,CAAC,CAAC;IACpB,OAAO,IAAI,CAACM,cAAc,CAACJ,KAAK,EAAEG,IAAI,CAAC;EACzC;EAGAF,YAAYA,CAACD,KAAkB,EAAe;IAC5C,MAAM,IAAIK,KAAK,IAAAC,MAAA,CAAI,IAAI,CAACC,IAAI,qCAAkC,CAAC;EACjE;EAGAH,cAAcA,CAACJ,KAAkB,EAAEG,IAAa,EAAe;IAC7D,MAAM,IAAIE,KAAK,IAAAC,MAAA,CAAI,IAAI,CAACC,IAAI,uCAAoC,CAAC;EACnE;EAGA,OAAOZ,eAAeA,CACpBa,aAAiE,EACrC;IAE5B,MAAMR,KAAK,GAAG,MAAM,IAAI,CAACS,WAAW,CAACD,aAAa,CAAC;IACnD,MAAM,IAAI,CAACT,QAAQ,CAACC,KAAK,CAAC;EAC5B;EAGA,OAAOH,iBAAiBA,CACtBW,aAAiE,EACrC;IAE5B,MAAMR,KAAK,GAAG,MAAM,IAAI,CAACS,WAAW,CAACD,aAAa,CAAC;IACnD,MAAM,IAAI,CAACN,UAAU,CAACF,KAAK,CAAC;EAC9B;EAIUS,WAAWA,CAACD,aAAa,EAAwB;IACzD,OAAO,IAAAE,yCAA4B,EAACF,aAAa,CAAC;EACpD;EAEUG,YAAYA,CAACC,KAAK,EAAE;IAC5B,IAAI,CAACA,KAAK,CAACC,OAAO,CAACC,QAAQ,CAAC,IAAI,CAACP,IAAI,CAAC,EAAE;MACtCK,KAAK,CAACC,OAAO,MAAAP,MAAA,CAAM,IAAI,CAACC,IAAI,OAAAD,MAAA,CAAIM,KAAK,CAACC,OAAO,CAAE;IACjD;IACA,OAAOD,KAAK;EACd;AACF;AAACG,OAAA,CAAAzB,WAAA,GAAAA,WAAA"}
|
|
@@ -5,314 +5,121 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.DeflateCompression = void 0;
|
|
8
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
13
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
15
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
16
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
|
-
var _wrapAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapAsyncGenerator"));
|
|
18
|
-
var _awaitAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/awaitAsyncGenerator"));
|
|
19
|
-
var _asyncGeneratorDelegate2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncGeneratorDelegate"));
|
|
20
9
|
var _compression = require("./compression");
|
|
21
10
|
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
22
11
|
var _pako = _interopRequireDefault(require("pako"));
|
|
23
12
|
var _zlib = _interopRequireDefault(require("zlib"));
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
_this4 = _super.call(this, options);
|
|
36
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this4), "name", 'deflate');
|
|
37
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this4), "extensions", []);
|
|
38
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this4), "contentEncodings", ['deflate']);
|
|
39
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this4), "isSupported", true);
|
|
40
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this4), "options", void 0);
|
|
41
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this4), "_chunks", []);
|
|
42
|
-
_this4.options = options;
|
|
43
|
-
return _this4;
|
|
13
|
+
class DeflateCompression extends _compression.Compression {
|
|
14
|
+
constructor() {
|
|
15
|
+
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
16
|
+
super(options);
|
|
17
|
+
(0, _defineProperty2.default)(this, "name", 'deflate');
|
|
18
|
+
(0, _defineProperty2.default)(this, "extensions", []);
|
|
19
|
+
(0, _defineProperty2.default)(this, "contentEncodings", ['deflate']);
|
|
20
|
+
(0, _defineProperty2.default)(this, "isSupported", true);
|
|
21
|
+
(0, _defineProperty2.default)(this, "options", void 0);
|
|
22
|
+
(0, _defineProperty2.default)(this, "_chunks", []);
|
|
23
|
+
this.options = options;
|
|
44
24
|
}
|
|
45
|
-
(
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
var
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
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;
|
|
56
|
-
break;
|
|
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();
|
|
81
|
-
}
|
|
82
|
-
}, _callee, this);
|
|
83
|
-
}));
|
|
84
|
-
function compress(_x) {
|
|
85
|
-
return _compress.apply(this, arguments);
|
|
86
|
-
}
|
|
87
|
-
return compress;
|
|
88
|
-
}()
|
|
89
|
-
}, {
|
|
90
|
-
key: "decompress",
|
|
91
|
-
value: function () {
|
|
92
|
-
var _decompress = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(input) {
|
|
93
|
-
var _this$options$deflate3;
|
|
94
|
-
var _this$options$deflate4, buffer;
|
|
95
|
-
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
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;
|
|
104
|
-
break;
|
|
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();
|
|
125
|
-
}
|
|
126
|
-
}, _callee2, this);
|
|
127
|
-
}));
|
|
128
|
-
function decompress(_x2) {
|
|
129
|
-
return _decompress.apply(this, arguments);
|
|
130
|
-
}
|
|
131
|
-
return decompress;
|
|
132
|
-
}()
|
|
133
|
-
}, {
|
|
134
|
-
key: "compressSync",
|
|
135
|
-
value: function compressSync(input) {
|
|
136
|
-
var _this$options$deflate5, _this$options;
|
|
137
|
-
if (!_loaderUtils.isBrowser && (_this$options$deflate5 = this.options.deflate) !== null && _this$options$deflate5 !== void 0 && _this$options$deflate5.useZlib) {
|
|
138
|
-
var _this$options$deflate6;
|
|
139
|
-
var buffer = (_this$options$deflate6 = this.options.deflate) !== null && _this$options$deflate6 !== void 0 && _this$options$deflate6.gzip ? _zlib.default.gzipSync(input) : _zlib.default.deflateSync(input);
|
|
140
|
-
return (0, _loaderUtils.toArrayBuffer)(buffer);
|
|
141
|
-
}
|
|
142
|
-
var pakoOptions = ((_this$options = this.options) === null || _this$options === void 0 ? void 0 : _this$options.deflate) || {};
|
|
143
|
-
var inputArray = new Uint8Array(input);
|
|
144
|
-
return _pako.default.deflate(inputArray, pakoOptions).buffer;
|
|
145
|
-
}
|
|
146
|
-
}, {
|
|
147
|
-
key: "decompressSync",
|
|
148
|
-
value: function decompressSync(input) {
|
|
149
|
-
var _this$options$deflate7, _this$options2;
|
|
150
|
-
if (!_loaderUtils.isBrowser && (_this$options$deflate7 = this.options.deflate) !== null && _this$options$deflate7 !== void 0 && _this$options$deflate7.useZlib) {
|
|
151
|
-
var _this$options$deflate8;
|
|
152
|
-
var buffer = (_this$options$deflate8 = this.options.deflate) !== null && _this$options$deflate8 !== void 0 && _this$options$deflate8.gzip ? _zlib.default.gunzipSync(input) : _zlib.default.inflateSync(input);
|
|
153
|
-
return (0, _loaderUtils.toArrayBuffer)(buffer);
|
|
154
|
-
}
|
|
155
|
-
var pakoOptions = ((_this$options2 = this.options) === null || _this$options2 === void 0 ? void 0 : _this$options2.deflate) || {};
|
|
156
|
-
var inputArray = new Uint8Array(input);
|
|
157
|
-
return _pako.default.inflate(inputArray, pakoOptions).buffer;
|
|
25
|
+
async compress(input) {
|
|
26
|
+
var _this$options$deflate;
|
|
27
|
+
if (!_loaderUtils.isBrowser && (_this$options$deflate = this.options.deflate) !== null && _this$options$deflate !== void 0 && _this$options$deflate.useZlib) {
|
|
28
|
+
var _this$options$deflate2;
|
|
29
|
+
const buffer = (_this$options$deflate2 = this.options.deflate) !== null && _this$options$deflate2 !== void 0 && _this$options$deflate2.gzip ? await (0, _loaderUtils.promisify1)(_zlib.default.gzip)(input) : await (0, _loaderUtils.promisify1)(_zlib.default.deflate)(input);
|
|
30
|
+
return (0, _loaderUtils.toArrayBuffer)(buffer);
|
|
158
31
|
}
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
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();
|
|
175
|
-
}
|
|
176
|
-
}, _callee3);
|
|
177
|
-
}))();
|
|
178
|
-
}
|
|
179
|
-
}, {
|
|
180
|
-
key: "decompressBatches",
|
|
181
|
-
value: function decompressBatches(asyncIterator) {
|
|
182
|
-
var _this2 = this;
|
|
183
|
-
return (0, _wrapAsyncGenerator2.default)(_regenerator.default.mark(function _callee4() {
|
|
184
|
-
var _this2$options;
|
|
185
|
-
var pakoOptions, pakoProcessor;
|
|
186
|
-
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
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();
|
|
195
|
-
}
|
|
196
|
-
}, _callee4);
|
|
197
|
-
}))();
|
|
32
|
+
return this.compressSync(input);
|
|
33
|
+
}
|
|
34
|
+
async decompress(input) {
|
|
35
|
+
var _this$options$deflate3;
|
|
36
|
+
if (!_loaderUtils.isBrowser && (_this$options$deflate3 = this.options.deflate) !== null && _this$options$deflate3 !== void 0 && _this$options$deflate3.useZlib) {
|
|
37
|
+
var _this$options$deflate4;
|
|
38
|
+
const buffer = (_this$options$deflate4 = this.options.deflate) !== null && _this$options$deflate4 !== void 0 && _this$options$deflate4.gzip ? await (0, _loaderUtils.promisify1)(_zlib.default.gunzip)(input) : await (0, _loaderUtils.promisify1)(_zlib.default.inflate)(input);
|
|
39
|
+
return (0, _loaderUtils.toArrayBuffer)(buffer);
|
|
198
40
|
}
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
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;
|
|
220
|
-
break;
|
|
221
|
-
}
|
|
222
|
-
chunk = _step.value;
|
|
223
|
-
uint8Array = new Uint8Array(chunk);
|
|
224
|
-
_ok = pakoProcessor.push(uint8Array, false);
|
|
225
|
-
if (_ok) {
|
|
226
|
-
_context5.next = 14;
|
|
227
|
-
break;
|
|
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)) {
|
|
249
|
-
_context5.next = 30;
|
|
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();
|
|
274
|
-
}
|
|
275
|
-
}, _callee5, null, [[4, 21, 25, 35], [26,, 30, 34]]);
|
|
276
|
-
}))();
|
|
41
|
+
return this.decompressSync(input);
|
|
42
|
+
}
|
|
43
|
+
compressSync(input) {
|
|
44
|
+
var _this$options$deflate5, _this$options;
|
|
45
|
+
if (!_loaderUtils.isBrowser && (_this$options$deflate5 = this.options.deflate) !== null && _this$options$deflate5 !== void 0 && _this$options$deflate5.useZlib) {
|
|
46
|
+
var _this$options$deflate6;
|
|
47
|
+
const buffer = (_this$options$deflate6 = this.options.deflate) !== null && _this$options$deflate6 !== void 0 && _this$options$deflate6.gzip ? _zlib.default.gzipSync(input) : _zlib.default.deflateSync(input);
|
|
48
|
+
return (0, _loaderUtils.toArrayBuffer)(buffer);
|
|
277
49
|
}
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
50
|
+
const pakoOptions = ((_this$options = this.options) === null || _this$options === void 0 ? void 0 : _this$options.deflate) || {};
|
|
51
|
+
const inputArray = new Uint8Array(input);
|
|
52
|
+
return _pako.default.deflate(inputArray, pakoOptions).buffer;
|
|
53
|
+
}
|
|
54
|
+
decompressSync(input) {
|
|
55
|
+
var _this$options$deflate7, _this$options2;
|
|
56
|
+
if (!_loaderUtils.isBrowser && (_this$options$deflate7 = this.options.deflate) !== null && _this$options$deflate7 !== void 0 && _this$options$deflate7.useZlib) {
|
|
57
|
+
var _this$options$deflate8;
|
|
58
|
+
const buffer = (_this$options$deflate8 = this.options.deflate) !== null && _this$options$deflate8 !== void 0 && _this$options$deflate8.gzip ? _zlib.default.gunzipSync(input) : _zlib.default.inflateSync(input);
|
|
59
|
+
return (0, _loaderUtils.toArrayBuffer)(buffer);
|
|
282
60
|
}
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
61
|
+
const pakoOptions = ((_this$options2 = this.options) === null || _this$options2 === void 0 ? void 0 : _this$options2.deflate) || {};
|
|
62
|
+
const inputArray = new Uint8Array(input);
|
|
63
|
+
return _pako.default.inflate(inputArray, pakoOptions).buffer;
|
|
64
|
+
}
|
|
65
|
+
async *compressBatches(asyncIterator) {
|
|
66
|
+
var _this$options3;
|
|
67
|
+
const pakoOptions = ((_this$options3 = this.options) === null || _this$options3 === void 0 ? void 0 : _this$options3.deflate) || {};
|
|
68
|
+
const pakoProcessor = new _pako.default.Deflate(pakoOptions);
|
|
69
|
+
yield* this.transformBatches(pakoProcessor, asyncIterator);
|
|
70
|
+
}
|
|
71
|
+
async *decompressBatches(asyncIterator) {
|
|
72
|
+
var _this$options4;
|
|
73
|
+
const pakoOptions = ((_this$options4 = this.options) === null || _this$options4 === void 0 ? void 0 : _this$options4.deflate) || {};
|
|
74
|
+
const pakoProcessor = new _pako.default.Inflate(pakoOptions);
|
|
75
|
+
yield* this.transformBatches(pakoProcessor, asyncIterator);
|
|
76
|
+
}
|
|
77
|
+
async *transformBatches(pakoProcessor, asyncIterator) {
|
|
78
|
+
pakoProcessor.onData = this._onData.bind(this);
|
|
79
|
+
pakoProcessor.onEnd = this._onEnd.bind(this);
|
|
80
|
+
for await (const chunk of asyncIterator) {
|
|
81
|
+
const uint8Array = new Uint8Array(chunk);
|
|
82
|
+
const ok = pakoProcessor.push(uint8Array, false);
|
|
83
|
+
if (!ok) {
|
|
84
|
+
throw new Error("".concat(this._getError(), "write"));
|
|
288
85
|
}
|
|
86
|
+
const chunks = this._getChunks();
|
|
87
|
+
yield* chunks;
|
|
289
88
|
}
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
2: 'need dictionary',
|
|
303
|
-
1: 'stream end',
|
|
304
|
-
0: '',
|
|
305
|
-
'-1': 'file error',
|
|
306
|
-
'-2': 'stream error',
|
|
307
|
-
'-3': 'data error',
|
|
308
|
-
'-4': 'insufficient memory',
|
|
309
|
-
'-5': 'buffer error',
|
|
310
|
-
'-6': 'incompatible version'
|
|
311
|
-
};
|
|
312
|
-
return "".concat(this.name, ": ").concat(MESSAGES[code]);
|
|
89
|
+
const emptyChunk = new Uint8Array(0);
|
|
90
|
+
const ok = pakoProcessor.push(emptyChunk, true);
|
|
91
|
+
if (!ok) {}
|
|
92
|
+
const chunks = this._getChunks();
|
|
93
|
+
yield* chunks;
|
|
94
|
+
}
|
|
95
|
+
_onData(chunk) {
|
|
96
|
+
this._chunks.push(chunk);
|
|
97
|
+
}
|
|
98
|
+
_onEnd(status) {
|
|
99
|
+
if (status !== 0) {
|
|
100
|
+
throw new Error(this._getError(status) + this._chunks.length);
|
|
313
101
|
}
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
|
|
102
|
+
}
|
|
103
|
+
_getChunks() {
|
|
104
|
+
const chunks = this._chunks;
|
|
105
|
+
this._chunks = [];
|
|
106
|
+
return chunks;
|
|
107
|
+
}
|
|
108
|
+
_getError() {
|
|
109
|
+
let code = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
110
|
+
const MESSAGES = {
|
|
111
|
+
2: 'need dictionary',
|
|
112
|
+
1: 'stream end',
|
|
113
|
+
0: '',
|
|
114
|
+
'-1': 'file error',
|
|
115
|
+
'-2': 'stream error',
|
|
116
|
+
'-3': 'data error',
|
|
117
|
+
'-4': 'insufficient memory',
|
|
118
|
+
'-5': 'buffer error',
|
|
119
|
+
'-6': 'incompatible version'
|
|
120
|
+
};
|
|
121
|
+
return "".concat(this.name, ": ").concat(MESSAGES[code]);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
317
124
|
exports.DeflateCompression = DeflateCompression;
|
|
318
125
|
//# sourceMappingURL=deflate-compression.js.map
|
|
@@ -1 +1 @@
|
|
|
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
|
+
{"version":3,"file":"deflate-compression.js","names":["_compression","require","_loaderUtils","_pako","_interopRequireDefault","_zlib","DeflateCompression","Compression","constructor","options","arguments","length","undefined","_defineProperty2","default","compress","input","_this$options$deflate","isBrowser","deflate","useZlib","_this$options$deflate2","buffer","gzip","promisify1","zlib","toArrayBuffer","compressSync","decompress","_this$options$deflate3","_this$options$deflate4","gunzip","inflate","decompressSync","_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","asyncIterator","_this$options3","pakoProcessor","Deflate","transformBatches","decompressBatches","_this$options4","Inflate","onData","_onData","bind","onEnd","_onEnd","chunk","uint8Array","ok","push","Error","concat","_getError","chunks","_getChunks","emptyChunk","_chunks","status","code","MESSAGES","name","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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"}
|
|
@@ -5,36 +5,22 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.GZipCompression = void 0;
|
|
8
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
9
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
11
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
12
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
13
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
14
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
9
|
var _deflateCompression = require("./deflate-compression");
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
var _super = _createSuper(GZipCompression);
|
|
23
|
-
function GZipCompression(options) {
|
|
24
|
-
var _this;
|
|
25
|
-
(0, _classCallCheck2.default)(this, GZipCompression);
|
|
26
|
-
_this = _super.call(this, _objectSpread(_objectSpread({}, options), {}, {
|
|
27
|
-
deflate: _objectSpread(_objectSpread({}, options === null || options === void 0 ? void 0 : options.gzip), {}, {
|
|
10
|
+
class GZipCompression extends _deflateCompression.DeflateCompression {
|
|
11
|
+
constructor(options) {
|
|
12
|
+
super({
|
|
13
|
+
...options,
|
|
14
|
+
deflate: {
|
|
15
|
+
...(options === null || options === void 0 ? void 0 : options.gzip),
|
|
28
16
|
gzip: true
|
|
29
|
-
}
|
|
30
|
-
})
|
|
31
|
-
(0, _defineProperty2.default)(
|
|
32
|
-
(0, _defineProperty2.default)(
|
|
33
|
-
(0, _defineProperty2.default)(
|
|
34
|
-
(0, _defineProperty2.default)(
|
|
35
|
-
return _this;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
(0, _defineProperty2.default)(this, "name", 'gzip');
|
|
20
|
+
(0, _defineProperty2.default)(this, "extensions", ['gz', 'gzip']);
|
|
21
|
+
(0, _defineProperty2.default)(this, "contentEncodings", ['gzip', 'x-gzip']);
|
|
22
|
+
(0, _defineProperty2.default)(this, "isSupported", true);
|
|
36
23
|
}
|
|
37
|
-
|
|
38
|
-
}(_deflateCompression.DeflateCompression);
|
|
24
|
+
}
|
|
39
25
|
exports.GZipCompression = GZipCompression;
|
|
40
26
|
//# sourceMappingURL=gzip-compression.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gzip-compression.js","names":["_deflateCompression","require","
|
|
1
|
+
{"version":3,"file":"gzip-compression.js","names":["_deflateCompression","require","GZipCompression","DeflateCompression","constructor","options","deflate","gzip","_defineProperty2","default","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":";;;;;;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAUO,MAAMC,eAAe,SAASC,sCAAkB,CAAC;EAMtDC,WAAWA,CAACC,OAAgC,EAAE;IAC5C,KAAK,CAAC;MAAC,GAAGA,OAAO;MAAEC,OAAO,EAAE;QAAC,IAAGD,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEE,IAAI;QAAEA,IAAI,EAAE;MAAI;IAAC,CAAC,CAAC;IAAC,IAAAC,gBAAA,CAAAC,OAAA,gBANvC,MAAM;IAAA,IAAAD,gBAAA,CAAAC,OAAA,sBACR,CAAC,IAAI,EAAE,MAAM,CAAC;IAAA,IAAAD,gBAAA,CAAAC,OAAA,4BACR,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAA,IAAAD,gBAAA,CAAAC,OAAA,uBACvB,IAAI;EAI3B;AACF;AAACC,OAAA,CAAAR,eAAA,GAAAA,eAAA"}
|