node-pkware 5.7.0 → 5.9.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.
Files changed (46) hide show
  1. package/README.md +68 -43
  2. package/dist/bin/explode.js +2 -2
  3. package/dist/bin/explode.js.map +1 -1
  4. package/dist/bin/implode.js +3 -3
  5. package/dist/bin/implode.js.map +1 -1
  6. package/dist/constants.d.ts +0 -22
  7. package/dist/constants.js +0 -24
  8. package/dist/constants.js.map +1 -1
  9. package/dist/functions.d.ts +7 -3
  10. package/dist/functions.js +26 -9
  11. package/dist/functions.js.map +1 -1
  12. package/dist/simple/Explode.d.ts +35 -12
  13. package/dist/simple/Explode.js +117 -95
  14. package/dist/simple/Explode.js.map +1 -1
  15. package/dist/simple/index.d.ts +3 -3
  16. package/dist/simple/index.js +3 -3
  17. package/dist/simple/index.js.map +1 -1
  18. package/dist/{ExpandingBuffer.js → stream/ExpandingBuffer.js} +1 -1
  19. package/dist/stream/ExpandingBuffer.js.map +1 -0
  20. package/dist/{Explode.d.ts → stream/Explode.d.ts} +4 -4
  21. package/dist/{Explode.js → stream/Explode.js} +8 -7
  22. package/dist/stream/Explode.js.map +1 -0
  23. package/dist/{Implode.d.ts → stream/Implode.d.ts} +3 -3
  24. package/dist/{Implode.js → stream/Implode.js} +5 -4
  25. package/dist/stream/Implode.js.map +1 -0
  26. package/dist/stream/constants.d.ts +22 -0
  27. package/dist/stream/constants.js +25 -0
  28. package/dist/stream/constants.js.map +1 -0
  29. package/dist/{index.d.ts → stream/index.d.ts} +7 -7
  30. package/dist/{index.js → stream/index.js} +5 -5
  31. package/dist/stream/index.js.map +1 -0
  32. package/dist/{stream.js → stream/stream.js} +2 -2
  33. package/dist/stream/stream.js.map +1 -0
  34. package/dist/stream/types.js.map +1 -0
  35. package/package.json +12 -8
  36. package/xo.config.ts +6 -1
  37. package/dist/ExpandingBuffer.js.map +0 -1
  38. package/dist/Explode.js.map +0 -1
  39. package/dist/Implode.js.map +0 -1
  40. package/dist/index.js.map +0 -1
  41. package/dist/stream.js.map +0 -1
  42. package/dist/types.js.map +0 -1
  43. /package/dist/{ExpandingBuffer.d.ts → stream/ExpandingBuffer.d.ts} +0 -0
  44. /package/dist/{stream.d.ts → stream/stream.d.ts} +0 -0
  45. /package/dist/{types.d.ts → stream/types.d.ts} +0 -0
  46. /package/dist/{types.js → stream/types.js} +0 -0
