@loaders.gl/compression 3.4.0-alpha.1 → 3.4.0-alpha.2

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.
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports._typecheckCompressionWorker = exports.CompressionWorker = void 0;
7
7
  exports.compressOnWorker = compressOnWorker;
8
8
  var _workerUtils = require("@loaders.gl/worker-utils");
9
- var VERSION = typeof "3.4.0-alpha.1" !== 'undefined' ? "3.4.0-alpha.1" : 'latest';
9
+ var VERSION = typeof "3.4.0-alpha.2" !== 'undefined' ? "3.4.0-alpha.2" : 'latest';
10
10
  var CompressionWorker = {
11
11
  id: 'compression',
12
12
  name: 'compression',
@@ -87,7 +87,7 @@ var BrotliCompression = function (_Compression) {
87
87
  break;
88
88
  }
89
89
  _context2.next = 3;
90
- return (0, _loaderUtils.promisify)(_zlib.default.brotliCompress)(input);
90
+ return (0, _loaderUtils.promisify1)(_zlib.default.brotliCompress)(input);
91
91
  case 3:
92
92
  buffer = _context2.sent;
93
93
  return _context2.abrupt("return", (0, _loaderUtils.toArrayBuffer)(buffer));
@@ -137,7 +137,7 @@ var BrotliCompression = function (_Compression) {
137
137
  break;
138
138
  }
139
139
  _context3.next = 3;
140
- return (0, _loaderUtils.promisify)(_zlib.default.brotliDecompress)(input);
140
+ return (0, _loaderUtils.promisify1)(_zlib.default.brotliDecompress)(input);
141
141
  case 3:
142
142
  buffer = _context3.sent;
143
143
  return _context3.abrupt("return", (0, _loaderUtils.toArrayBuffer)(buffer));
@@ -1 +1 @@
1
- {"version":3,"file":"brotli-compression.js","names":["DEFAULT_BROTLI_OPTIONS","brotli","mode","quality","lgwin","BrotliCompression","options","modules","console","warn","name","input","isBrowser","useZlib","promisify","zlib","brotliCompress","buffer","toArrayBuffer","compressSync","brotliCompressSync","brotliOptions","inputArray","Uint8Array","Error","outputArray","compress","brotliDecompress","decompressSync","brotliDecompressSync","decompress","BrotliDecode","undefined","Compression"],"sources":["../../../src/lib/brotli-compression.ts"],"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 // eslint-disable-next-line no-console\n console.warn(`${this.name} library not installed`);\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"],"mappings":"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"}
1
+ {"version":3,"file":"brotli-compression.js","names":["DEFAULT_BROTLI_OPTIONS","brotli","mode","quality","lgwin","BrotliCompression","options","modules","console","warn","name","input","isBrowser","useZlib","promisify1","zlib","brotliCompress","buffer","toArrayBuffer","compressSync","brotliCompressSync","brotliOptions","inputArray","Uint8Array","Error","outputArray","compress","brotliDecompress","decompressSync","brotliDecompressSync","decompress","BrotliDecode","undefined","Compression"],"sources":["../../../src/lib/brotli-compression.ts"],"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 {promisify1} 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 // eslint-disable-next-line no-console\n console.warn(`${this.name} library not installed`);\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 promisify1(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 promisify1(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"],"mappings":"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"}
@@ -61,14 +61,14 @@ var DeflateCompression = function (_Compression) {
61
61
  break;
62
62
  }
63
63
  _context.next = 4;
64
- return (0, _loaderUtils.promisify)(_zlib.default.gzip)(input);
64
+ return (0, _loaderUtils.promisify1)(_zlib.default.gzip)(input);
65
65
  case 4:
66
66
  _context.t0 = _context.sent;
67
67
  _context.next = 10;
68
68
  break;
69
69
  case 7:
70
70
  _context.next = 9;
71
- return (0, _loaderUtils.promisify)(_zlib.default.deflate)(input);
71
+ return (0, _loaderUtils.promisify1)(_zlib.default.deflate)(input);
72
72
  case 9:
73
73
  _context.t0 = _context.sent;
74
74
  case 10:
