node-pkware 5.1.0-alpha.4 → 5.1.0-alpha.6

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.
@@ -136,5 +136,5 @@ export declare function quotientAndRemainder(dividend: number, divisor: number):
136
136
  /**
137
137
  * @see https://stackoverflow.com/a/49129872/1806628
138
138
  */
139
- export declare function concatArrayBuffers(buffers: ArrayBufferLike[]): ArrayBufferLike;
140
- export declare function sliceArrayBufferAt(buffer: ArrayBufferLike, at: number): [ArrayBufferLike, ArrayBufferLike];
139
+ export declare function concatArrayBuffers(buffers: ArrayBufferLike[]): ArrayBuffer;
140
+ export declare function sliceArrayBufferAt(buffer: ArrayBufferLike, at: number): [ArrayBuffer, ArrayBuffer];
package/dist/functions.js CHANGED
@@ -200,9 +200,6 @@ export function concatArrayBuffers(buffers) {
200
200
  if (nonEmptyBuffers.length === 0) {
201
201
  return EMPTY_BUFFER;
202
202
  }
203
- if (nonEmptyBuffers.length === 1) {
204
- return nonEmptyBuffers[0];
205
- }
206
203
  const totalLength = nonEmptyBuffers.reduce((sum, buffer) => {
207
204
  return sum + buffer.byteLength;
208
205
  }, 0);
@@ -1 +1 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,22 @@
1
+ import { type CompressionType, type DictionarySize } from '../simple/types.js';
1
2
  export declare class Implode {
2
- outputBuffer: ArrayBufferLike;
3
+ outputBuffer: ArrayBuffer;
3
4
  private inputBuffer;
4
5
  private inputBufferView;
5
6
  private outputBufferView;
6
7
  private readonly additionalByte;
7
8
  private readonly additionalByteView;
8
9
  private inputBufferStartIndex;
9
- private readonly compressionType;
10
- private readonly dictionarySize;
11
- private readonly dictionarySizeMask;
12
- private readonly streamEnded;
10
+ private dictionarySizeMask;
13
11
  private readonly distCodes;
14
12
  private readonly distBits;
15
- private handledFirstTwoBytes;
16
13
  private outBits;
17
14
  private readonly nChBits;
18
15
  private readonly nChCodes;
19
- constructor(input: ArrayBufferLike, compressionType: 'ascii' | 'binary', dictionarySize: 'small' | 'medium' | 'large');
20
- private processChunkData;
16
+ constructor(input: ArrayBufferLike, compressionType: CompressionType, dictionarySize: DictionarySize);
17
+ private setupTables;
18
+ private outputHeader;
19
+ private processInput;
21
20
  /**
22
21
  * @returns false - non flushable
23
22
  * @returns true - flushable
@@ -28,6 +27,6 @@ export declare class Implode {
28
27
  * repetitions are at least 2 bytes long,
29
28
  * so the initial 2 bytes can be moved to the output as is
30
29
  */
31
- private handleFirstTwoBytes;
30
+ private skipFirstTwoBytes;
32
31
  private outputBits;
33
32
  }
@@ -1,5 +1,5 @@
1
- import { ChBitsAsc, ChCodeAsc, DistBits, DistCode, EMPTY_BUFFER, ExLenBits, LenBits, LenCode, LONGEST_ALLOWED_REPETITION, } from '../constants.js';
2
- import { clamp, quotientAndRemainder, getLowestNBitsOf, repeat, nBitsOfOnes, concatArrayBuffers, } from '../functions.js';
1
+ import { ChBitsAsc, ChCodeAsc, DistBits, DistCode, ExLenBits, LenBits, LenCode, LONGEST_ALLOWED_REPETITION, } from '../constants.js';
2
+ import { clamp, getLowestNBitsOf, repeat, nBitsOfOnes, concatArrayBuffers } from '../functions.js';
3
3
  function getSizeOfMatching(inputBytes, a, b) {
4
4
  const limit = clamp(2, LONGEST_ALLOWED_REPETITION, b - a);
5
5
  const view = new Uint8Array(inputBytes);
@@ -62,42 +62,39 @@ export class Implode {
62
62
  additionalByte;
63
63
  additionalByteView;
64
64
  inputBufferStartIndex;
65
- compressionType;
66
- dictionarySize;
67
65
  dictionarySizeMask;
68
- streamEnded;
69
66
  distCodes;
70
67
  distBits;
71
- handledFirstTwoBytes;
72
68
  outBits;
73
69
  nChBits;
74
70
  nChCodes;
75
71
  constructor(input, compressionType, dictionarySize) {
76
72
  this.additionalByte = new ArrayBuffer(1);
77
73
  this.additionalByteView = new Uint8Array(this.additionalByte);
78
- this.compressionType = compressionType;
79
- this.dictionarySize = dictionarySize;
80
- this.streamEnded = false;
74
+ this.dictionarySizeMask = 0;
81
75
  this.distCodes = structuredClone(DistCode);
82
76
  this.distBits = structuredClone(DistBits);
83
77
  this.inputBufferStartIndex = 0;
84
- this.handledFirstTwoBytes = false;
85
78
  this.outBits = 0;
86
79
  this.nChBits = repeat(0, 0x3_06);
87
80
  this.nChCodes = repeat(0, 0x3_06);
81
+ this.setupTables(compressionType, dictionarySize);
88
82
  this.inputBuffer = input;
89
83
  this.inputBufferView = new Uint8Array(this.inputBuffer);
90
- // -------------------
91
- // setup
92
84
  this.outputBuffer = new ArrayBuffer(3);
93
85
  this.outputBufferView = new Uint8Array(this.outputBuffer);
94
- switch (this.compressionType) {
86
+ this.outputHeader(compressionType, dictionarySize);
87
+ this.processInput(dictionarySize);
88
+ // write the termination literal
89
+ this.outputBits(this.nChBits.at(-1), this.nChCodes.at(-1));
90
+ }
91
+ setupTables(compressionType, dictionarySize) {
92
+ switch (compressionType) {
95
93
  case 'ascii': {
96
94
  for (let nCount = 0; nCount < 0x1_00; nCount++) {
97
95
  this.nChBits[nCount] = ChBitsAsc[nCount] + 1;
98
96
  this.nChCodes[nCount] = ChCodeAsc[nCount] * 2;
99
97
  }
100
- this.outputBufferView[0] = 1;
101
98
  break;
102
99
  }
103
100
  case 'binary': {
@@ -107,24 +104,20 @@ export class Implode {
107
104
  this.nChCodes[nCount] = nChCode;
108
105
  nChCode = getLowestNBitsOf(nChCode, 16) + 2;
109
106
  }
110
- this.outputBufferView[0] = 0;
111
107
  break;
112
108
  }
113
109
  }
114
- switch (this.dictionarySize) {
110
+ switch (dictionarySize) {
115
111
  case 'small': {
116
112
  this.dictionarySizeMask = nBitsOfOnes(4);
117
- this.outputBufferView[1] = 4;
118
113
  break;
119
114
  }
120
115
  case 'medium': {
121
116
  this.dictionarySizeMask = nBitsOfOnes(5);
122
- this.outputBufferView[1] = 5;
123
117
  break;
124
118
  }
125
119
  case 'large': {
126
120
  this.dictionarySizeMask = nBitsOfOnes(6);
127
- this.outputBufferView[1] = 6;
128
121
  break;
129
122
  }
130
123
  }
@@ -136,106 +129,100 @@ export class Implode {
136
129
  nCount = nCount + 1;
137
130
  }
138
131
  }
139
- this.outputBufferView[2] = 0;
140
- this.outBits = 0;
141
- // -------------------
142
- // handleData
143
- this.processChunkData();
144
- const blockSize = 0x8_00;
145
- let output = EMPTY_BUFFER;
146
- if (this.outputBuffer.byteLength > blockSize) {
147
- let [numberOfBlocks] = quotientAndRemainder(this.outputBuffer.byteLength, blockSize);
148
- // making sure to leave one block worth of data for lookback when processing chunk data
149
- numberOfBlocks = numberOfBlocks - 1;
150
- const numberOfBytes = numberOfBlocks * blockSize;
151
- // make sure to create a copy of the output buffer slice as it will get flushed in the next line
152
- output = this.outputBuffer.slice(0, numberOfBytes);
153
- this.outputBuffer = this.outputBuffer.slice(numberOfBytes);
154
- this.outputBufferView = new Uint8Array(this.outputBuffer);
155
- if (this.outBits === 0) {
156
- this.outputBufferView[this.outputBuffer.byteLength - 1] = 0;
132
+ }
133
+ outputHeader(compressionType, dictionarySize) {
134
+ switch (compressionType) {
135
+ case 'ascii': {
136
+ this.outputBufferView[0] = 1;
137
+ break;
138
+ }
139
+ case 'binary': {
140
+ this.outputBufferView[0] = 0;
141
+ break;
157
142
  }
158
143
  }
159
- this.streamEnded = true;
160
- this.processChunkData();
161
- this.outputBuffer = concatArrayBuffers([output, this.outputBuffer]);
144
+ switch (dictionarySize) {
145
+ case 'small': {
146
+ this.outputBufferView[1] = 4;
147
+ break;
148
+ }
149
+ case 'medium': {
150
+ this.outputBufferView[1] = 5;
151
+ break;
152
+ }
153
+ case 'large': {
154
+ this.outputBufferView[1] = 6;
155
+ break;
156
+ }
157
+ }
158
+ this.outputBufferView[2] = 0;
162
159
  }
163
- processChunkData() {
164
- if (this.inputBuffer.byteLength > 0) {
165
- this.inputBufferStartIndex = 0;
166
- if (!this.handledFirstTwoBytes) {
167
- if (this.inputBuffer.byteLength < 3) {
168
- return;
169
- }
170
- this.handledFirstTwoBytes = true;
171
- this.handleFirstTwoBytes();
160
+ processInput(dictionarySize) {
161
+ if (this.inputBuffer.byteLength === 0) {
162
+ return;
163
+ }
164
+ if (this.inputBuffer.byteLength < 3) {
165
+ return;
166
+ }
167
+ this.skipFirstTwoBytes();
168
+ // -------------------------------
169
+ // work in progress
170
+ const endOfLastMatch = 0; // used when searching for longer repetitions later
171
+ while (this.inputBufferStartIndex < this.inputBuffer.byteLength) {
172
+ const { size, distance } = findRepetitions(this.inputBuffer.slice(endOfLastMatch), endOfLastMatch, this.inputBufferStartIndex);
173
+ const isFlushable = this.isRepetitionFlushable(size, distance);
174
+ if (isFlushable === false) {
175
+ const byte = this.inputBufferView[this.inputBufferStartIndex];
176
+ this.outputBits(this.nChBits[byte], this.nChCodes[byte]);
177
+ this.inputBufferStartIndex = this.inputBufferStartIndex + 1;
172
178
  }
173
- // -------------------------------
174
- // work in progress
175
- const endOfLastMatch = 0; // used when searching for longer repetitions later
176
- while (this.inputBufferStartIndex < this.inputBuffer.byteLength) {
177
- const { size, distance } = findRepetitions(this.inputBuffer.slice(endOfLastMatch), endOfLastMatch, this.inputBufferStartIndex);
178
- const isFlushable = this.isRepetitionFlushable(size, distance);
179
- if (isFlushable === false) {
180
- const byte = this.inputBufferView[this.inputBufferStartIndex];
181
- this.outputBits(this.nChBits[byte], this.nChCodes[byte]);
182
- this.inputBufferStartIndex = this.inputBufferStartIndex + 1;
179
+ else {
180
+ const byte = size + 0xfe;
181
+ this.outputBits(this.nChBits[byte], this.nChCodes[byte]);
182
+ if (size === 2) {
183
+ const byte = distance >> 2;
184
+ this.outputBits(this.distBits[byte], this.distCodes[byte]);
185
+ this.outputBits(2, distance & 3);
183
186
  }
184
187
  else {
185
- const byte = size + 0xfe;
186
- this.outputBits(this.nChBits[byte], this.nChCodes[byte]);
187
- if (size === 2) {
188
- const byte = distance >> 2;
189
- this.outputBits(this.distBits[byte], this.distCodes[byte]);
190
- this.outputBits(2, distance & 3);
191
- }
192
- else {
193
- switch (this.dictionarySize) {
194
- case 'small': {
195
- const byte = distance >> 4;
196
- this.outputBits(this.distBits[byte], this.distCodes[byte]);
197
- this.outputBits(4, this.dictionarySizeMask & distance);
198
- break;
199
- }
200
- case 'medium': {
201
- const byte = distance >> 5;
202
- this.outputBits(this.distBits[byte], this.distCodes[byte]);
203
- this.outputBits(5, this.dictionarySizeMask & distance);
204
- break;
205
- }
206
- case 'large': {
207
- const byte = distance >> 6;
208
- this.outputBits(this.distBits[byte], this.distCodes[byte]);
209
- this.outputBits(6, this.dictionarySizeMask & distance);
210
- break;
211
- }
188
+ switch (dictionarySize) {
189
+ case 'small': {
190
+ const byte = distance >> 4;
191
+ this.outputBits(this.distBits[byte], this.distCodes[byte]);
192
+ this.outputBits(4, this.dictionarySizeMask & distance);
193
+ break;
194
+ }
195
+ case 'medium': {
196
+ const byte = distance >> 5;
197
+ this.outputBits(this.distBits[byte], this.distCodes[byte]);
198
+ this.outputBits(5, this.dictionarySizeMask & distance);
199
+ break;
200
+ }
201
+ case 'large': {
202
+ const byte = distance >> 6;
203
+ this.outputBits(this.distBits[byte], this.distCodes[byte]);
204
+ this.outputBits(6, this.dictionarySizeMask & distance);
205
+ break;
212
206
  }
213
207
  }
214
- this.inputBufferStartIndex = this.inputBufferStartIndex + size;
215
- }
216
- if (this.dictionarySize === 'small' && this.inputBufferStartIndex >= 0x4_00) {
217
- this.inputBuffer = this.inputBuffer.slice(0x4_00);
218
- this.inputBufferView = new Uint8Array(this.inputBuffer);
219
- this.inputBufferStartIndex = this.inputBufferStartIndex - 0x4_00;
220
- }
221
- else if (this.dictionarySize === 'medium' && this.inputBufferStartIndex >= 0x8_00) {
222
- this.inputBuffer = this.inputBuffer.slice(0x8_00);
223
- this.inputBufferView = new Uint8Array(this.inputBuffer);
224
- this.inputBufferStartIndex = this.inputBufferStartIndex - 0x8_00;
225
- }
226
- else if (this.dictionarySize === 'large' && this.inputBufferStartIndex >= 0x10_00) {
227
- this.inputBuffer = this.inputBuffer.slice(0x10_00);
228
- this.inputBufferView = new Uint8Array(this.inputBuffer);
229
- this.inputBufferStartIndex = this.inputBufferStartIndex - 0x10_00;
230
208
  }
209
+ this.inputBufferStartIndex = this.inputBufferStartIndex + size;
210
+ }
211
+ if (dictionarySize === 'small' && this.inputBufferStartIndex >= 0x4_00) {
212
+ this.inputBuffer = this.inputBuffer.slice(0x4_00);
213
+ this.inputBufferView = new Uint8Array(this.inputBuffer);
214
+ this.inputBufferStartIndex = this.inputBufferStartIndex - 0x4_00;
215
+ }
216
+ else if (dictionarySize === 'medium' && this.inputBufferStartIndex >= 0x8_00) {
217
+ this.inputBuffer = this.inputBuffer.slice(0x8_00);
218
+ this.inputBufferView = new Uint8Array(this.inputBuffer);
219
+ this.inputBufferStartIndex = this.inputBufferStartIndex - 0x8_00;
220
+ }
221
+ else if (dictionarySize === 'large' && this.inputBufferStartIndex >= 0x10_00) {
222
+ this.inputBuffer = this.inputBuffer.slice(0x10_00);
223
+ this.inputBufferView = new Uint8Array(this.inputBuffer);
224
+ this.inputBufferStartIndex = this.inputBufferStartIndex - 0x10_00;
231
225
  }
232
- // -------------------------------
233
- this.inputBuffer = EMPTY_BUFFER;
234
- this.inputBufferView = new Uint8Array(this.inputBuffer);
235
- }
236
- if (this.streamEnded) {
237
- // Write the termination literal
238
- this.outputBits(this.nChBits.at(-1), this.nChCodes.at(-1));
239
226
  }
240
227
  }
241
228
  /**
@@ -262,25 +249,25 @@ export class Implode {
262
249
  * repetitions are at least 2 bytes long,
263
250
  * so the initial 2 bytes can be moved to the output as is
264
251
  */
265
- handleFirstTwoBytes() {
252
+ skipFirstTwoBytes() {
266
253
  const [byte1, byte2] = this.inputBufferView;
267
254
  this.outputBits(this.nChBits[byte1], this.nChCodes[byte1]);
268
255
  this.outputBits(this.nChBits[byte2], this.nChCodes[byte2]);
269
256
  this.inputBufferStartIndex = this.inputBufferStartIndex + 2;
270
257
  }
271
- outputBits(nBits, bitBuffer) {
272
- if (nBits > 8) {
258
+ outputBits(numberOfBits, bitBuffer) {
259
+ if (numberOfBits > 8) {
273
260
  this.outputBits(8, bitBuffer);
274
261
  bitBuffer = bitBuffer >> 8;
275
- nBits = nBits - 8;
262
+ numberOfBits = numberOfBits - 8;
276
263
  }
277
- const { outBits } = this;
264
+ const oldOutBits = this.outBits;
278
265
  const view = new Uint8Array(this.outputBuffer);
279
- view[view.byteLength - 1] = view[view.byteLength - 1] | getLowestNBitsOf(bitBuffer << outBits, 8);
280
- this.outBits = this.outBits + nBits;
266
+ view[view.byteLength - 1] = view[view.byteLength - 1] | getLowestNBitsOf(bitBuffer << oldOutBits, 8);
267
+ this.outBits = this.outBits + numberOfBits;
281
268
  if (this.outBits > 8) {
282
269
  this.outBits = getLowestNBitsOf(this.outBits, 3);
283
- bitBuffer = bitBuffer >> (8 - outBits);
270
+ bitBuffer = bitBuffer >> (8 - oldOutBits);
284
271
  this.additionalByteView[0] = getLowestNBitsOf(bitBuffer, 8);
285
272
  this.outputBuffer = concatArrayBuffers([this.outputBuffer, this.additionalByte]);
286
273
  this.outputBufferView = new Uint8Array(this.outputBuffer);
@@ -1 +1 @@
1
- {"version":3,"file":"Implode.js","sourceRoot":"","sources":["../../src/simple/Implode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Implode.js","sourceRoot":"","sources":["../../src/simple/Implode.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
+ import { type CompressionType, type DictionarySize } from '../simple/types.js';
1
2
  export declare function explode(input: ArrayBufferLike): ArrayBufferLike;
2
- export declare function implode(input: ArrayBufferLike, compressionType: 'ascii' | 'binary', dictionarySize: 'small' | 'medium' | 'large'): ArrayBufferLike;
3
+ export declare function implode(input: ArrayBufferLike, compressionType: CompressionType, dictionarySize: DictionarySize): ArrayBuffer;
3
4
  export { explode as decompress };
4
5
  export { implode as compress };
5
6
  export { concatArrayBuffers, sliceArrayBufferAt } from '../functions.js';
@@ -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;AAEhD,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,eAAmC,EACnC,cAA4C;IAE5C,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE,cAAc,CAAC,CAAA;IACpE,OAAO,QAAQ,CAAC,YAAY,CAAA;AAC9B,CAAC;AAED,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,CAAA;AAChC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,CAAA;AAE9B,kBAAkB;AAClB,QAAQ;AAER,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,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,YAAY,CAAA;AAC9B,CAAC;AAED,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,CAAA;AAChC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,CAAA;AAE9B,kBAAkB;AAClB,QAAQ;AAER,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export type CompressionType = 'ascii' | 'binary';
2
+ export type DictionarySize = 'small' | 'medium' | 'large';
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/simple/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-pkware",
3
- "version": "5.1.0-alpha.4",
3
+ "version": "5.1.0-alpha.6",
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",