node-pkware 5.2.0 → 5.3.0

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
@@ -9,7 +9,8 @@ It was the de-facto compression for games from around Y2K, like [Arx Fatalis](ht
9
9
 
10
10
  `npm i -g node-pkware`
11
11
 
12
- minimum required node version: 18.0.0
12
+ - minimum required node version: 18.0.0
13
+ - recommended node version (to be able to run the tests): 20.6.0
13
14
 
14
15
  ## command line interface (CLI)
15
16
 
@@ -181,7 +182,7 @@ fs.createReadStream(`path-to-compressed-file`)
181
182
  #### Non-stream compression (also works in browser)
182
183
 
183
184
  ```js
184
- import fs from 'node:fs/promises'
185
+ import * as fs from 'node:fs/promises'
185
186
  import { implode } from 'node-pkware/simple'
186
187
 
187
188
  const inputString = 'hello pkware!'
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env -S node --enable-source-maps
2
- import process from 'node:process';
2
+ import * as process from 'node:process';
3
3
  import minimist from 'minimist-lite';
4
4
  import { getPackageVersion, parseNumberString, getInputStream, getOutputStream } from './helpers.js';
5
5
  import { transformEmpty, transformIdentity, transformSplitBy, splitAt, through, } from '../stream.js';
@@ -11,6 +11,7 @@ const args = minimist(process.argv.slice(2), {
11
11
  v: 'version',
12
12
  },
13
13
  });
14
+ // eslint-disable-next-line max-params -- can't really compress the params further without ruining readability
14
15
  async function decompress(input, output, offset, keepHeader, config) {
15
16
  let leftHandler;
16
17
  if (keepHeader) {
@@ -1 +1 @@
1
- {"version":3,"file":"explode.js","sourceRoot":"","sources":["../../src/bin/explode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"explode.js","sourceRoot":"","sources":["../../src/bin/explode.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export declare function parseNumberString(n?: string, defaultValue?: number): number;
2
+ export declare function pathToRepoRoot(): string;
2
3
  export declare function getPackageVersion(): Promise<string>;
3
4
  export declare function getInputStream(filename?: string): Promise<NodeJS.ReadableStream>;
4
5
  export declare function getOutputStream(filename?: string): Promise<NodeJS.WritableStream>;
@@ -1,6 +1,6 @@
1
- import fs from 'node:fs';
2
- import path from 'node:path';
3
- import process from 'node:process';
1
+ import * as fs from 'node:fs';
2
+ import * as path from 'node:path';
3
+ import * as process from 'node:process';
4
4
  import { fileURLToPath } from 'node:url';
5
5
  function isDecimalString(input) {
6
6
  return /^\d+$/.test(input);
@@ -20,10 +20,13 @@ export function parseNumberString(n, defaultValue = 0) {
20
20
  }
21
21
  return defaultValue;
22
22
  }
23
- function pathToPackageJson() {
23
+ export function pathToRepoRoot() {
24
24
  const filename = fileURLToPath(import.meta.url);
25
25
  const dirname = path.dirname(filename);
26
- return path.resolve(dirname, '../../package.json');
26
+ return path.resolve(dirname, '../../');
27
+ }
28
+ function pathToPackageJson() {
29
+ return path.resolve(pathToRepoRoot(), './package.json');
27
30
  }
28
31
  export async function getPackageVersion() {
29
32
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/bin/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,OAAO,MAAM,cAAc,CAAA;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC5B,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,CAAU,EAAE,eAAuB,CAAC;IACpE,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QACpB,OAAO,YAAY,CAAA;IACrB,CAAC;IAED,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAC/B,CAAC;IAED,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;IAClD,CAAC;IAED,OAAO,YAAY,CAAA;AACrB,CAAC;AAED,SAAS,iBAAiB;IACxB,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAEtC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAA;AACpD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,EAAE,EAAE,MAAM,CAAC,CAAA;QACrE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAwB,CAAA;QAC5D,OAAO,OAAO,CAAA;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,QAAgB;IACxC,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACrD,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAiB;IACpD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAA;QACtB,OAAO,OAAO,CAAC,KAAK,CAAA;IACtB,CAAC;IAED,IAAI,MAAM,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IACtC,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAAiB;IACrD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,MAAM,CAAA;IACvB,CAAC;IAED,OAAO,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;AACvC,CAAC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/bin/helpers.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env -S node --enable-source-maps
2
- import process from 'node:process';
2
+ import * as process from 'node:process';
3
3
  import minimist from 'minimist-lite';
4
4
  import { Compression, DictionarySize } from '../constants.js';
5
5
  import { getPackageVersion, parseNumberString, getInputStream, getOutputStream } from './helpers.js';
@@ -17,6 +17,7 @@ const args = minimist(process.argv.slice(2), {
17
17
  l: 'large',
18
18
  },
19
19
  });
20
+ // eslint-disable-next-line max-params -- I know this has hideously many params, but it's only used here within the bin folder
20
21
  async function compress(input, output, offset, keepHeader, compressionType, dictionarySize, config) {
21
22
  let leftHandler;
22
23
  if (keepHeader) {
@@ -1 +1 @@
1
- {"version":3,"file":"implode.js","sourceRoot":"","sources":["../../src/bin/implode.ts"],"names":[],"mappings":";AAEA,OAAO,OAAO,MAAM,cAAc,CAAA;AAClC,OAAO,QAAQ,MAAM,eAAe,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACvG,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,OAAO,EACP,OAAO,GAER,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAsBvC,MAAM,IAAI,GAAY,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;IACpD,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,OAAO,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,oBAAoB,EAAE,SAAS,CAAC;IACpG,KAAK,EAAE;QACL,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE,OAAO;QACV,CAAC,EAAE,QAAQ;QACX,CAAC,EAAE,OAAO;QACV,CAAC,EAAE,QAAQ;QACX,CAAC,EAAE,OAAO;KACX;CACF,CAAC,CAAA;AAEF,KAAK,UAAU,QAAQ,CACrB,KAA4B,EAC5B,MAA6B,EAC7B,MAAc,EACd,UAAmB,EACnB,eAA4B,EAC5B,cAA8B,EAC9B,MAAc;IAEd,IAAI,WAA0B,CAAA;IAC9B,IAAI,UAAU,EAAE,CAAC;QACf,WAAW,GAAG,iBAAiB,EAAE,CAAA;IACnC,CAAC;SAAM,CAAC;QACN,WAAW,GAAG,cAAc,EAAE,CAAA;IAChC,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,EAAE,cAAc,EAAE,MAAM,CAAC,CAAA;IAErE,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,CAAA;IAE5E,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACzG,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAA;IACzC,OAAO,CAAC,GAAG,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAA;IAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,IAAI,KAA4B,CAAA;AAChC,IAAI,MAA6B,CAAA;AACjC,IAAI,CAAC;IACH,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAA;IAClF,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAA;IACxG,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;IAC1F,CAAC;IAED,IAAI,+BAA+B,GAAG,CAAC,CAAA;IACvC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,+BAA+B,GAAG,+BAA+B,GAAG,CAAC,CAAA;IACvE,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,+BAA+B,GAAG,+BAA+B,GAAG,CAAC,CAAA;IACvE,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,+BAA+B,GAAG,+BAA+B,GAAG,CAAC,CAAA;IACvE,CAAC;IAED,IAAI,+BAA+B,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,6FAA6F,CAAC,CAAA;IAChH,CAAC;IAED,KAAK,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACvC,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAC7C,CAAC;AAAC,OAAO,KAAc,EAAE,CAAC;IACxB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAG,KAAe,CAAC,OAAO,CAAC,CAAA;IACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,IAAI,eAAe,CAAA;AACnB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,eAAe,GAAG,WAAW,CAAC,KAAK,CAAA;AACrC,CAAC;KAAM,CAAC;IACN,eAAe,GAAG,WAAW,CAAC,MAAM,CAAA;AACtC,CAAC;AAED,IAAI,cAAc,CAAA;AAClB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,cAAc,GAAG,cAAc,CAAC,KAAK,CAAA;AACvC,CAAC;KAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,cAAc,GAAG,cAAc,CAAC,MAAM,CAAA;AACxC,CAAC;KAAM,CAAC;IACN,cAAc,GAAG,cAAc,CAAC,KAAK,CAAA;AACvC,CAAC;AAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;AAChD,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;AAC9C,MAAM,MAAM,GAAW;IACrB,OAAO,EAAE,IAAI,CAAC,OAAO;CACtB,CAAA;AAED,IAAI,CAAC;IACH,MAAM,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,CAAC,CAAA;IAC1F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAAC,OAAO,KAAc,EAAE,CAAC;IACxB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAG,KAAe,CAAC,OAAO,CAAC,CAAA;IACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC"}
1
+ {"version":3,"file":"implode.js","sourceRoot":"","sources":["../../src/bin/implode.ts"],"names":[],"mappings":"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"}
@@ -11,9 +11,21 @@ export declare class Explode {
11
11
  private dictionarySize;
12
12
  private dictionarySizeMask;
13
13
  private chBitsAsc;
14
+ /**
15
+ * the naming comes from stormlib, the 2C34 refers to the table's position in memory
16
+ */
14
17
  private asciiTable2C34;
18
+ /**
19
+ * the naming comes from stormlib, the 2D34 refers to the table's position in memory
20
+ */
15
21
  private asciiTable2D34;
22
+ /**
23
+ * the naming comes from stormlib, the 2E34 refers to the table's position in memory
24
+ */
16
25
  private asciiTable2E34;
26
+ /**
27
+ * the naming comes from stormlib, the 2EB4 refers to the table's position in memory
28
+ */
17
29
  private asciiTable2EB4;
18
30
  constructor();
19
31
  /**
@@ -1,6 +1,6 @@
1
1
  import { ChBitsAsc, ChCodeAsc, DistBits, DistCode, EMPTY_BUFFER, ExLenBits, LenBase, LenBits, LenCode, LITERAL_END_STREAM, } from '../constants.js';
2
2
  import { AbortedError, InvalidCompressionTypeError, InvalidDictionarySizeError } from '../errors.js';
3
- import { quotientAndRemainder, getLowestNBitsOf, mergeSparseArrays, nBitsOfOnes, repeat, unfold, concatArrayBuffers, sliceArrayBufferAt, } from '../functions.js';
3
+ import { getLowestNBitsOf, mergeSparseArrays, nBitsOfOnes, repeat, unfold, concatArrayBuffers, sliceArrayBufferAt, } from '../functions.js';
4
4
  /**
5
5
  * This function assumes there are at least 2 bytes of data in the buffer
6
6
  */
@@ -86,9 +86,21 @@ export class Explode {
86
86
  dictionarySize;
87
87
  dictionarySizeMask;
88
88
  chBitsAsc;
89
+ /**
90
+ * the naming comes from stormlib, the 2C34 refers to the table's position in memory
91
+ */
89
92
  asciiTable2C34;
93
+ /**
94
+ * the naming comes from stormlib, the 2D34 refers to the table's position in memory
95
+ */
90
96
  asciiTable2D34;
97
+ /**
98
+ * the naming comes from stormlib, the 2E34 refers to the table's position in memory
99
+ */
91
100
  asciiTable2E34;
101
+ /**
102
+ * the naming comes from stormlib, the 2EB4 refers to the table's position in memory
103
+ */
92
104
  asciiTable2EB4;
93
105
  constructor() {
94
106
  this.needMoreInput = true;
@@ -118,22 +130,10 @@ export class Explode {
118
130
  this.inputBuffer = input;
119
131
  this.inputBufferStartIndex = 0;
120
132
  this.processChunkData();
121
- const blockSize = 0x10_00;
122
- let output = EMPTY_BUFFER;
123
- if (this.outputBuffer.byteLength > blockSize) {
124
- let [numberOfBlocks] = quotientAndRemainder(this.outputBuffer.byteLength, blockSize);
125
- // making sure to leave one block worth of data for lookback when processing chunk data
126
- numberOfBlocks = numberOfBlocks - 1;
127
- const numberOfBytes = numberOfBlocks * blockSize;
128
- // TODO: do we need this slicing here...
129
- output = this.outputBuffer.slice(0, numberOfBytes);
130
- this.outputBuffer = this.outputBuffer.slice(numberOfBytes);
131
- }
132
- // -----------------
133
133
  if (this.needMoreInput) {
134
134
  throw new AbortedError();
135
135
  }
136
- return concatArrayBuffers([output, this.outputBuffer]);
136
+ return this.outputBuffer;
137
137
  }
138
138
  generateAsciiTables() {
139
139
  this.chBitsAsc = ChBitsAsc.map((value, index) => {
@@ -269,40 +269,56 @@ export class Explode {
269
269
  }
270
270
  this.needMoreInput = false;
271
271
  const additions = [];
272
+ let additionsByteSum = 0;
272
273
  const finalizedChunks = [];
273
274
  const blockSize = 0x10_00;
274
275
  try {
275
276
  let nextLiteral = this.decodeNextLiteral();
276
277
  while (nextLiteral !== LITERAL_END_STREAM) {
277
- let addition;
278
- if (nextLiteral >= 0x1_00) {
279
- const repeatLength = nextLiteral - 0xfe;
280
- const minusDistance = this.decodeDistance(repeatLength);
278
+ // we have a character literal here
279
+ if (nextLiteral < 0x1_00) {
280
+ const addition = new ArrayBuffer(1);
281
+ const additionView = new Uint8Array(addition);
282
+ additionView[0] = nextLiteral;
283
+ additions.push(addition);
284
+ additionsByteSum = additionsByteSum + 1;
285
+ nextLiteral = this.decodeNextLiteral();
286
+ continue;
287
+ }
288
+ // we have some bytes to copy from earlier bytes, which is referred to as the "repetition":
289
+ // nextLiteral holds information on both how far back the start of the repetition is
290
+ // and the info on how long the repetition is
291
+ const repeatLength = nextLiteral - 0xfe;
292
+ const minusDistance = this.decodeDistance(repeatLength);
293
+ // dump the beginning of the output buffer if outputBuffer and the additions exceed 2 blocks
294
+ if (this.outputBuffer.byteLength + additionsByteSum > blockSize * 2) {
281
295
  if (additions.length > 0) {
282
296
  this.outputBuffer = concatArrayBuffers([this.outputBuffer, ...additions]);
283
297
  additions.length = 0;
284
- if (this.outputBuffer.byteLength > blockSize) {
285
- const [a, b] = sliceArrayBufferAt(this.outputBuffer, blockSize);
286
- finalizedChunks.push(a);
287
- this.outputBuffer = b;
288
- }
289
- }
290
- const start = this.outputBuffer.byteLength - minusDistance;
291
- const availableData = this.outputBuffer.slice(start, start + repeatLength);
292
- if (repeatLength > minusDistance) {
293
- const multipliedData = repeat(availableData, Math.ceil(repeatLength / availableData.byteLength));
294
- addition = concatArrayBuffers(multipliedData).slice(0, repeatLength);
295
- }
296
- else {
297
- addition = availableData;
298
+ additionsByteSum = 0;
298
299
  }
300
+ const [a, b] = sliceArrayBufferAt(this.outputBuffer, blockSize);
301
+ finalizedChunks.push(a);
302
+ this.outputBuffer = b;
303
+ }
304
+ const start = this.outputBuffer.byteLength + additionsByteSum - minusDistance;
305
+ // only add the additions if the repetition is partially or fully within the bytes in the additions
306
+ if (this.outputBuffer.byteLength < start + repeatLength) {
307
+ this.outputBuffer = concatArrayBuffers([this.outputBuffer, ...additions]);
308
+ additions.length = 0;
309
+ additionsByteSum = 0;
310
+ }
311
+ const availableData = this.outputBuffer.slice(start, start + repeatLength);
312
+ let addition;
313
+ if (repeatLength > minusDistance) {
314
+ const multipliedData = repeat(availableData, Math.ceil(repeatLength / availableData.byteLength));
315
+ addition = concatArrayBuffers(multipliedData).slice(0, repeatLength);
299
316
  }
300
317
  else {
301
- addition = new ArrayBuffer(1);
302
- const additionView = new Uint8Array(addition);
303
- additionView[0] = nextLiteral;
318
+ addition = availableData;
304
319
  }
305
320
  additions.push(addition);
321
+ additionsByteSum = additionsByteSum + addition.byteLength;
306
322
  nextLiteral = this.decodeNextLiteral();
307
323
  }
308
324
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Explode.js","sourceRoot":"","sources":["../../src/simple/Explode.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,OAAO,EACP,OAAO,EACP,OAAO,EACP,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,YAAY,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAA;AACtG,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,MAAM,EACN,MAAM,EACN,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAE1B;;GAEG;AACH,SAAS,UAAU,CAAC,MAAuB;IAIzC,IAAI,eAAmC,CAAA;IAEvC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;IAEnC,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAChB,KAAK,CAAC,CAAC,CAAC,CAAC;YACP,eAAe,GAAG,QAAQ,CAAA;YAC1B,MAAK;QACP,CAAC;QAED,KAAK,CAAC,CAAC,CAAC,CAAC;YACP,eAAe,GAAG,OAAO,CAAA;YACzB,MAAK;QACP,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,IAAI,2BAA2B,EAAE,CAAA;QACzC,CAAC;IACH,CAAC;IAED,IAAI,cAA4C,CAAA;IAEhD,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAChB,KAAK,CAAC,CAAC,CAAC,CAAC;YACP,cAAc,GAAG,OAAO,CAAA;YACxB,MAAK;QACP,CAAC;QAED,KAAK,CAAC,CAAC,CAAC,CAAC;YACP,cAAc,GAAG,QAAQ,CAAA;YACzB,MAAK;QACP,CAAC;QAED,KAAK,CAAC,CAAC,CAAC,CAAC;YACP,cAAc,GAAG,OAAO,CAAA;YACxB,MAAK;QACP,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,IAAI,0BAA0B,EAAE,CAAA;QACxC,CAAC;IACH,CAAC;IAED,OAAO;QACL,eAAe;QACf,cAAc;KACf,CAAA;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,YAAsB,EAAE,UAAoB;IACxE,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IAE/B,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE;QAClC,KAAK,IAAI,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC;YACnF,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAClB,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,KAAa,EAAE,OAAe;IACvD,OAAO,UAAU,CAAS;QACxB,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAA;IAChC,CAAC,CAAA;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa,EAAE,KAAa,EAAE,IAAY,EAAE,KAAa;IACnF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,CAAA;IACvD,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,CAAA;IACrC,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAEtC,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACtB,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IACpB,CAAC,CAAC,CAAA;IAEF,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,OAAO,OAAO;IACV,aAAa,CAAS;IACtB,SAAS,CAAQ;IACjB,SAAS,CAAQ;IACR,WAAW,CAAU;IACrB,YAAY,CAAU;IAC/B,WAAW,CAAiB;IAC5B,qBAAqB,CAAQ;IAC7B,YAAY,CAAiB;IAC7B,eAAe,CAAgC;IAC/C,cAAc,CAA0C;IACxD,kBAAkB,CAAQ;IAC1B,SAAS,CAAU;IACnB,cAAc,CAAU;IACxB,cAAc,CAAU;IACxB,cAAc,CAAU;IACxB,cAAc,CAAU;IAEhC;QACE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QACzB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAA;QAClB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAA;QAClB,IAAI,CAAC,WAAW,GAAG,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACzD,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAC5D,IAAI,CAAC,WAAW,GAAG,YAAY,CAAA;QAC/B,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAA;QAC9B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAA;QAChC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAA;QAC/B,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAA;QAC3B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;QAClC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;QACvC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;QACvC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QACrC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IACzC,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,KAAsB;QAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QAEzB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;QACxB,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAA;QAE9B,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAEvB,MAAM,SAAS,GAAG,OAAO,CAAA;QAEzB,IAAI,MAAM,GAAoB,YAAY,CAAA;QAE1C,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,SAAS,EAAE,CAAC;YAC7C,IAAI,CAAC,cAAc,CAAC,GAAG,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;YAEpF,uFAAuF;YACvF,cAAc,GAAG,cAAc,GAAG,CAAC,CAAA;YAEnC,MAAM,aAAa,GAAG,cAAc,GAAG,SAAS,CAAA;YAChD,wCAAwC;YACxC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAA;YAClD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;QAC5D,CAAC;QAED,oBAAoB;QAEpB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,IAAI,YAAY,EAAE,CAAA;QAC1B,CAAC;QAED,OAAO,kBAAkB,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;IACxD,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9C,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACf,IAAI,CAAC,cAAc,GAAG,iBAAiB,CACrC,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,EAC3C,IAAI,CAAC,cAAc,CACR,CAAA;gBAEb,OAAO,KAAK,GAAG,CAAC,CAAA;YAClB,CAAC;YAED,MAAM,GAAG,GAAG,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;YACjD,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;gBACd,IAAI,CAAC,cAAc,GAAG,iBAAiB,CACrC,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,EAC3C,IAAI,CAAC,cAAc,CACR,CAAA;gBAEb,OAAO,KAAK,GAAG,CAAC,CAAA;YAClB,CAAC;YAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;YAE/B,IAAI,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,cAAc,GAAG,iBAAiB,CACrC,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,EACzC,IAAI,CAAC,cAAc,CACR,CAAA;gBAEb,OAAO,KAAK,GAAG,CAAC,CAAA;YAClB,CAAC;YAED,IAAI,CAAC,cAAc,GAAG,iBAAiB,CACrC,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,EAC3C,IAAI,CAAC,cAAc,CACR,CAAA;YAEb,OAAO,KAAK,GAAG,CAAC,CAAA;QAClB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,YAAoB;QACpC,IAAI,YAAY,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC,qBAAqB,KAAK,CAAC,EAAE,CAAC;YACpG,MAAM,IAAI,YAAY,EAAE,CAAA;QAC1B,CAAC;QAED,IAAI,YAAY,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,YAAY,CAAA;YAC/C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,YAAY,CAAA;YAC9C,OAAM;QACR,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;QAC7E,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAA;QAE3D,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;QAC1G,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,YAAY,CAAA;IACpD,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;QAEnD,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAEjB,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;YAEtE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;YAEnC,MAAM,eAAe,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;YAC7C,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;gBAErE,IAAI,CAAC;oBACH,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;gBACjC,CAAC;gBAAC,MAAM,CAAC;oBACP,IAAI,UAAU,GAAG,WAAW,KAAK,MAAM,EAAE,CAAC;wBACxC,MAAM,IAAI,YAAY,EAAE,CAAA;oBAC1B,CAAC;gBACH,CAAC;gBAED,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,WAAW,CAAA;YAChD,CAAC;YAED,OAAO,UAAU,GAAG,MAAM,CAAA;QAC5B,CAAC;QAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;QAEpD,IAAI,IAAI,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;YACtC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;YACjB,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,IAAI,KAAa,CAAA;QAEjB,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjB,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;YAErC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,IAAI,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC;oBACxC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;oBACjB,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;gBAClE,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;oBACjB,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;gBAClE,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;YACjB,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;QAClE,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QAErC,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,YAAoB;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;QAC1E,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAA;QAEzC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QAE3B,IAAI,QAAgB,CAAA;QACpB,IAAI,WAAmB,CAAA;QAEvB,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;YACvB,QAAQ,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;YACnE,WAAW,GAAG,CAAC,CAAA;QACjB,CAAC;aAAM,CAAC;YACN,QAAQ,IAAI,CAAC,cAA8C,EAAE,CAAC;gBAC5D,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,QAAQ,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAA;oBAC1E,WAAW,GAAG,CAAC,CAAA;oBACf,MAAK;gBACP,CAAC;gBAED,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACd,QAAQ,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAA;oBAC1E,WAAW,GAAG,CAAC,CAAA;oBACf,MAAK;gBACP,CAAC;gBAED,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,QAAQ,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAA;oBAC1E,WAAW,GAAG,CAAC,CAAA;oBACf,MAAK;gBACP,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QAE3B,OAAO,QAAQ,GAAG,CAAC,CAAA;IACrB,CAAC;IAEO,gBAAgB;QACtB,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC,qBAAqB,KAAK,CAAC,EAAE,CAAC;YACnE,OAAM;QACR,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,wBAAwB,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;YACxD,IAAI,CAAC,wBAAwB,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC,qBAAqB,KAAK,CAAC,EAAE,CAAC;gBAChG,OAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;QAE1B,MAAM,SAAS,GAAsB,EAAE,CAAA;QACvC,MAAM,eAAe,GAAsB,EAAE,CAAA;QAC7C,MAAM,SAAS,GAAG,OAAO,CAAA;QAEzB,IAAI,CAAC;YACH,IAAI,WAAW,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;YAE1C,OAAO,WAAW,KAAK,kBAAkB,EAAE,CAAC;gBAC1C,IAAI,QAAyB,CAAA;gBAE7B,IAAI,WAAW,IAAI,MAAM,EAAE,CAAC;oBAC1B,MAAM,YAAY,GAAG,WAAW,GAAG,IAAI,CAAA;oBAEvC,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;oBAEvD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACzB,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,SAAS,CAAC,CAAC,CAAA;wBACzE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAA;wBAEpB,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,SAAS,EAAE,CAAC;4BAC7C,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;4BAC/D,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;4BACvB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;wBACvB,CAAC;oBACH,CAAC;oBAED,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,aAAa,CAAA;oBAC1D,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY,CAAC,CAAA;oBAE1E,IAAI,YAAY,GAAG,aAAa,EAAE,CAAC;wBACjC,MAAM,cAAc,GAAG,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,CAAA;wBAChG,QAAQ,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAA;oBACtE,CAAC;yBAAM,CAAC;wBACN,QAAQ,GAAG,aAAa,CAAA;oBAC1B,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,QAAQ,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAA;oBAC7B,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAA;oBAC7C,YAAY,CAAC,CAAC,CAAC,GAAG,WAAW,CAAA;gBAC/B,CAAC;gBAED,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBAExB,WAAW,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;YACxC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QAC3B,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC,CAAC,GAAG,eAAe,EAAE,IAAI,CAAC,YAAY,EAAE,GAAG,SAAS,CAAC,CAAC,CAAA;IAC/F,CAAC;IAEO,gBAAgB;QACtB,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC,qBAAqB,GAAG,CAAC,EAAE,CAAC;YACjE,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,GAAG,UAAU,CACpD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC,CACnF,CAAA;QAED,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,SAAS,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC,CAAA;QACjF,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAA;QAE3D,QAAQ,cAAc,EAAE,CAAC;YACvB,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;gBACxC,MAAK;YACP,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;gBACxC,MAAK;YACP,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;gBACxC,MAAK;YACP,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,KAAK,OAAO,EAAE,CAAC;YACrC,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAC5B,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
1
+ {"version":3,"file":"Explode.js","sourceRoot":"","sources":["../../src/simple/Explode.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-pkware",
3
- "version": "5.2.0",
3
+ "version": "5.3.0",
4
4
  "description": "nodejs implementation of StormLib's pkware compressor/de-compressor",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -28,7 +28,9 @@
28
28
  "build:watch": "nodemon --watch src --exec \"npm run build\" --ext ts",
29
29
  "lint": "xo",
30
30
  "lint:watch": "nodemon --watch src --exec \"npm run lint\" --ext ts",
31
- "prepublishOnly": "npm run lint && rm -rf dist && rm -f tsconfig.tsbuildinfo && npm run build"
31
+ "prepublishOnly": "npm run lint && rm -rf dist && rm -f tsconfig.tsbuildinfo && npm run build && find dist -type f -name '*.spec.*' -delete",
32
+ "test": "ts-mocha --import=@hyperse/ts-node/register src/**/*.spec.ts",
33
+ "test:watch": "nodemon --watch src --exec \"npm run test\" --ext ts"
32
34
  },
33
35
  "repository": {
34
36
  "type": "git",
@@ -44,9 +46,16 @@
44
46
  "minimist-lite": "^2.2.1"
45
47
  },
46
48
  "devDependencies": {
49
+ "@hyperse/ts-node": "^1.1.0",
47
50
  "@trivago/prettier-plugin-sort-imports": "^5.2.0",
51
+ "@types/expect": "^1.20.4",
52
+ "@types/mocha": "^10.0.10",
48
53
  "@types/node": "^22.10.2",
49
54
  "eslint-plugin-unused-imports": "^4.1.4",
55
+ "expect": "^30.2.0",
56
+ "mocha": "^11.7.5",
57
+ "nodemon": "^3.1.11",
58
+ "ts-mocha": "^11.1.0",
50
59
  "tsc-alias": "^1.8.10",
51
60
  "typescript": "5.6.3",
52
61
  "xo": "^0.60.0"