@@ -107,14 +107,14 @@ var DeflateCompression = function (_Compression) {
107
107
  break;
108
108
  }
109
109
  _context2.next = 4;
110
- return (0, _loaderUtils.promisify)(_zlib.default.gunzip)(input);
110
+ return (0, _loaderUtils.promisify1)(_zlib.default.gunzip)(input);
111
111
  case 4:
112
112
  _context2.t0 = _context2.sent;
113
113
  _context2.next = 10;
114
114
  break;
115
115
  case 7:
116
116
  _context2.next = 9;
117
- return (0, _loaderUtils.promisify)(_zlib.default.inflate)(input);
117
+ return (0, _loaderUtils.promisify1)(_zlib.default.inflate)(input);
118
118
  case 9:
119
119
  _context2.t0 = _context2.sent;
120
120
  case 10:
@@ -1 +1 @@
1
- {"version":3,"file":"deflate-compression.js","names":["DeflateCompression","options","input","isBrowser","deflate","useZlib","gzip","promisify","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 {promisify} 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 promisify(zlib.gzip)(input)\n : await promisify(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 promisify(zlib.gunzip)(input)\n : await promisify(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":["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,6 +1,6 @@
1
1
  import { processOnWorker } from '@loaders.gl/worker-utils';
2
2
 
3
- const VERSION = typeof "3.4.0-alpha.1" !== 'undefined' ? "3.4.0-alpha.1" : 'latest';
3
+ const VERSION = typeof "3.4.0-alpha.2" !== 'undefined' ? "3.4.0-alpha.2" : 'latest';
4
4
  export const CompressionWorker = {
5
5
  id: 'compression',
6
6
  name: 'compression',
@@ -4,7 +4,7 @@ import { Compression } from './compression';
4
4
  import { isBrowser, toArrayBuffer } from '@loaders.gl/loader-utils';
5
5
  import { BrotliDecode } from '../brotli/decode';
6
6
  import zlib from 'zlib';
7
- import { promisify } from '@loaders.gl/loader-utils';
7
+ import { promisify1 } from '@loaders.gl/loader-utils';
8
8
  const DEFAULT_BROTLI_OPTIONS = {
9
9
  brotli: {
10
10
  mode: 0,
@@ -35,7 +35,7 @@ export class BrotliCompression extends Compression {
35
35
  async compress(input) {
36
36
  var _this$options$brotli;
37
37
  if (!isBrowser && (_this$options$brotli = this.options.brotli) !== null && _this$options$brotli !== void 0 && _this$options$brotli.useZlib) {
38
- const buffer = await promisify(zlib.brotliCompress)(input);
38
+ const buffer = await promisify1(zlib.brotliCompress)(input);
39
39
  return toArrayBuffer(buffer);
40
40
  }
41
41
  return this.compressSync(input);
@@ -61,7 +61,7 @@ export class BrotliCompression extends Compression {
61
61
  async decompress(input) {
62
62
  var _this$options$brotli3;
63
63
  if (!isBrowser && (_this$options$brotli3 = this.options.brotli) !== null && _this$options$brotli3 !== void 0 && _this$options$brotli3.useZlib) {
64
- const buffer = await promisify(zlib.brotliDecompress)(input);
64
+ const buffer = await promisify1(zlib.brotliDecompress)(input);
65
65
  return toArrayBuffer(buffer);
66
66
  }
67
67
  return this.decompressSync(input);
@@ -1 +1 @@
1
- {"version":3,"file":"brotli-compression.js","names":["Compression","isBrowser","toArrayBuffer","BrotliDecode","zlib","promisify","DEFAULT_BROTLI_OPTIONS","brotli","mode","quality","lgwin","BrotliCompression","constructor","options","preload","modules","console","warn","name","compress","input","useZlib","buffer","brotliCompress","compressSync","brotliCompressSync","brotliOptions","inputArray","Uint8Array","Error","outputArray","decompress","brotliDecompress","decompressSync","brotliDecompressSync","undefined"],"sources":["../../../src/lib/brotli-compression.ts"],"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 // eslint-disable-next-line no-console\n console.warn(`${this.name} library not installed`);\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"],"mappings":"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"}
1
+ {"version":3,"file":"brotli-compression.js","names":["Compression","isBrowser","toArrayBuffer","BrotliDecode","zlib","promisify1","DEFAULT_BROTLI_OPTIONS","brotli","mode","quality","lgwin","BrotliCompression","constructor","options","preload","modules","console","warn","name","compress","input","useZlib","buffer","brotliCompress","compressSync","brotliCompressSync","brotliOptions","inputArray","Uint8Array","Error","outputArray","decompress","brotliDecompress","decompressSync","brotliDecompressSync","undefined"],"sources":["../../../src/lib/brotli-compression.ts"],"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 {promisify1} 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 // eslint-disable-next-line no-console\n console.warn(`${this.name} library not installed`);\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 promisify1(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 promisify1(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"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { Compression } from './compression';
4
4
  import { isBrowser, toArrayBuffer } from '@loaders.gl/loader-utils';
5
5
  import pako from 'pako';
6
6
  import zlib from 'zlib';
7
- import { promisify } from '@loaders.gl/loader-utils';
7
+ import { promisify1 } from '@loaders.gl/loader-utils';
8
8
  export class DeflateCompression extends Compression {
9
9
  constructor() {
10
10
  let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -21,7 +21,7 @@ export class DeflateCompression extends Compression {
21
21
  var _this$options$deflate;
22
22
  if (!isBrowser && (_this$options$deflate = this.options.deflate) !== null && _this$options$deflate !== void 0 && _this$options$deflate.useZlib) {
23
23
  var _this$options$deflate2;
24
- const buffer = (_this$options$deflate2 = this.options.deflate) !== null && _this$options$deflate2 !== void 0 && _this$options$deflate2.gzip ? await promisify(zlib.gzip)(input) : await promisify(zlib.deflate)(input);
24
+ const buffer = (_this$options$deflate2 = this.options.deflate) !== null && _this$options$deflate2 !== void 0 && _this$options$deflate2.gzip ? await promisify1(zlib.gzip)(input) : await promisify1(zlib.deflate)(input);
25
25
  return toArrayBuffer(buffer);
26
26
  }
27
27
  return this.compressSync(input);
@@ -30,7 +30,7 @@ export class DeflateCompression extends Compression {
30
30
  var _this$options$deflate3;
31
31
  if (!isBrowser && (_this$options$deflate3 = this.options.deflate) !== null && _this$options$deflate3 !== void 0 && _this$options$deflate3.useZlib) {
32
32
  var _this$options$deflate4;
33
- const buffer = (_this$options$deflate4 = this.options.deflate) !== null && _this$options$deflate4 !== void 0 && _this$options$deflate4.gzip ? await promisify(zlib.gunzip)(input) : await promisify(zlib.inflate)(input);
33
+ const buffer = (_this$options$deflate4 = this.options.deflate) !== null && _this$options$deflate4 !== void 0 && _this$options$deflate4.gzip ? await promisify1(zlib.gunzip)(input) : await promisify1(zlib.inflate)(input);
34
34
  return toArrayBuffer(buffer);
35
35
  }
36
36
  return this.decompressSync(input);
@@ -1 +1 @@
1
- {"version":3,"file":"deflate-compression.js","names":["Compression","isBrowser","toArrayBuffer","pako","zlib","promisify","DeflateCompression","constructor","options","compress","input","deflate","useZlib","buffer","gzip","compressSync","decompress","gunzip","inflate","decompressSync","gzipSync","deflateSync","pakoOptions","inputArray","Uint8Array","gunzipSync","inflateSync","compressBatches","asyncIterator","pakoProcessor","Deflate","transformBatches","decompressBatches","Inflate","onData","_onData","bind","onEnd","_onEnd","chunk","uint8Array","ok","push","Error","_getError","chunks","_getChunks","emptyChunk","_chunks","status","length","code","MESSAGES","name"],"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 {promisify} 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 promisify(zlib.gzip)(input)\n : await promisify(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 promisify(zlib.gunzip)(input)\n : await promisify(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","isBrowser","toArrayBuffer","pako","zlib","promisify1","DeflateCompression","constructor","options","compress","input","deflate","useZlib","buffer","gzip","compressSync","decompress","gunzip","inflate","decompressSync","gzipSync","deflateSync","pakoOptions","inputArray","Uint8Array","gunzipSync","inflateSync","compressBatches","asyncIterator","pakoProcessor","Deflate","transformBatches","decompressBatches","Inflate","onData","_onData","bind","onEnd","_onEnd","chunk","uint8Array","ok","push","Error","_getError","chunks","_getChunks","emptyChunk","_chunks","status","length","code","MESSAGES","name"],"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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"}
@@ -44,7 +44,7 @@ class BrotliCompression extends compression_1.Compression {
44
44
  async compress(input) {
45
45
  // On Node.js we can use built-in zlib
46
46
  if (!loader_utils_1.isBrowser && this.options.brotli?.useZlib) {
47
- const buffer = await (0, loader_utils_2.promisify)(zlib_1.default.brotliCompress)(input);
47
+ const buffer = await (0, loader_utils_2.promisify1)(zlib_1.default.brotliCompress)(input);
48
48
  return (0, loader_utils_1.toArrayBuffer)(buffer);
49
49
  }
50
50
  return this.compressSync(input);
@@ -67,7 +67,7 @@ class BrotliCompression extends compression_1.Compression {
67
67
  async decompress(input) {
68
68
  // On Node.js we can use built-in zlib
69
69
  if (!loader_utils_1.isBrowser && this.options.brotli?.useZlib) {
70
- const buffer = await (0, loader_utils_2.promisify)(zlib_1.default.brotliDecompress)(input);
70
+ const buffer = await (0, loader_utils_2.promisify1)(zlib_1.default.brotliDecompress)(input);
71
71
  return (0, loader_utils_1.toArrayBuffer)(buffer);
72
72
  }
73
73
  return this.decompressSync(input);
@@ -26,8 +26,8 @@ class DeflateCompression extends compression_1.Compression {
26
26
  // On Node.js we can use built-in zlib
27
27
  if (!loader_utils_1.isBrowser && this.options.deflate?.useZlib) {
28
28
  const buffer = this.options.deflate?.gzip
29
- ? await (0, loader_utils_2.promisify)(zlib_1.default.gzip)(input)
30
- : await (0, loader_utils_2.promisify)(zlib_1.default.deflate)(input);
29
+ ? await (0, loader_utils_2.promisify1)(zlib_1.default.gzip)(input)
30
+ : await (0, loader_utils_2.promisify1)(zlib_1.default.deflate)(input);
31
31
  return (0, loader_utils_1.toArrayBuffer)(buffer);
32
32
  }
33
33
  return this.compressSync(input);
@@ -36,8 +36,8 @@ class DeflateCompression extends compression_1.Compression {
36
36
  // On Node.js we can use built-in zlib
37
37
  if (!loader_utils_1.isBrowser && this.options.deflate?.useZlib) {
38
38
  const buffer = this.options.deflate?.gzip
39
- ? await (0, loader_utils_2.promisify)(zlib_1.default.gunzip)(input)
40
- : await (0, loader_utils_2.promisify)(zlib_1.default.inflate)(input);
39
+ ? await (0, loader_utils_2.promisify1)(zlib_1.default.gunzip)(input)
40
+ : await (0, loader_utils_2.promisify1)(zlib_1.default.inflate)(input);
41
41
  return (0, loader_utils_1.toArrayBuffer)(buffer);
42
42
  }
43
43
  return this.decompressSync(input);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/compression",
3
- "version": "3.4.0-alpha.1",
3
+ "version": "3.4.0-alpha.2",
4
4
  "description": "Decompression and compression plugins for loaders.gl",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -38,8 +38,8 @@
38
38
  },
39
39
  "dependencies": {
40
40
  "@babel/runtime": "^7.3.1",
41
- "@loaders.gl/loader-utils": "3.4.0-alpha.1",
42
- "@loaders.gl/worker-utils": "3.4.0-alpha.1",
41
+ "@loaders.gl/loader-utils": "3.4.0-alpha.2",
42
+ "@loaders.gl/worker-utils": "3.4.0-alpha.2",
43
43
  "@types/brotli": "^1.3.0",
44
44
  "@types/pako": "^1.0.1",
45
45
  "lzo-wasm": "^0.0.4",
@@ -58,5 +58,5 @@
58
58
  "lzo": "^0.4.11",
59
59
  "zstd-codec": "^0.1"
60
60
  },
61
- "gitHead": "4085b0323050e4361614471319a1fb4729547bbf"
61
+ "gitHead": "f1c00c124d8d0c41a138ff40afb0d1a00711bf2e"
62
62
  }
@@ -6,7 +6,7 @@ import type brotliNamespace from 'brotli';
6
6
  // import brotli from 'brotli'; // https://bundlephobia.com/package/brotli
7
7
  import {BrotliDecode} from '../brotli/decode';
8
8
  import zlib from 'zlib';
9
- import {promisify} from '@loaders.gl/loader-utils';
9
+ import {promisify1} from '@loaders.gl/loader-utils';
10
10
 
11
11
  export type BrotliCompressionOptions = CompressionOptions & {
12
12
  brotli?: {
@@ -57,7 +57,7 @@ export class BrotliCompression extends Compression {
57
57
  async compress(input: ArrayBuffer): Promise<ArrayBuffer> {
58
58
  // On Node.js we can use built-in zlib
59
59
  if (!isBrowser && this.options.brotli?.useZlib) {
60
- const buffer = await promisify(zlib.brotliCompress)(input);
60
+ const buffer = await promisify1(zlib.brotliCompress)(input);
61
61
  return toArrayBuffer(buffer);
62
62
  }
63
63
  return this.compressSync(input);
@@ -84,7 +84,7 @@ export class BrotliCompression extends Compression {
84
84
  async decompress(input: ArrayBuffer): Promise<ArrayBuffer> {
85
85
  // On Node.js we can use built-in zlib
86
86
  if (!isBrowser && this.options.brotli?.useZlib) {
87
- const buffer = await promisify(zlib.brotliDecompress)(input);
87
+ const buffer = await promisify1(zlib.brotliDecompress)(input);
88
88
  return toArrayBuffer(buffer);
89
89
  }
90
90
  return this.decompressSync(input);
@@ -4,7 +4,7 @@ import {Compression} from './compression';
4
4
  import {isBrowser, toArrayBuffer} from '@loaders.gl/loader-utils';
5
5
  import pako from 'pako'; // https://bundlephobia.com/package/pako
6
6
  import zlib from 'zlib';
7
- import {promisify} from '@loaders.gl/loader-utils';
7
+ import {promisify1} from '@loaders.gl/loader-utils';
8
8
 
9
9
  export type DeflateCompressionOptions = CompressionOptions & {
10
10
  deflate?: pako.InflateOptions & pako.DeflateOptions & {useZlib?: boolean};
@@ -32,8 +32,8 @@ export class DeflateCompression extends Compression {
32
32
  // On Node.js we can use built-in zlib
33
33
  if (!isBrowser && this.options.deflate?.useZlib) {
34
34
  const buffer = this.options.deflate?.gzip
35
- ? await promisify(zlib.gzip)(input)
36
- : await promisify(zlib.deflate)(input);
35
+ ? await promisify1(zlib.gzip)(input)
36
+ : await promisify1(zlib.deflate)(input);
37
37
  return toArrayBuffer(buffer);
38
38
  }
39
39
  return this.compressSync(input);
@@ -43,8 +43,8 @@ export class DeflateCompression extends Compression {
43
43
  // On Node.js we can use built-in zlib
44
44
  if (!isBrowser && this.options.deflate?.useZlib) {
45
45
  const buffer = this.options.deflate?.gzip
46
- ? await promisify(zlib.gunzip)(input)
47
- : await promisify(zlib.inflate)(input);
46
+ ? await promisify1(zlib.gunzip)(input)
47
+ : await promisify1(zlib.inflate)(input);
48
48
  return toArrayBuffer(buffer);
49
49
  }
50
50
  return this.decompressSync(input);