node-liblzma 5.0.0 → 5.0.1

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/README.md CHANGED
@@ -342,9 +342,9 @@ Archives created by nxz are fully compatible with system `tar -xJf`.
342
342
  <summary><strong>One-shot usage (without global install)</strong></summary>
343
343
 
344
344
  ```bash
345
- # Standalone nxz-cli package (recommended — smaller, faster install)
346
- npx nxz-cli --help
347
- pnpm dlx nxz-cli --help
345
+ # Standalone nxz package (recommended — smaller, faster install)
346
+ npx @oorabona/nxz --help
347
+ pnpm dlx @oorabona/nxz --help
348
348
 
349
349
  # Or via the full node-liblzma package
350
350
  npx --package node-liblzma nxz --help
@@ -368,43 +368,61 @@ node-liblzma powers a family of focused packages:
368
368
  | Package | Description | Install |
369
369
  |---------|-------------|---------|
370
370
  | [`node-liblzma`](https://www.npmjs.com/package/node-liblzma) | Core XZ library — Node.js native + browser WASM | `npm i node-liblzma` |
371
- | [`tar-xz`](https://www.npmjs.com/package/tar-xz) | Create/extract .tar.xz archives — Node.js + browser | `npm i tar-xz` |
372
- | [`nxz-cli`](https://www.npmjs.com/package/nxz-cli) | Standalone CLI — `npx nxz-cli file.txt` | `npx nxz-cli` |
371
+ | [`tar-xz`](https://www.npmjs.com/package/tar-xz) | Create/extract .tar.xz archives — stream-first, Node + browser, same API (v6) | `npm i tar-xz` |
372
+ | [`@oorabona/nxz`](https://www.npmjs.com/package/@oorabona/nxz) | Standalone CLI — `npx @oorabona/nxz file.txt` | `npx @oorabona/nxz` |
373
373
 
374
- ### tar-xz — tar.xz archives
374
+ ### tar-xz — tar.xz archives (v6)
375
375
 
376
376
  > **[Live Demo](https://oorabona.github.io/node-liblzma/tar-xz/)** — Create and extract tar.xz archives in your browser.
377
377
 
378
- A library for working with `.tar.xz` archives, with dual Node.js (streaming) and browser (buffer-based) APIs. This fills the gap left by [node-tar](https://github.com/isaacs/node-tar) which does not support `.tar.xz`.
378
+ > **v6 redesign** unified stream-first API, same function names in Node and browser.
379
+ > See [packages/tar-xz/README.md](packages/tar-xz/README.md) for full docs and migration guide.
380
+
381
+ A library for working with `.tar.xz` archives. Fills the gap left by
382
+ [node-tar](https://github.com/isaacs/node-tar) which does not support `.tar.xz`.
379
383
 
380
384
  ```typescript
381
- // Node.js streaming API
385
+ // Same import works in Node.js AND browser (bundler resolves WASM automatically)
382
386
  import { create, extract, list } from 'tar-xz';
383
387
 
384
- await create({ file: 'archive.tar.xz', cwd: './src', files: ['index.ts', 'utils.ts'] });
385
- const entries = await list({ file: 'archive.tar.xz' });
386
- await extract({ file: 'archive.tar.xz', cwd: './output' });
388
+ // CREATE returns AsyncIterable<Uint8Array>
389
+ const archiveStream = create({
390
+ files: [
391
+ { name: 'hello.txt', source: Buffer.from('Hello!') },
392
+ { name: 'data.json', source: Buffer.from('{}') },
393
+ ],
394
+ preset: 6,
395
+ });
387
396
 
388
- // Browserbuffer-based API
389
- import { createTarXz, extractTarXz, listTarXz } from 'tar-xz';
397
+ // EXTRACTreturns AsyncIterable<TarEntryWithData>
398
+ for await (const entry of extract(archiveStream)) {
399
+ if (entry.type === '0') console.log(entry.name, await entry.text());
400
+ }
401
+
402
+ // LIST — returns AsyncIterable<TarEntry>
403
+ for await (const entry of list(archiveStream)) {
404
+ console.log(entry.name, entry.size);
405
+ }
390
406
 
391
- const archive = await createTarXz({ files: [{ name: 'hello.txt', content: data }] });
392
- const files = await extractTarXz(archive);
393
- const entries = await listTarXz(archive);
407
+ // File helpers (Node only, tar-xz/file subpath)
408
+ import { createFile, extractFile, listFile } from 'tar-xz/file';
409
+ await createFile('archive.tar.xz', { files: [{ name: 'a.txt', source: 'a.txt' }] });
410
+ await extractFile('archive.tar.xz', { cwd: './output', strip: 1 });
411
+ const entries = await listFile('archive.tar.xz');
394
412
  ```
395
413
 
396
- ### nxz-cli — standalone CLI
414
+ ### nxz — standalone CLI
397
415
 
398
416
  A lightweight wrapper package for running `nxz` without installing the full `node-liblzma`:
399
417
 
400
418
  ```bash
401
419
  # No install needed
402
- npx nxz-cli file.txt # compress
403
- npx nxz-cli -d file.txt.xz # decompress
404
- npx nxz-cli -T src/ -o app.tar.xz # create tar.xz archive
420
+ npx @oorabona/nxz file.txt # compress
421
+ npx @oorabona/nxz -d file.txt.xz # decompress
422
+ npx @oorabona/nxz -T src/ -o app.tar.xz # create tar.xz archive
405
423
 
406
424
  # Or install globally