@@ -1,48 +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 { getLowestNBitsOf, mergeSparseArrays, nBitsOfOnes, repeat, unfold, concatArrayBuffers, sliceArrayBufferAt, } from '../functions.js';
4
- /**
5
- * This function assumes there are at least 2 bytes of data in the buffer
6
- */
7
- function readHeader(buffer) {
8
- let compressionType;
9
- const view = new Uint8Array(buffer);
10
- switch (view[0]) {
11
- case 0: {
12
- compressionType = 'binary';
13
- break;
14
- }
15
- case 1: {
16
- compressionType = 'ascii';
17
- break;
18
- }
19
- default: {
20
- throw new InvalidCompressionTypeError();
21
- }
22
- }
23
- let dictionarySize;
24
- switch (view[1]) {
25
- case 4: {
26
- dictionarySize = 'small';
27
- break;
28
- }
29
- case 5: {
30
- dictionarySize = 'medium';
31
- break;
32
- }
33
- case 6: {
34
- dictionarySize = 'large';
35
- break;
36
- }
37
- default: {
38
- throw new InvalidDictionarySizeError();
39
- }
40
- }
41
- return {
42
- compressionType,
43
- dictionarySize,
44
- };
45
- }
3
+ import { getLowestNBitsOf, mergeSparseArrays, nBitsOfOnes, repeat, unfold, concatArrayBuffersAndLengthedDatas, sliceArrayBufferAt, uint8ArrayToArray, } from '../functions.js';
46
4
  function generateDecodeTables(startIndexes, lengthBits) {
47
5
  const codes = repeat(0, 0x1_00);
48
6
  lengthBits.forEach((lengthBit, i) => {
@@ -74,14 +32,30 @@ function populateAsciiTable(value, index, bits, limit) {
74
32
  return table;
75
33
  }
76
34
  export class Explode {
35
+ inputBuffer;
36
+ /**
37
+ * Used for accessing the data within inputBuffer
38
+ */
39
+ inputBufferView;
40
+ /**
41
+ * Used for caching inputBuffer.byteLength as that getter is doing some uncached computation to measure the length of
42
+ * inputBuffer
43
+ */
44
+ inputBufferSize;
45
+ /**
46
+ * The explode algorithm works by trimming off the beginning of inputBuffer byte by byte. Instead of actually
47
+ * adjusting the inputBuffer every time a byte is handled we store the beginning of the unhandled section and use it
48
+ * when indexing data that is being read.
49
+ */
50
+ inputBufferStartIndex;
51
+ outputBuffer;
52
+ outputBufferView;
53
+ outputBufferSize;
77
54
  needMoreInput;
78
55
  extraBits;
79
56
  bitBuffer;
80
57
  lengthCodes;
81
58
  distPosCodes;
82
- inputBuffer;
83
- inputBufferStartIndex;
84
- outputBuffer;
85
59
  compressionType;
86
60
  dictionarySize;
87
61
  dictionarySizeMask;
@@ -102,15 +76,19 @@ export class Explode {
102
76
  * the naming comes from stormlib, the 2EB4 refers to the table's position in memory
103
77
  */
104
78
  asciiTable2EB4;
105
- constructor() {
79
+ constructor(input) {
106
80
  this.needMoreInput = true;
107
81
  this.extraBits = 0;
108
82
  this.bitBuffer = 0;
109
83
  this.lengthCodes = generateDecodeTables(LenCode, LenBits);
110
84
  this.distPosCodes = generateDecodeTables(DistCode, DistBits);
111
- this.inputBuffer = EMPTY_BUFFER;
85
+ this.inputBuffer = input;
86
+ this.inputBufferView = new Uint8Array(this.inputBuffer);
87
+ this.inputBufferSize = this.inputBuffer.byteLength;
112
88
  this.inputBufferStartIndex = 0;
113
89
  this.outputBuffer = EMPTY_BUFFER;
90
+ this.outputBufferView = new Uint8Array(this.outputBuffer);
91
+ this.outputBufferSize = 0;
114
92
  this.compressionType = 'unknown';
115
93
  this.dictionarySize = 'unknown';
116
94
  this.dictionarySizeMask = 0;
@@ -119,21 +97,18 @@ export class Explode {
119
97
  this.asciiTable2D34 = repeat(0, 0x1_00);
120
98
  this.asciiTable2E34 = repeat(0, 0x80);
121
99
  this.asciiTable2EB4 = repeat(0, 0x1_00);
122
- }
123
- /**
124
- * @throws {InvalidCompressionTypeError}
125
- * @throws {InvalidDictionarySizeError}
126
- * @throws {AbortedError}
127
- */
128
- handleData(input) {
129
- this.needMoreInput = true;
130
- this.inputBuffer = input;
131
- this.inputBufferStartIndex = 0;
132
- this.processChunkData();
100
+ this.processInput();
133
101
  if (this.needMoreInput) {
134
102
  throw new AbortedError();
135
103
  }
136
- return this.outputBuffer;
104
+ }
105
+ /**
106
+ * @throws `InvalidCompressionTypeError`
107
+ * @throws `InvalidDictionarySizeError`
108
+ * @throws `AbortedError`
109
+ */
110
+ getResult() {
111
+ return this.outputBuffer.slice(0, this.outputBufferSize);
137
112
  }
138
113
  generateAsciiTables() {
139
114
  this.chBitsAsc = ChBitsAsc.map((value, index) => {
@@ -156,10 +131,10 @@ export class Explode {
156
131
  });
157
132
  }
158
133
  /**
159
- * @throws {@link AbortedError} when there isn't enough data to be wasted
134
+ * @throws `AbortedError` when there isn't enough data to be wasted
160
135
  */
161
136
  wasteBits(numberOfBits) {
162
- if (numberOfBits > this.extraBits && this.inputBuffer.byteLength - this.inputBufferStartIndex === 0) {
137
+ if (numberOfBits > this.extraBits && this.inputBufferSize - this.inputBufferStartIndex === 0) {
163
138
  throw new AbortedError();
164
139
  }
165
140
  if (numberOfBits <= this.extraBits) {
@@ -167,14 +142,13 @@ export class Explode {
167
142
  this.extraBits = this.extraBits - numberOfBits;
168
143
  return;
169
144
  }
170
- const inputBufferView = new Uint8Array(this.inputBuffer);
171
- const nextByte = inputBufferView[this.inputBufferStartIndex];
145
+ const nextByte = this.inputBufferView[this.inputBufferStartIndex];
172
146
  this.inputBufferStartIndex = this.inputBufferStartIndex + 1;
173
147
  this.bitBuffer = ((this.bitBuffer >> this.extraBits) | (nextByte << 8)) >> (numberOfBits - this.extraBits);
174
148
  this.extraBits = this.extraBits + 8 - numberOfBits;
175
149
  }
176
150
  /**
177
- * @throws {@link AbortedError}
151
+ * @throws `AbortedError`
178
152
  */
179
153
  decodeNextLiteral() {
180
154
  const lastBit = getLowestNBitsOf(this.bitBuffer, 1);
@@ -224,7 +198,7 @@ export class Explode {
224
198
  return value;
225
199
  }
226
200
  /**
227
- * @throws {@link AbortedError}
201
+ * @throws `AbortedError`
228
202
  */
229
203
  decodeDistance(repeatLength) {
230
204
  const distPosCode = this.distPosCodes[getLowestNBitsOf(this.bitBuffer, 8)];
@@ -258,16 +232,11 @@ export class Explode {
258
232
  this.wasteBits(bitsToWaste);
259
233
  return distance + 1;
260
234
  }
261
- processChunkData() {
262
- if (this.inputBuffer.byteLength - this.inputBufferStartIndex === 0) {
235
+ processInput() {
236
+ const headerParsedSuccessfully = this.parseInitialData();
237
+ if (!headerParsedSuccessfully || this.inputBufferSize - this.inputBufferStartIndex === 0) {
263
238
  return;
264
239
  }
265
- if (this.compressionType === 'unknown') {
266
- const headerParsedSuccessfully = this.parseInitialData();
267
- if (!headerParsedSuccessfully || this.inputBuffer.byteLength - this.inputBufferStartIndex === 0) {
268
- return;
269
- }
270
- }
271
240
  this.needMoreInput = false;
272
241
  const additions = [];
273
242
  let additionsByteSum = 0;
@@ -278,10 +247,7 @@ export class Explode {
278
247
  while (nextLiteral !== LITERAL_END_STREAM) {
279
248
  // we have a character literal here
280
249
  if (nextLiteral < 0x1_00) {
281
- const addition = new ArrayBuffer(1);
282
- const additionView = new Uint8Array(addition);
283
- additionView[0] = nextLiteral;
284
- additions.push(addition);
250
+ additions.push({ data: [nextLiteral], byteLength: 1 });
285
251
  additionsByteSum = additionsByteSum + 1;
286
252
  nextLiteral = this.decodeNextLiteral();
287
253
  continue;
@@ -292,49 +258,61 @@ export class Explode {
292
258
  const repeatLength = nextLiteral - 0xfe;
293
259
  const minusDistance = this.decodeDistance(repeatLength);
294
260
  // dump the beginning of the output buffer if outputBuffer and the additions exceed 2 blocks
295
- if (this.outputBuffer.byteLength + additionsByteSum > blockSize * 2) {
296
- this.outputBuffer = concatArrayBuffers([this.outputBuffer, ...additions]);
261
+ if (this.outputBufferSize + additionsByteSum > blockSize * 2) {
262
+ this.outputBufferSize = this.outputBufferSize + additionsByteSum;
263
+ this.outputBuffer = concatArrayBuffersAndLengthedDatas([this.outputBuffer, ...additions], this.outputBufferSize);
264
+ this.outputBufferView = new Uint8Array(this.outputBuffer);
297
265
  additions.length = 0;
298
266
  additionsByteSum = 0;
299
267
  const [a, b] = sliceArrayBufferAt(this.outputBuffer, blockSize);
300
268
  finalizedChunks.push(a);
301
269
  this.outputBuffer = b;
270
+ this.outputBufferView = new Uint8Array(this.outputBuffer);
271
+ this.outputBufferSize = this.outputBufferSize - blockSize;
302
272
  }
303
- const start = this.outputBuffer.byteLength + additionsByteSum - minusDistance;
273
+ const start = this.outputBufferSize + additionsByteSum - minusDistance;
304
274
  // only add the additions if the "repetition" bleeds into the bytes of "additions"
305
- if (this.outputBuffer.byteLength < start + repeatLength) {
306
- this.outputBuffer = concatArrayBuffers([this.outputBuffer, ...additions]);
275
+ if (this.outputBufferSize < start + repeatLength) {
276
+ this.outputBufferSize = this.outputBufferSize + additionsByteSum;
277
+ this.outputBuffer = concatArrayBuffersAndLengthedDatas([this.outputBuffer, ...additions], this.outputBufferSize);
278
+ this.outputBufferView = new Uint8Array(this.outputBuffer);
307
279
  additions.length = 0;
308
280
  additionsByteSum = 0;
309
281
  }
310
- const availableData = this.outputBuffer.slice(start, start + repeatLength);
311
- let addition;
282
+ const availableDataLength = Math.min(start + repeatLength, this.outputBufferSize) - start;
283
+ const availableData = {
284
+ data: uint8ArrayToArray(this.outputBufferView, start, availableDataLength),
285
+ byteLength: availableDataLength,
286
+ };
312
287
  if (repeatLength > minusDistance) {
313
- const multipliedData = repeat(availableData, Math.ceil(repeatLength / availableData.byteLength));
314
- addition = concatArrayBuffers(multipliedData).slice(0, repeatLength);
288
+ const repeats = Math.ceil(repeatLength / availableData.byteLength);
289
+ const multipliedData = repeat(availableData, repeats);
290
+ const addition = concatArrayBuffersAndLengthedDatas(multipliedData, repeatLength * repeats).slice(0, repeatLength);
291
+ additions.push(addition);
292
+ additionsByteSum = additionsByteSum + repeatLength;
315
293
  }
316
294
  else {
317
- addition = availableData;
295
+ additions.push(availableData);
296
+ additionsByteSum = additionsByteSum + availableData.byteLength;
318
297
  }
319
- additions.push(addition);
320
- additionsByteSum = additionsByteSum + addition.byteLength;
321
298
  nextLiteral = this.decodeNextLiteral();
322
299
  }
323
300
  }
324
301
  catch {
325
302
  this.needMoreInput = true;
326
303
  }
327
- this.outputBuffer = concatArrayBuffers([...finalizedChunks, this.outputBuffer, ...additions]);
304
+ this.outputBufferSize = finalizedChunks.length * blockSize + this.outputBufferSize + additionsByteSum;
305
+ this.outputBuffer = concatArrayBuffersAndLengthedDatas([...finalizedChunks, this.outputBuffer, ...additions], this.outputBufferSize);
306
+ this.outputBufferView = new Uint8Array(this.outputBuffer);
328
307
  }
329
308
  parseInitialData() {
330
- if (this.inputBuffer.byteLength - this.inputBufferStartIndex < 4) {
309
+ if (this.inputBufferSize < 4) {
331
310
  return false;
332
311
  }
333
- const { compressionType, dictionarySize } = readHeader(this.inputBuffer.slice(this.inputBufferStartIndex, this.inputBufferStartIndex + 2));
312
+ const { compressionType, dictionarySize } = this.readHeader();
334
313
  this.compressionType = compressionType;
335
314
  this.dictionarySize = dictionarySize;
336
- const inputBufferView = new Uint8Array(this.inputBuffer);
337
- this.bitBuffer = inputBufferView[this.inputBufferStartIndex + 2];
315
+ this.bitBuffer = this.inputBufferView[this.inputBufferStartIndex + 2];
338
316
  this.inputBufferStartIndex = this.inputBufferStartIndex + 3;
339
317
  switch (dictionarySize) {
340
318
  case 'small': {
@@ -355,5 +333,49 @@ export class Explode {
355
333
  }
356
334
  return true;
357
335
  }
336
+ /**
337
+ * This function assumes there are at least 2 bytes of data in the buffer
338
+ *
339
+ * @throws `InvalidCompressionTypeError`
340
+ * @throws `InvalidDictionarySizeError`
341
+ */
342
+ readHeader() {
343
+ let compressionType;
344
+ switch (this.inputBufferView[0]) {
345
+ case 0: {
346
+ compressionType = 'binary';
347
+ break;
348
+ }
349
+ case 1: {
350
+ compressionType = 'ascii';
351
+ break;
352
+ }
353
+ default: {
354
+ throw new InvalidCompressionTypeError();
355
+ }
356
+ }
357
+ let dictionarySize;
358
+ switch (this.inputBufferView[1]) {
359
+ case 4: {
360
+ dictionarySize = 'small';
361
+ break;
362
+ }
363
+ case 5: {
364
+ dictionarySize = 'medium';
365
+ break;
366
+ }
367
+ case 6: {
368
+ dictionarySize = 'large';
369
+ break;
370
+ }
371
+ default: {
372
+ throw new InvalidDictionarySizeError();
373
+ }
374
+ }
375
+ return {
376
+ compressionType,
377
+ dictionarySize,
378
+ };
379
+ }
358
380
  }
359
381
  //# sourceMappingURL=Explode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Explode.js","sourceRoot":"","sources":["../../src/simple/Explode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Explode.js","sourceRoot":"","sources":["../../src/simple/Explode.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { CompressionType, DictionarySize } from '../simple/types.js';
2
- export declare function explode(input: ArrayBufferLike): ArrayBufferLike;
2
+ export declare function explode(input: ArrayBufferLike): ArrayBuffer;
3
3
  export declare function implode(input: ArrayBufferLike, compressionType: CompressionType, dictionarySize: DictionarySize): ArrayBuffer;
4
4
  export { explode as decompress };
5
5
  export { implode as compress };
6
- export { concatArrayBuffers, sliceArrayBufferAt } from '../functions.js';
7
- export { type CompressionType, type DictionarySize } from '../simple/types.js';
6
+ export { concatArrayBuffersAndLengthedDatas as concatArrayBuffers, sliceArrayBufferAt } from '../functions.js';
7
+ export type { CompressionType, DictionarySize } from '../simple/types.js';
@@ -1,8 +1,8 @@
1
1
  import { Explode } from '../simple/Explode.js';
2
2
  import { Implode } from '../simple/Implode.js';
3
3
  export function explode(input) {
4
- const instance = new Explode();
5
- return instance.handleData(input);
4
+ const instance = new Explode(input);
5
+ return instance.getResult();
6
6
  }
7
7
  export function implode(input, compressionType, dictionarySize) {
8
8
  const instance = new Implode(input, compressionType, dictionarySize);
@@ -12,5 +12,5 @@ export { explode as decompress };
12
12
  export { implode as compress };
13
13
  // -----------------
14
14
  // utils and types
15
- export { concatArrayBuffers, sliceArrayBufferAt } from '../functions.js';
15
+ export { concatArrayBuffersAndLengthedDatas as concatArrayBuffers, sliceArrayBufferAt } from '../functions.js';
16
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/simple/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAGhD,MAAM,UAAU,OAAO,CAAC,KAAsB;IAC5C,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAE,CAAA;IAC9B,OAAO,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;AACnC,CAAC;AAED,MAAM,UAAU,OAAO,CACrB,KAAsB,EACtB,eAAgC,EAChC,cAA8B;IAE9B,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE,cAAc,CAAC,CAAA;IACpE,OAAO,QAAQ,CAAC,SAAS,EAAE,CAAA;AAC7B,CAAC;AAED,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,CAAA;AAChC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,CAAA;AAE9B,oBAAoB;AACpB,kBAAkB;AAElB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/simple/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAGhD,MAAM,UAAU,OAAO,CAAC,KAAsB;IAC5C,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAA;IACnC,OAAO,QAAQ,CAAC,SAAS,EAAE,CAAA;AAC7B,CAAC;AAED,MAAM,UAAU,OAAO,CACrB,KAAsB,EACtB,eAAgC,EAChC,cAA8B;IAE9B,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE,cAAc,CAAC,CAAA;IACpE,OAAO,QAAQ,CAAC,SAAS,EAAE,CAAA;AAC7B,CAAC;AAED,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,CAAA;AAChC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,CAAA;AAE9B,oBAAoB;AACpB,kBAAkB;AAElB,OAAO,EAAE,kCAAkC,IAAI,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { Buffer } from 'node:buffer';
2
- import { clamp } from './functions.js';
2
+ import { clamp } from '../functions.js';
3
3
  const blockSize = 0x10_00;
4
4
  export class ExpandingBuffer {
5
5
  heap;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpandingBuffer.js","sourceRoot":"","sources":["../../src/stream/ExpandingBuffer.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Buffer } from 'node:buffer';
2
2
  import type { Transform, TransformCallback } from 'node:stream';
3
- import type { Config } from './types.js';
3
+ import type { Config } from '../stream/types.js';
4
4
  export declare class Explode {
5
5
  private readonly verbose;
6
6
  private needMoreInput;
@@ -26,15 +26,15 @@ export declare class Explode {
26
26
  private generateAsciiTables;
27
27
  private onInputFinished;
28
28
  /**
29
- * @throws {@link AbortedError} when there isn't enough data to be wasted
29
+ * @throws `AbortedError` when there isn't enough data to be wasted
30
30
  */
31
31
  private wasteBits;
32
32
  /**
33
- * @throws {@link AbortedError}
33
+ * @throws `AbortedError`
34
34
  */
35
35
  private decodeNextLiteral;
36
36
  /**
37
- * @throws {@link AbortedError}
37
+ * @throws `AbortedError`
38
38
  */
39
39
  private decodeDistance;
40
40
  private processChunkData;
@@ -1,8 +1,9 @@
1
1
  import { Buffer } from 'node:buffer';
2
- import { ChBitsAsc, ChCodeAsc, Compression, DictionarySize, DistBits, DistCode, ExLenBits, LenBase, LenBits, LenCode, LITERAL_END_STREAM, } from './constants.js';
3
- import { AbortedError, InvalidCompressionTypeError, InvalidDictionarySizeError } from './errors.js';
4
- import { ExpandingBuffer } from './ExpandingBuffer.js';
5
- import { quotientAndRemainder, getLowestNBitsOf, mergeSparseArrays, nBitsOfOnes, repeat, toHex, unfold, } from './functions.js';
2
+ import { ChBitsAsc, ChCodeAsc, DistBits, DistCode, ExLenBits, LenBase, LenBits, LenCode, LITERAL_END_STREAM, } from '../constants.js';
3
+ import { AbortedError, InvalidCompressionTypeError, InvalidDictionarySizeError } from '../errors.js';
4
+ import { ExpandingBuffer } from '../stream/ExpandingBuffer.js';
5
+ import { quotientAndRemainder, getLowestNBitsOf, mergeSparseArrays, nBitsOfOnes, repeat, toHex, unfold, } from '../functions.js';
6
+ import { Compression, DictionarySize } from '../stream/constants.js';
6
7
  /**
7
8
  * This function assumes there are at least 2 bytes of data in the buffer
8
9
  */
@@ -159,7 +160,7 @@ export class Explode {
159
160
  callback(null, this.outputBuffer.read());
160
161
  }
161
162
  /**
162
- * @throws {@link AbortedError} when there isn't enough data to be wasted
163
+ * @throws `AbortedError` when there isn't enough data to be wasted
163
164
  */
164
165
  wasteBits(numberOfBits) {
165
166
  if (numberOfBits > this.extraBits && this.inputBuffer.isEmpty()) {
@@ -176,7 +177,7 @@ export class Explode {
176
177
  this.extraBits = this.extraBits + 8 - numberOfBits;
177
178
  }
178
179
  /**
179
- * @throws {@link AbortedError}
180
+ * @throws `AbortedError`
180
181
  */
181
182
  decodeNextLiteral() {
182
183
  const lastBit = getLowestNBitsOf(this.bitBuffer, 1);
@@ -226,7 +227,7 @@ export class Explode {
226
227
  return value;
227
228
  }
228
229
  /**
229
- * @throws {@link AbortedError}
230
+ * @throws `AbortedError`
230
231
  */
231
232
  decodeDistance(repeatLength) {
232
233
  const distPosCode = this.distPosCodes[getLowestNBitsOf(this.bitBuffer, 8)];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Explode.js","sourceRoot":"","sources":["../../src/stream/Explode.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { Compression, DictionarySize } from './constants.js';
2
- import type { StreamHandler } from './stream.js';
3
- import type { Config } from './types.js';
1
+ import type { StreamHandler } from '../stream/stream.js';
2
+ import type { Config } from '../stream/types.js';
3
+ import { Compression, DictionarySize } from '../stream/constants.js';
4
4
  export declare class Implode {
5
5
  private readonly verbose;
6
6
  private isFirstChunk;
@@ -1,8 +1,9 @@
1
1
  import { Buffer } from 'node:buffer';
2
- import { ChBitsAsc, ChCodeAsc, Compression, DictionarySize, DistBits, DistCode, ExLenBits, LenBits, LenCode, LONGEST_ALLOWED_REPETITION, } from './constants.js';
3
- import { InvalidCompressionTypeError, InvalidDictionarySizeError } from './errors.js';
4
- import { ExpandingBuffer } from './ExpandingBuffer.js';
5
- import { clamp, quotientAndRemainder, getLowestNBitsOf, nBitsOfOnes, repeat, toHex } from './functions.js';
2
+ import { ChBitsAsc, ChCodeAsc, DistBits, DistCode, ExLenBits, LenBits, LenCode, LONGEST_ALLOWED_REPETITION, } from '../constants.js';
3
+ import { InvalidCompressionTypeError, InvalidDictionarySizeError } from '../errors.js';
4
+ import { ExpandingBuffer } from '../stream/ExpandingBuffer.js';
5
+ import { clamp, quotientAndRemainder, getLowestNBitsOf, nBitsOfOnes, repeat, toHex } from '../functions.js';
6
+ import { Compression, DictionarySize } from '../stream/constants.js';
6
7
  function getSizeOfMatching(inputBytes, a, b) {
7
8
  const limit = clamp(b - a, 2, LONGEST_ALLOWED_REPETITION);
8
9
  for (let i = 2; i <= limit; i++) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Implode.js","sourceRoot":"","sources":["../../src/stream/Implode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Compression types for implode
3
+ */
4
+ export declare enum Compression {
5
+ Unknown = -1,
6
+ Binary = 0,
7
+ Ascii = 1
8
+ }
9
+ /**
10
+ * Dictionary sizes for implode, determines how well the file get compressed.
11
+ *
12
+ * Small dictionary size means less memory to lookback in data for repetitions,
13
+ * meaning it will be less effective, the file stays larger, less compressed.
14
+ * On the other hand, large compression allows more lookback allowing more effective
15
+ * compression, thus generating smaller, more compressed files.
16
+ */
17
+ export declare enum DictionarySize {
18
+ Unknown = -1,
19
+ Small = 4,
20
+ Medium = 5,
21
+ Large = 6
22
+ }