407
- npm install -g nxz-cli
425
+ npm install -g @oorabona/nxz
408
426
  ```
409
427
 
410
428
  ## API Reference
@@ -867,7 +885,7 @@ npm config set python python3
867
885
  ## Related Projects
868
886
 
869
887
  - [tar-xz](https://www.npmjs.com/package/tar-xz) — Create/extract tar.xz archives (powered by node-liblzma)
870
- - [nxz-cli](https://www.npmjs.com/package/nxz-cli) — Standalone CLI for XZ compression
888
+ - [@oorabona/nxz](https://www.npmjs.com/package/@oorabona/nxz) — Standalone CLI for XZ compression
871
889
  - [lzma-purejs](https://github.com/cscott/lzma-purejs) — Pure JavaScript LZMA implementation
872
890
  - [node-xz](https://github.com/robey/node-xz) — Node binding of XZ library
873
891
  - [lzma-native](https://github.com/addaleax/lzma-native) — Complete XZ library bindings
package/lib/errors.d.ts CHANGED
@@ -45,7 +45,7 @@ export declare class LZMAFormatError extends LZMAError {
45
45
  * Options error - thrown when invalid or unsupported options are provided
46
46
  */
47
47
  export declare class LZMAOptionsError extends LZMAError {
48
- constructor(errno: number);
48
+ constructor(errno: number, message?: string);
49
49
  }
50
50
  /**
51
51
  * Data error - thrown when compressed data is corrupt
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK;IAClC,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,IAAI,EAAE,MAAM,CAAC;gBAEjB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAO3C;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS;gBAChC,KAAK,EAAE,MAAM;CAI1B;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,SAAS;gBACrC,KAAK,EAAE,MAAM;CAI1B;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS;gBAChC,KAAK,EAAE,MAAM;CAI1B;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,SAAS;gBACjC,KAAK,EAAE,MAAM;CAI1B;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,KAAK,EAAE,MAAM;CAI1B;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS;gBAChC,KAAK,EAAE,MAAM;CAI1B;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,SAAS;gBACrC,KAAK,EAAE,MAAM;CAI1B;AAED;;GAEG;AAMH,eAAO,MAAM,OAAO,IAAI,CAAC;AACzB,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,sBAAsB,IAAI,CAAC;AACxC,eAAO,MAAM,cAAc,IAAI,CAAC;AAGhC,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAuB1E"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK;IAClC,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,IAAI,EAAE,MAAM,CAAC;gBAEjB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAO3C;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS;gBAChC,KAAK,EAAE,MAAM;CAI1B;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,SAAS;gBACrC,KAAK,EAAE,MAAM;CAI1B;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS;gBAChC,KAAK,EAAE,MAAM;CAI1B;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,SAAS;gBACjC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAI5C;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,KAAK,EAAE,MAAM;CAI1B;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS;gBAChC,KAAK,EAAE,MAAM;CAI1B;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,SAAS;gBACrC,KAAK,EAAE,MAAM;CAI1B;AAED;;GAEG;AAMH,eAAO,MAAM,OAAO,IAAI,CAAC;AACzB,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,sBAAsB,IAAI,CAAC;AACxC,eAAO,MAAM,cAAc,IAAI,CAAC;AAGhC,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAuB1E"}
package/lib/errors.js CHANGED
@@ -58,8 +58,8 @@ export class LZMAFormatError extends LZMAError {
58
58
  * Options error - thrown when invalid or unsupported options are provided
59
59
  */
60
60
  export class LZMAOptionsError extends LZMAError {
61
- constructor(errno) {
62
- super('Invalid or unsupported options', errno);
61
+ constructor(errno, message) {
62
+ super(message ?? 'Invalid or unsupported options', errno);
63
63
  this.name = 'LZMAOptionsError';
64
64
  }
65
65
  }
@@ -155,6 +155,11 @@ function getErrorMessage(errno) {
155
155
  if (errno < 0 || errno >= messages.length) {
156
156
  return `Unknown LZMA error code: ${errno}`;
157
157
  }
158
- return messages[errno];
158
+ const msg = messages[errno];
159
+ /* v8 ignore start: defensive after bounds check on L172 — errno always in [0, messages.length) here */
160
+ if (msg === undefined)
161
+ return `Unknown LZMA error code: ${errno}`;
162
+ /* v8 ignore stop */
163
+ return msg;
159
164
  }
160
165
  //# sourceMappingURL=errors.js.map
package/lib/errors.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
package/lib/lzma.d.ts CHANGED
@@ -225,8 +225,27 @@ export type { LZMAOptions, CompressionCallback, LZMAActionType, LZMAStatusType,
225
225
  *
226
226
  * Emits `progress` event after each chunk with `{bytesRead, bytesWritten}` info.
227
227
  */
228
+ /**
229
+ * Internal resolved options for XzStream instances.
230
+ *
231
+ * All fields are required (defaults applied in constructor) EXCEPT memlimit,
232
+ * which is genuinely optional: validated by validateMemlimit() at the XzStream
233
+ * constructor for decode streams; passed through to both the native N-API decoder
234
+ * and the WASM Buffer API. xzAsync is compression-only and ignores this field.
235
+ */
236
+ interface ResolvedLZMAOptions {
237
+ check: number;
238
+ preset: number;
239
+ filters: number[];
240
+ mode: number;
241
+ threads: number;
242
+ chunkSize: number;
243
+ flushFlag: number;
244
+ /** Optional memlimit. Validated at the public XzStream constructor; passed through to the decoder backend (native or WASM). */
245
+ memlimit?: number | bigint;
246
+ }
228
247
  export declare abstract class XzStream extends Transform {
229
- protected _opts: Required<LZMAOptions>;
248
+ protected _opts: ResolvedLZMAOptions;
230
249
  protected _chunkSize: number;
231
250
  protected _flushFlag: number;
232
251
  protected lzma: NativeLZMA;
package/lib/lzma.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lzma.d.ts","sourceRoot":"","sources":["../src/lzma.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lzma.d.ts","sourceRoot":"","sources":["../src/lzma.ts"],"names":[],"mappings":"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"}
package/lib/lzma.js CHANGED
@@ -22,9 +22,11 @@ import * as path from 'node:path';
22
22
  import { Transform } from 'node:stream';
23
23
  import { fileURLToPath } from 'node:url';
24
24
  import { createLZMAError, LZMABufferError, LZMADataError, LZMAError, LZMAFormatError, LZMAMemoryError, LZMAMemoryLimitError, LZMAOptionsError, LZMAProgrammingError, } from './errors.js';
25
+ import { validateMemlimit } from './wasm/bindings.js';
25
26
  // Re-export error classes for public API
26
27
  export { LZMAError, LZMAMemoryError, LZMAMemoryLimitError, LZMAFormatError, LZMAOptionsError, LZMADataError, LZMABufferError, LZMAProgrammingError, };
27
28
  // Re-export pool for concurrency control
29
+ // biome-ignore lint/suspicious/noImportCycles: intentional ESM cycle resolved at runtime; LZMAPool re-exports from lzma.ts to keep public surface flat
28
30
  export { LZMAPool } from './pool.js';
29
31
  const __filename = fileURLToPath(import.meta.url);
30
32
  const __dirname = path.dirname(__filename);
@@ -216,19 +218,6 @@ export const LZMA_FILTER_ARM = LZMAFilter.ARM_ALT;
216
218
  export const LZMA_FILTER_ARMTHUMB = LZMAFilter.ARMTHUMB_ALT;
217
219
  /** Maximum number of filters in a chain */
218
220
  export const LZMA_FILTERS_MAX = LZMAFilter.FILTERS_MAX;
219
- /**
220
- * Abstract base class for XZ compression/decompression streams.
221
- * Extends Node.js Transform stream with LZMA2 encoding/decoding.
222
- *
223
- * @example
224
- * ```ts
225
- * // Use Xz or Unxz classes instead of XzStream directly
226
- * const compressor = new Xz({ preset: 6 });
227
- * readStream.pipe(compressor).pipe(writeStream);
228
- * ```
229
- *
230
- * Emits `progress` event after each chunk with `{bytesRead, bytesWritten}` info.
231
- */
232
221
  export class XzStream extends Transform {
233
222
  // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: Constructor needs complex validation for LZMA options
234
223
  constructor(streamMode, opts = {}, options) {
@@ -250,6 +239,12 @@ export class XzStream extends Transform {
250
239
  else {
251
240
  clonedFilters = [filter.LZMA2];
252
241
  }
242
+ // Validate memlimit early for decoder streams so callers get LZMAOptionsError
243
+ // (not a raw RangeError) before any native object is allocated.
244
+ // Encoder streams pass memlimit through but it has no effect on the C side.
245
+ if (streamMode === liblzma.STREAM_DECODE && opts.memlimit !== undefined) {
246
+ validateMemlimit(opts.memlimit);
247
+ }
253
248
  this._opts = {
254
249
  check: opts.check ?? check.NONE,
255
250
  preset: opts.preset ?? preset.DEFAULT,
@@ -258,6 +253,9 @@ export class XzStream extends Transform {
258
253
  threads: opts.threads ?? 1,
259
254
  chunkSize: opts.chunkSize ?? liblzma.BUFSIZ,
260
255
  flushFlag: opts.flushFlag ?? liblzma.LZMA_RUN,
256
+ // memlimit is passed through to the native binding for STREAM_DECODE.
257
+ // Validated above for decode streams. Ignored for encode streams.
258
+ memlimit: opts.memlimit,
261
259
  };
262
260
  this._chunkSize = this._opts.chunkSize;
263
261
  this._flushFlag = this._opts.flushFlag;
package/lib/lzma.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lzma.js","sourceRoot":"","sources":["../src/lzma.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lzma.js","sourceRoot":"","sources":["../src/lzma.ts"],"names":[],"mappings":"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"}
package/lib/pool.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,KAAK,WAAW,EAAsB,MAAM,WAAW,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;CAChB;AAWD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,QAAS,SAAQ,YAAY;IAc5B,OAAO,CAAC,aAAa;IAbjC,OAAO,CAAC,KAAK,CAAoB;IAEjC,OAAO,CAAC,OAAO,CAKb;IAEF;;;OAGG;gBACiB,aAAa,SAAK;IAQtC;;;;;OAKG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAIjE;;;;;OAKG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAInE;;;OAGG;IACH,UAAU,IAAI,QAAQ,CAAC,WAAW,CAAC;IAInC;;;OAGG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;;OAGG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;;OAGG;IACH,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED;;;;OAIG;YACW,OAAO;IASrB;;OAEG;IACH,OAAO,CAAC,YAAY;IAkCpB;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB5B;;;;OAIG;IACH,UAAU,IAAI,MAAM;CAYrB"}
1
+ {"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,KAAK,WAAW,EAAsB,MAAM,WAAW,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;CAChB;AAWD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,QAAS,SAAQ,YAAY;IAc5B,OAAO,CAAC,aAAa;IAbjC,OAAO,CAAC,KAAK,CAAoB;IAEjC,OAAO,CAAC,OAAO,CAKb;IAEF;;;OAGG;gBACiB,aAAa,SAAK;IAQtC;;;;;OAKG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAIjE;;;;;OAKG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAInE;;;OAGG;IACH,UAAU,IAAI,QAAQ,CAAC,WAAW,CAAC;IAInC;;;OAGG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;;OAGG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;;OAGG;IACH,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED;;;;OAIG;YACW,OAAO;IASrB;;OAEG;IACH,OAAO,CAAC,YAAY;IA2CpB;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB5B;;;;OAIG;IACH,UAAU,IAAI,MAAM;CAYrB"}
package/lib/pool.js CHANGED
@@ -16,6 +16,7 @@
16
16
  * along with this program. If not, see <https://www.gnu.org/licenses/>.
17
17
  */
18
18
  import { EventEmitter } from 'node:events';
19
+ // biome-ignore lint/suspicious/noImportCycles: intentional ESM cycle resolved at runtime; LZMAPool re-exports from lzma.ts to keep public surface flat
19
20
  import { unxzAsync, xzAsync } from './lzma.js';
20
21
  /**
21
22
  * LZMA Pool with concurrency control and event monitoring
@@ -128,6 +129,15 @@ export class LZMAPool extends EventEmitter {
128
129
  return;
129
130
  }
130
131
  const item = this.queue.shift();
132
+ /* v8 ignore start: defensive after queue.length > 0 guard on L163 — shift() always returns a value here */
133
+ if (item === undefined) {
134
+ // The `this.queue.length === 0` early-return guard above means shift()
135
+ // must return a value here. Returning silently would let queued tasks
136
+ // stall on a future invariant breach (re-entrancy, refactor, etc.).
137
+ // Throw so the bug surfaces at the breach instead of as a hung pool.
138
+ throw new Error('Invariant violation: queue was non-empty but shift() returned undefined');
139
+ }
140
+ /* v8 ignore stop */
131
141
  this.metrics.active++;
132
142
  this.metrics.queued = this.queue.length;
133
143
  this.emit('start', { ...this.metrics });
package/lib/pool.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pool.js","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pool.js","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"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"}
package/lib/types.d.ts CHANGED
@@ -28,6 +28,33 @@ export interface LZMAOptions {
28
28
  chunkSize?: number;
29
29
  /** Flush flag to use */
30
30
  flushFlag?: number;
31
+ /**
32
+ * Memory usage limit for decompression, in bytes.
33
+ *
34
+ * **Honored by all decoder APIs** (`unxz`, `unxzAsync`, `Unxz`, `createUnxz` — both native
35
+ * and WASM paths). `xzAsync` is compression-only and does not read `memlimit`.
36
+ *
37
+ * Accepted types: `number` or `bigint`. Both are validated before reaching the
38
+ * decoder. The native binding accepts either type directly via N-API; the WASM
39
+ * Buffer API coerces to `bigint` for the C ABI. The `number` form must be a
40
+ * finite, non-negative integer; passing
41
+ * `NaN`, `Infinity`, a fractional value, or a negative number throws
42
+ * `LZMAOptionsError` before any decompression is attempted.
43
+ * For values ≥ `Number.MAX_SAFE_INTEGER` (2^53 - 1), use `bigint` to avoid
44
+ * precision loss on coercion; passing a `number` above this threshold also
45
+ * throws `LZMAOptionsError`.
46
+ * `bigint` values above `UINT64_MAX` (2^64 - 1) are also rejected with
47
+ * `LZMAOptionsError`.
48
+ *
49
+ * Default: `UINT64_MAX` (no limit) for native; `BigInt(256 * 1024 * 1024)` (256 MiB)
50
+ * for WASM buffer APIs (`unxz`/`unxzAsync`).
51
+ *
52
+ * When the compressed stream requires more memory than this limit,
53
+ * decompression throws/emits `LZMAMemoryLimitError` with
54
+ * `code === LZMA_MEMLIMIT_ERROR` (numeric constant `6`, re-exported from
55
+ * `src/errors.ts`).
56
+ */
57
+ memlimit?: number | bigint;
31
58
  }
32
59
  /**
33
60
  * Callback function for asynchronous compression/decompression operations.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,7 @@ export declare function encoderInit(stream: WasmLzmaStream, preset: number, chec
39
39
  *
40
40
  * @param stream - Allocated WasmLzmaStream
41
41
  * @param memlimit - Memory limit in bytes (default: 256MB)
42
+ * @throws LZMAOptionsError if memlimit is invalid
42
43
  * @throws LZMAError on initialization failure
43
44
  */
44
45
  export declare function decoderInit(stream: WasmLzmaStream, memlimit?: number | bigint): void;
@@ -47,6 +48,7 @@ export declare function decoderInit(stream: WasmLzmaStream, memlimit?: number |
47
48
  *
48
49
  * @param stream - Allocated WasmLzmaStream
49
50
  * @param memlimit - Memory limit in bytes (default: 256MB)
51
+ * @throws LZMAOptionsError if memlimit is invalid
50
52
  * @throws LZMAError on initialization failure
51
53
  */
52
54
  export declare function autoDecoderInit(stream: WasmLzmaStream, memlimit?: number | bigint): void;
@@ -84,6 +86,19 @@ export declare function easyBufferEncode(input: Uint8Array, preset: number, chec
84
86
  * @returns Decompressed data
85
87
  * @throws LZMAError on decompression failure
86
88
  */
89
+ /**
90
+ * Validate a memlimit value before coercion to BigInt.
91
+ *
92
+ * BigInt() throws a native RangeError for NaN, Infinity, and non-integer
93
+ * numbers (e.g. 1.5). Negative integers produce a huge unsigned value when
94
+ * interpreted by the C ABI (uint64_t wrap-around). Numbers above
95
+ * Number.MAX_SAFE_INTEGER (2^53 - 1) lose precision on coercion to BigInt.
96
+ * All these cases are rejected here with LZMAOptionsError so callers always
97
+ * get an LZMAError subclass.
98
+ *
99
+ * @throws LZMAOptionsError if the value is invalid
100
+ */
101
+ export declare function validateMemlimit(memlimit: number | bigint): void;
87
102
  export declare function streamBufferDecode(input: Uint8Array, memlimit?: number | bigint): Uint8Array;
88
103
  /**
89
104
  * Process a full input buffer through an initialized encoder/decoder stream,
@@ -1 +1 @@
1
- {"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../../src/wasm/bindings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAA4B,KAAK,cAAc,EAAuB,MAAM,aAAa,CAAC;AACjG,OAAO,EAOL,KAAK,UAAU,EAChB,MAAM,YAAY,CAAC;AAWpB;;;;;;;;;GASG;AACH,wBAAsB,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CA+BxF;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,UAAU,CAKtC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAGlC;AAID;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,KAAK,SAAmB,GACvB,IAAI,CAQN;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,cAAc,EACtB,QAAQ,GAAE,MAAM,GAAG,MAAyB,GAC3C,IAAI,CASN;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,cAAc,EACtB,QAAQ,GAAE,MAAM,GAAG,MAAyB,GAC3C,IAAI,CASN;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAGnE;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAGhD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAGvD;AAID;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,MAAM,EACd,KAAK,SAAmB,GACvB,UAAU,CAsCZ;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,UAAU,EACjB,QAAQ,GAAE,MAAM,GAAG,MAAyB,GAC3C,UAAU,CA8DZ;AAID;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,GAAG,UAAU,CAoDnF;AAID;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAStC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAGvD"}
1
+ {"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../../src/wasm/bindings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAA4B,KAAK,cAAc,EAAuB,MAAM,aAAa,CAAC;AACjG,OAAO,EAOL,KAAK,UAAU,EAChB,MAAM,YAAY,CAAC;AAWpB;;;;;;;;;GASG;AACH,wBAAsB,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CA+BxF;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,UAAU,CAKtC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAGlC;AAID;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,KAAK,SAAmB,GACvB,IAAI,CAQN;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,cAAc,EACtB,QAAQ,GAAE,MAAM,GAAG,MAAyB,GAC3C,IAAI,CAUN;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,cAAc,EACtB,QAAQ,GAAE,MAAM,GAAG,MAAyB,GAC3C,IAAI,CAUN;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAGnE;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAGhD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAGvD;AAID;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,MAAM,EACd,KAAK,SAAmB,GACvB,UAAU,CAsCZ;AAED;;;;;;;GAOG;AAEH;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkChE;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,UAAU,EACjB,QAAQ,GAAE,MAAM,GAAG,MAAyB,GAC3C,UAAU,CA+DZ;AAID;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,GAAG,UAAU,CAoDnF;AAID;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAStC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAGvD"}
@@ -4,7 +4,7 @@
4
4
  * Provides typed wrappers around the raw C functions exported by liblzma.wasm,
5
5
  * with proper memory management and error handling.
6
6
  */
7
- import { createLZMAError, LZMAError } from '../errors.js';
7
+ import { createLZMAError, LZMAError, LZMA_OPTIONS_ERROR, LZMAOptionsError } from '../errors.js';
8
8
  import { copyFromWasm, copyToWasm, wasmAlloc, wasmFree } from './memory.js';
9
9
  import { LZMA_BUF_ERROR, LZMA_CHECK_CRC64, LZMA_FINISH, LZMA_OK, LZMA_RUN, LZMA_STREAM_END, } from './types.js';
10
10
  // Default output buffer size for streaming operations (256KB)
@@ -92,9 +92,11 @@ export function encoderInit(stream, preset, check = LZMA_CHECK_CRC64) {
92
92
  *
93
93
  * @param stream - Allocated WasmLzmaStream
94
94
  * @param memlimit - Memory limit in bytes (default: 256MB)
95
+ * @throws LZMAOptionsError if memlimit is invalid
95
96
  * @throws LZMAError on initialization failure
96
97
  */
97
98
  export function decoderInit(stream, memlimit = DEFAULT_MEMLIMIT) {
99
+ validateMemlimit(memlimit);
98
100
  const module = getModule();
99
101
  const limit = typeof memlimit === 'number' ? BigInt(memlimit) : memlimit;
100
102
  const ret = module._lzma_stream_decoder(stream.ptr, limit, 0);
@@ -109,9 +111,11 @@ export function decoderInit(stream, memlimit = DEFAULT_MEMLIMIT) {
109
111
  *
110
112
  * @param stream - Allocated WasmLzmaStream
111
113
  * @param memlimit - Memory limit in bytes (default: 256MB)
114
+ * @throws LZMAOptionsError if memlimit is invalid
112
115
  * @throws LZMAError on initialization failure
113
116
  */
114
117
  export function autoDecoderInit(stream, memlimit = DEFAULT_MEMLIMIT) {
118
+ validateMemlimit(memlimit);
115
119
  const module = getModule();
116
120
  const limit = typeof memlimit === 'number' ? BigInt(memlimit) : memlimit;
117
121
  const ret = module._lzma_auto_decoder(stream.ptr, limit, 0);
@@ -191,6 +195,41 @@ export function easyBufferEncode(input, preset, check = LZMA_CHECK_CRC64) {
191
195
  * @returns Decompressed data
192
196
  * @throws LZMAError on decompression failure
193
197
  */
198
+ /**
199
+ * Validate a memlimit value before coercion to BigInt.
200
+ *
201
+ * BigInt() throws a native RangeError for NaN, Infinity, and non-integer
202
+ * numbers (e.g. 1.5). Negative integers produce a huge unsigned value when
203
+ * interpreted by the C ABI (uint64_t wrap-around). Numbers above
204
+ * Number.MAX_SAFE_INTEGER (2^53 - 1) lose precision on coercion to BigInt.
205
+ * All these cases are rejected here with LZMAOptionsError so callers always
206
+ * get an LZMAError subclass.
207
+ *
208
+ * @throws LZMAOptionsError if the value is invalid
209
+ */
210
+ export function validateMemlimit(memlimit) {
211
+ if (typeof memlimit === 'bigint') {
212
+ if (memlimit < 0n) {
213
+ throw new LZMAOptionsError(LZMA_OPTIONS_ERROR, 'memlimit must be a non-negative value');
214
+ }
215
+ if (memlimit > 18446744073709551615n) {
216
+ throw new LZMAOptionsError(LZMA_OPTIONS_ERROR, 'memlimit bigint exceeds UINT64_MAX (2^64 - 1); use a smaller value (UINT64_MAX = no limit on native; WASM buffer APIs default to 256 MiB when omitted)');
217
+ }
218
+ return;
219
+ }
220
+ if (!Number.isFinite(memlimit)) {
221
+ throw new LZMAOptionsError(LZMA_OPTIONS_ERROR, 'memlimit must be a finite number (NaN and Infinity are not allowed)');
222
+ }
223
+ if (!Number.isInteger(memlimit)) {
224
+ throw new LZMAOptionsError(LZMA_OPTIONS_ERROR, 'memlimit must be an integer (fractional values are not allowed)');
225
+ }
226
+ if (memlimit < 0) {
227
+ throw new LZMAOptionsError(LZMA_OPTIONS_ERROR, 'memlimit must be a non-negative value');
228
+ }
229
+ if (memlimit > Number.MAX_SAFE_INTEGER) {
230
+ throw new LZMAOptionsError(LZMA_OPTIONS_ERROR, 'memlimit number exceeds MAX_SAFE_INTEGER (use bigint for values >= 2^53)');
231
+ }
232
+ }
194
233
  export function streamBufferDecode(input, memlimit = DEFAULT_MEMLIMIT) {
195
234
  const module = getModule();
196
235
  const inPtr = copyToWasm(module, input);
@@ -203,6 +242,7 @@ export function streamBufferDecode(input, memlimit = DEFAULT_MEMLIMIT) {
203
242
  outSize = 4096;
204
243
  let outPtr = wasmAlloc(module, outSize);
205
244
  try {
245
+ validateMemlimit(memlimit);
206
246
  const limit = typeof memlimit === 'number' ? BigInt(memlimit) : memlimit;
207
247
  module.setValue(memlimitPtr, limit, 'i64');
208
248
  // Retry with larger buffer if BUF_ERROR
@@ -1 +1 @@
1
- {"version":3,"file":"bindings.js","sourceRoot":"","sources":["../../src/wasm/bindings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bindings.js","sourceRoot":"","sources":["../../src/wasm/bindings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,UAAU,EAAuB,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACjG,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,OAAO,EACP,QAAQ,EACR,eAAe,GAEhB,MAAM,YAAY,CAAC;AAEpB,8DAA8D;AAC9D,MAAM,oBAAoB,GAAG,GAAG,GAAG,IAAI,CAAC;AACxC,8DAA8D;AAC9D,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;AAEnD,mDAAmD;AACnD,IAAI,cAAc,GAAsB,IAAI,CAAC;AAC7C,IAAI,aAAa,GAA+B,IAAI,CAAC;AAErD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAkC;IACjE,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,aAAa,GAAG,CAAC,KAAK,IAAI,EAAE;QAC1B,IAAI,MAAM,EAAE,CAAC;YACX,cAAc,GAAG,MAAM,MAAM,EAAE,CAAC;YAChC,6EAA6E;QAC/E,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAC7D,cAAc,GAAG,CAAC,MAAM,UAAU,EAAE,CAAe,CAAC;YACpD,oBAAoB;QACtB,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC,CAAC,EAAE,CAAC;IAEL,IAAI,CAAC;QACH,OAAO,MAAM,aAAa,CAAC;QAC3B,qEAAqE;IACvE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,aAAa,GAAG,IAAI,CAAC;QACrB,MAAM,IAAI,SAAS,CACjB,+BAA+B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACjF,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IACD,oBAAoB;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,SAAS,CAAC,uDAAuD,EAAE,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,cAAc,GAAG,IAAI,CAAC;IACtB,aAAa,GAAG,IAAI,CAAC;AACvB,CAAC;AAED,mBAAmB;AAEnB;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CACzB,MAAsB,EACtB,MAAc,EACd,KAAK,GAAG,gBAAgB;IAExB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACjE,6DAA6D;IAC7D,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IACD,oBAAoB;AACtB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CACzB,MAAsB,EACtB,WAA4B,gBAAgB;IAE5C,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC3B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACzE,MAAM,GAAG,GAAG,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC9D,6DAA6D;IAC7D,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IACD,oBAAoB;AACtB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAsB,EACtB,WAA4B,gBAAgB;IAE5C,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC3B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACzE,MAAM,GAAG,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5D,kEAAkE;IAClE,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IACD,oBAAoB;AACtB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,IAAI,CAAC,MAAsB,EAAE,MAAc;IACzD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,GAAG,CAAC,MAAsB;IACxC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAsB;IAC7C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,gCAAgC;AAEhC;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAiB,EACjB,MAAc,EACd,KAAK,GAAG,gBAAgB;IAExB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxC,oFAAoF;IACpF,oEAAoE;IACpE,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;IACxC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAEvC,IAAI,CAAC;QACH,qBAAqB;QACrB,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAErC,MAAM,GAAG,GAAG,MAAM,CAAC,wBAAwB,CACzC,MAAM,EACN,KAAK,EACL,CAAC,EAAE,6BAA6B;QAChC,KAAK,EACL,KAAK,CAAC,UAAU,EAChB,MAAM,EACN,SAAS,EACT,OAAO,CACR,CAAC;QAEF,8DAA8D;QAC9D,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YACpB,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QACD,oBAAoB;QAEpB,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACjD,OAAO,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;YAAS,CAAC;QACT,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAyB;IACxD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,IAAI,QAAQ,GAAG,EAAE,EAAE,CAAC;YAClB,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,uCAAuC,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,QAAQ,GAAG,qBAAqB,EAAE,CAAC;YACrC,MAAM,IAAI,gBAAgB,CACxB,kBAAkB,EAClB,wJAAwJ,CACzJ,CAAC;QACJ,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,gBAAgB,CACxB,kBAAkB,EAClB,qEAAqE,CACtE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,gBAAgB,CACxB,kBAAkB,EAClB,iEAAiE,CAClE,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,uCAAuC,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,QAAQ,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;QACvC,MAAM,IAAI,gBAAgB,CACxB,kBAAkB,EAClB,0EAA0E,CAC3E,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,KAAiB,EACjB,WAA4B,gBAAgB;IAE5C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAEzC,4DAA4D;IAC5D,IAAI,OAAO,GAAG,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;IACnC,IAAI,OAAO,GAAG,IAAI;QAAE,OAAO,GAAG,IAAI,CAAC;IACnC,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAExC,IAAI,CAAC;QACH,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACzE,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAE3C,wCAAwC;QACxC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;YAC7C,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YACpC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YAErC,MAAM,GAAG,GAAG,MAAM,CAAC,0BAA0B,CAC3C,WAAW,EACX,CAAC,EAAE,QAAQ;YACX,CAAC,EAAE,mBAAmB;YACtB,KAAK,EACL,QAAQ,EACR,KAAK,CAAC,UAAU,EAChB,MAAM,EACN,SAAS,EACT,OAAO,CACR,CAAC;YAEF,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;gBACpB,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBACjD,OAAO,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAC9C,CAAC;YAED,mFAAmF;YACnF,oCAAoC;YACpC,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;gBAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACzB,OAAO,IAAI,CAAC,CAAC;gBACb,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACpC,SAAS;YACX,CAAC;YAED,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;YAC3B,oBAAoB;QACtB,CAAC;QAED,qBAAqB;QACrB,MAAM,IAAI,SAAS,CAAC,+CAA+C,EAAE,EAAE,CAAC,CAAC;QACzE,oBAAoB;IACtB,CAAC;YAAS,CAAC;QACT,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC3B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC5B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAED,4BAA4B;AAE5B;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAAC,MAAsB,EAAE,KAAiB;IACrE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,oBAAoB,CAAC;IACxC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAE7C,IAAI,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAEzC,MAAM,MAAM,GAAiB,EAAE,CAAC;QAChC,IAAI,MAAM,GAAG,QAAQ,CAAC;QAEtB,OAAO,IAAI,EAAE,CAAC;YACZ,4CAA4C;YAC5C,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,GAAG,WAAW,CAAC;YACvB,CAAC;YAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAEjC,0BAA0B;YAC1B,MAAM,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC9C,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;YACtD,CAAC;YAED,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;gBAC5B,MAAM;YACR,CAAC;YAED,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;gBACpB,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC;QAC7B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;YAAS,CAAC;QACT,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzB,GAAG,CAAC,MAAM,CAAC,CAAC;QACZ,MAAM,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AAED,2BAA2B;AAE3B;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,oBAAoB,EAAE,CAAC;IAC1C,iDAAiD;IACjD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5B,IAAI,GAAG,GAAG,GAAG,CAAC;IACd,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,GAAG,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,wBAAwB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC"}
@@ -12,7 +12,7 @@ import type { CompressionCallback, LZMAOptions } from '../types.js';
12
12
  * @param opts - Decompression options (memlimit)
13
13
  * @returns Decompressed data
14
14
  */
15
- export declare function unxzAsync(buffer: Uint8Array | ArrayBuffer | string, _opts?: LZMAOptions): Promise<Uint8Array>;
15
+ export declare function unxzAsync(buffer: Uint8Array | ArrayBuffer | string, opts?: LZMAOptions): Promise<Uint8Array>;
16
16
  /**
17
17
  * Decompress XZ data (callback-based).
18
18
  *
@@ -1 +1 @@
1
- {"version":3,"file":"decompress.d.ts","sourceRoot":"","sources":["../../src/wasm/decompress.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAIpE;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM,EACzC,KAAK,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,UAAU,CAAC,CAKrB;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAClB,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM,EACzC,QAAQ,EAAE,mBAAmB,GAC5B,IAAI,CAAC;AACR,wBAAgB,IAAI,CAClB,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM,EACzC,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,mBAAmB,GAC5B,IAAI,CAAC;AAwBR;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,KAAK,CAE/F"}
1
+ {"version":3,"file":"decompress.d.ts","sourceRoot":"","sources":["../../src/wasm/decompress.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAIpE;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM,EACzC,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,UAAU,CAAC,CAIrB;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAClB,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM,EACzC,QAAQ,EAAE,mBAAmB,GAC5B,IAAI,CAAC;AACR,wBAAgB,IAAI,CAClB,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM,EACzC,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,mBAAmB,GAC5B,IAAI,CAAC;AAwBR;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,KAAK,CAE/F"}
@@ -14,11 +14,10 @@ import { toUint8Array } from './utils.js';
14
14
  * @param opts - Decompression options (memlimit)
15
15
  * @returns Decompressed data
16
16
  */
17
- export async function unxzAsync(buffer, _opts) {
17
+ export async function unxzAsync(buffer, opts) {
18
18
  await initModule();
19
19
  const input = toUint8Array(buffer);
20
- // TODO: pass opts.memlimit when LZMAOptions supports it
21
- return streamBufferDecode(input);
20
+ return streamBufferDecode(input, opts?.memlimit);
22
21
  }
23
22
  export function unxz(buffer, optsOrCallback, callback) {
24
23
  let opts;
@@ -1 +1 @@
1
- {"version":3,"file":"decompress.js","sourceRoot":"","sources":["../../src/wasm/decompress.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAyC,EACzC,KAAmB;IAEnB,MAAM,UAAU,EAAE,CAAC;IACnB,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACnC,wDAAwD;IACxD,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAkBD,MAAM,UAAU,IAAI,CAClB,MAAyC,EACzC,cAAiD,EACjD,QAA8B;IAE9B,IAAI,IAAiB,CAAC;IACtB,IAAI,EAAuB,CAAC;IAC5B,IAAI,OAAO,cAAc,KAAK,UAAU,EAAE,CAAC;QACzC,EAAE,GAAG,cAAc,CAAC;QACpB,IAAI,GAAG,EAAE,CAAC;IACZ,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,cAAc,CAAC;QACtB,EAAE,GAAG,QAA+B,CAAC;IACvC,CAAC;IAED,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAC1B,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,MAA2B,CAAC;IACjD,2DAA2D;IAC3D,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACxE,oBAAoB;KACrB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,OAA0C,EAAE,KAAmB;IACtF,MAAM,IAAI,SAAS,CAAC,oEAAoE,EAAE,CAAC,CAAC,CAAC,CAAC;AAChG,CAAC"}
1
+ {"version":3,"file":"decompress.js","sourceRoot":"","sources":["../../src/wasm/decompress.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAyC,EACzC,IAAkB;IAElB,MAAM,UAAU,EAAE,CAAC;IACnB,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACnC,OAAO,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACnD,CAAC;AAkBD,MAAM,UAAU,IAAI,CAClB,MAAyC,EACzC,cAAiD,EACjD,QAA8B;IAE9B,IAAI,IAAiB,CAAC;IACtB,IAAI,EAAuB,CAAC;IAC5B,IAAI,OAAO,cAAc,KAAK,UAAU,EAAE,CAAC;QACzC,EAAE,GAAG,cAAc,CAAC;QACpB,IAAI,GAAG,EAAE,CAAC;IACZ,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,cAAc,CAAC;QACtB,EAAE,GAAG,QAA+B,CAAC;IACvC,CAAC;IAED,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAC1B,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,MAA2B,CAAC;IACjD,2DAA2D;IAC3D,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACxE,oBAAoB;KACrB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,OAA0C,EAAE,KAAmB;IACtF,MAAM,IAAI,SAAS,CAAC,oEAAoE,EAAE,CAAC,CAAC,CAAC,CAAC;AAChG,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "node-liblzma",
3
- "version": "5.0.0",
4
- "description": "NodeJS wrapper for liblzma",
3
+ "version": "5.0.1",
4
+ "description": "Native Node.js bindings for liblzma (XZ/LZMA2). Streaming, buffer and async APIs with browser support via WebAssembly. zlib-like API, TypeScript-first, prebuilt binaries for Linux/macOS/Windows.",
5
5
  "type": "module",
6
6
  "main": "./lib/lzma.js",
7
7
  "exports": {
@@ -68,15 +68,15 @@
68
68
  },
69
69
  "devDependencies": {
70
70
  "@biomejs/biome": "catalog:",
71
- "@oorabona/release-it-preset": "^0.9.0",
71
+ "@oorabona/release-it-preset": "^1.0.0-rc.0",
72
72
  "@oorabona/vitest-monocart-coverage": "^2.0.1",
73
73
  "@types/node": "catalog:",
74
74
  "@vitest/coverage-istanbul": "^4.1.0",
75
75
  "@vitest/coverage-v8": "catalog:",
76
- "@vitest/ui": "4.1.2",
76
+ "@vitest/ui": "4.1.5",
77
77
  "nano-staged": "^0.9.0",
78
78
  "prebuildify": "^6.0.1",
79
- "release-it": "^19.2.4",
79
+ "release-it": "^20.0.0",
80
80
  "simple-git-hooks": "^2.13.1",
81
81
  "tsd": "^0.33.0",
82
82
  "typedoc": "^0.28.17",
@@ -107,6 +107,9 @@
107
107
  },
108
108
  "keywords": [
109
109
  "module",
110
+ "node",
111
+ "nodejs",
112
+ "typescript",
110
113
  "lzma",
111
114
  "lzma2",
112
115
  "xz",
@@ -114,6 +117,11 @@
114
117
  "compress",
115
118
  "uncompress",
116
119
  "decompress",
120
+ "streaming",
121
+ "wasm",
122
+ "webassembly",
123
+ "browser",
124
+ "zlib",
117
125
  "filters",
118
126
  "binding",
119
127
  "native"
@@ -16,6 +16,7 @@
16
16
  * along with this program. If not, see <https://www.gnu.org/licenses/>.
17
17
  **/
18
18
 
19
+ #include <cmath>
19
20
  #include <node_buffer.h>
20
21
  #include <vector>
21
22
  #include "node-liblzma.hpp"
@@ -109,7 +110,7 @@ LZMA::LZMA(const Napi::CallbackInfo &info) : Napi::ObjectWrap<LZMA>(info), _stre
109
110
  switch (mode)
110
111
  {
111
112
  case STREAM_DECODE:
112
- success = InitializeDecoder(env);
113
+ success = InitializeDecoder(env, opts);
113
114
  break;
114
115
  case STREAM_ENCODE:
115
116
  success = InitializeEncoder(opts, preset, check);
@@ -482,9 +483,66 @@ bool LZMA::InitializeEncoder(const Napi::Object &opts, uint32_t preset, lzma_che
482
483
  return true;
483
484
  }
484
485
 
485
- bool LZMA::InitializeDecoder(const Napi::Env &env)
486
+ bool LZMA::InitializeDecoder(const Napi::Env &env, const Napi::Object &opts)
486
487
  {
487
- lzma_ret ret = lzma_stream_decoder(&this->_stream, UINT64_MAX, LZMA_CONCATENATED);
488
+ // Read optional memlimit from JS options object.
489
+ // If absent or undefined, use UINT64_MAX (no limit — preserves pre-fix behaviour).
490
+ uint64_t memlimit = UINT64_MAX;
491
+ Napi::Value optsMemlimit = opts.Get("memlimit");
492
+ if (!optsMemlimit.IsUndefined() && !optsMemlimit.IsNull())
493
+ {
494
+ if (optsMemlimit.IsBigInt())
495
+ {
496
+ // node-addon-api Napi::BigInt::Uint64Value: lossless=true when value fits uint64_t.
497
+ // JS-side validateMemlimit() already rejects values > UINT64_MAX, so lossless
498
+ // should always be true here. Throw on precision loss (defense-in-depth: a future
499
+ // direct-N-API consumer bypassing the JS guard must not silently get 'no limit').
500
+ bool lossless = false;
501
+ uint64_t val = optsMemlimit.As<Napi::BigInt>().Uint64Value(&lossless);
502
+ if (!lossless)
503
+ {
504
+ Napi::TypeError::New(env, "memlimit out of range or precision lost").ThrowAsJavaScriptException();
505
+ return false;
506
+ }
507
+ memlimit = val;
508
+ }
509
+ else if (optsMemlimit.IsNumber())
510
+ {
511
+ // JS-side validateMemlimit() already rejects non-integer, negative, NaN, Infinity,
512
+ // and values above Number.MAX_SAFE_INTEGER (2^53-1). Throw on any out-of-range
513
+ // value (defense-in-depth: direct-N-API consumers bypassing the JS guard get an
514
+ // error, not a silent UINT64_MAX 'no limit' coercion that inverts caller intent).
515
+ double d = optsMemlimit.ToNumber().DoubleValue();
516
+ if (d < 0.0 || !std::isfinite(d) || d != std::floor(d) || d > static_cast<double>(UINT64_MAX))
517
+ {
518
+ Napi::TypeError::New(env, "memlimit out of range or precision lost").ThrowAsJavaScriptException();
519
+ return false;
520
+ }
521
+ // Defense-in-depth: validateMemlimit() in JS rejects this first; native enforces
522
+ // independently for direct-N-API consumers.
523
+ // Number.MAX_SAFE_INTEGER = 2^53 - 1 = 9007199254740991. Any double above this
524
+ // threshold no longer represents an exact integer — caller intent is silently
525
+ // corrupted. Reject to mirror the JS-side guard.
526
+ if (d > 9007199254740991.0)
527
+ {
528
+ Napi::TypeError::New(env, "memlimit number exceeds MAX_SAFE_INTEGER (use bigint for values >= 2^53)").ThrowAsJavaScriptException();
529
+ return false;
530
+ }
531
+ memlimit = static_cast<uint64_t>(d);
532
+ }
533
+ else
534
+ {
535
+ // memlimit is present but is neither BigInt nor Number (e.g. string, object, array).
536
+ // Silently falling through to UINT64_MAX would disable the limit and invert caller
537
+ // intent. Throw explicitly to match how sibling options (threads) handle wrong types.
538
+ // Note: TypeScript declaration (number | bigint) blocks this at compile-time for TS
539
+ // callers; this guard protects direct-N-API and plain-JS consumers.
540
+ Napi::TypeError::New(env, "memlimit must be a Number or BigInt").ThrowAsJavaScriptException();
541
+ return false;
542
+ }
543
+ }
544
+
545
+ lzma_ret ret = lzma_stream_decoder(&this->_stream, memlimit, LZMA_CONCATENATED);
488
546
 
489
547
  // F-005: Throw exception on decoder init failure (consistent with InitializeEncoder)
490
548
  if (ret != LZMA_OK)
@@ -81,7 +81,7 @@ private:
81
81
  bool ValidateConstructorArgs(const Napi::CallbackInfo &info, uint32_t &mode, Napi::Object &opts);
82
82
  bool InitializeFilters(const Napi::Object &opts, uint32_t preset);
83
83
  bool InitializeEncoder(const Napi::Object &opts, uint32_t preset, lzma_check check);
84
- bool InitializeDecoder(const Napi::Env &env);
84
+ bool InitializeDecoder(const Napi::Env &env, const Napi::Object &opts);
85
85
 
86
86
  // Common cleanup operations for both sync and async completion
87
87
  void AfterCommon(const Napi::Env &env);