node-pkware 4.0.0-alpha.1 → 4.0.0-alpha.3

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.
@@ -1,6 +1,9 @@
1
1
  import { Buffer } from 'node:buffer';
2
2
  export declare class ExpandingBuffer {
3
- #private;
3
+ private heap;
4
+ private startIndex;
5
+ private endIndex;
6
+ private readonly backup;
4
7
  constructor(numberOfBytes?: number);
5
8
  /**
6
9
  * Returns the number of bytes in the stored data.
@@ -19,7 +22,7 @@ export declare class ExpandingBuffer {
19
22
  setByte(offset: number, value: number): void;
20
23
  /**
21
24
  * Adds a single byte to the end of the stored data.
22
- * This expands the internal buffer by 0x1000 bytes if the heap is full
25
+ * This expands the internal buffer by 0x10_00 bytes if the heap is full
23
26
  */
24
27
  appendByte(value: number): void;
25
28
  /**
@@ -80,4 +83,5 @@ export declare class ExpandingBuffer {
80
83
  clear(): void;
81
84
  saveIndices(): void;
82
85
  restoreIndices(): void;
86
+ private getActualData;
83
87
  }
@@ -3,24 +3,24 @@ import { EMPTY_BUFFER } from './constants.js';
3
3
  import { clamp } from './functions.js';
4
4
  const blockSize = 0x10_00;
5
5
  export class ExpandingBuffer {
6
- #heap;
7
- #startIndex = 0;
8
- #endIndex = 0;
9
- #backup = {
10
- startIndex: 0,
11
- endIndex: 0,
12
- };
6
+ heap;
7
+ startIndex = 0;
8
+ endIndex = 0;
9
+ backup;
13
10
  constructor(numberOfBytes = 0) {
14
- this.#heap = Buffer.allocUnsafe(numberOfBytes);
15
- }
16
- #getActualData(offset = 0) {
17
- return this.#heap.subarray(this.#startIndex + offset, this.#endIndex);
11
+ this.heap = Buffer.allocUnsafe(numberOfBytes);
12
+ this.startIndex = 0;
13
+ this.endIndex = 0;
14
+ this.backup = {
15
+ startIndex: 0,
16
+ endIndex: 0,
17
+ };
18
18
  }
19
19
  /**
20
20
  * Returns the number of bytes in the stored data.
21
21
  */
22
22
  size() {
23
- return this.#endIndex - this.#startIndex;
23
+ return this.endIndex - this.startIndex;
24
24
  }
25
25
  isEmpty() {
26
26
  return this.size() === 0;
@@ -29,7 +29,7 @@ export class ExpandingBuffer {
29
29
  * Returns the underlying Buffer's (heap) size.
30
30
  */
31
31
  heapSize() {
32
- return this.#heap.byteLength;
32
+ return this.heap.byteLength;
33
33
  }
34
34
  /**
35
35
  * Sets a single byte of the stored data
@@ -38,32 +38,32 @@ export class ExpandingBuffer {
38
38
  */
39
39
  setByte(offset, value) {
40
40
  if (offset < 0) {
41
- if (this.#endIndex + offset < this.#startIndex) {
41
+ if (this.endIndex + offset < this.startIndex) {
42
42
  return;
43
43
  }
44
- this.#heap[this.#endIndex + offset] = value;
44
+ this.heap[this.endIndex + offset] = value;
45
45
  return;
46
46
  }
47
- if (this.#startIndex + offset >= this.#endIndex) {
48
- this.#heap[this.#startIndex + offset] = value;
47
+ if (this.startIndex + offset >= this.endIndex) {
48
+ this.heap[this.startIndex + offset] = value;
49
49
  }
50
50
  }
51
51
  /**
52
52
  * Adds a single byte to the end of the stored data.
53
- * This expands the internal buffer by 0x1000 bytes if the heap is full
53
+ * This expands the internal buffer by 0x10_00 bytes if the heap is full
54
54
  */
55
55
  appendByte(value) {
56
- if (this.#endIndex + 1 < this.heapSize()) {
57
- this.#heap[this.#endIndex] = value;
58
- this.#endIndex += 1;
56
+ if (this.endIndex + 1 < this.heapSize()) {
57
+ this.heap[this.endIndex] = value;
58
+ this.endIndex = this.endIndex + 1;
59
59
  return;
60
60
  }
61
- const currentData = this.#getActualData();
62
- this.#heap = Buffer.allocUnsafe((Math.ceil((currentData.byteLength + 1) / blockSize) + 1) * blockSize);
63
- currentData.copy(this.#heap, 0);
64
- this.#heap[currentData.byteLength] = value;
65
- this.#startIndex = 0;
66
- this.#endIndex = currentData.byteLength + 1;
61
+ const currentData = this.getActualData();
62
+ this.heap = Buffer.allocUnsafe((Math.ceil((currentData.byteLength + 1) / blockSize) + 1) * blockSize);
63
+ currentData.copy(this.heap, 0);
64
+ this.heap[currentData.byteLength] = value;
65
+ this.startIndex = 0;
66
+ this.endIndex = currentData.byteLength + 1;
67
67
  }
68
68
  /**
69
69
  * Concatenates a buffer to the end of the stored data.
@@ -71,17 +71,17 @@ export class ExpandingBuffer {
71
71
  * gets expanded by the integer multiples of 0x1000 bytes
72
72
  */
73
73
  append(newData) {
74
- if (this.#endIndex + newData.byteLength < this.heapSize()) {
75
- newData.copy(this.#heap, this.#endIndex);
76
- this.#endIndex += newData.byteLength;
74
+ if (this.endIndex + newData.byteLength < this.heapSize()) {
75
+ newData.copy(this.heap, this.endIndex);
76
+ this.endIndex = this.endIndex + newData.byteLength;
77
77
  return;
78
78
  }
79
- const currentData = this.#getActualData();
80
- this.#heap = Buffer.allocUnsafe((Math.ceil((currentData.byteLength + newData.byteLength) / blockSize) + 1) * blockSize);
81
- currentData.copy(this.#heap, 0);
82
- newData.copy(this.#heap, currentData.byteLength);
83
- this.#startIndex = 0;
84
- this.#endIndex = currentData.byteLength + newData.byteLength;
79
+ const currentData = this.getActualData();
80
+ this.heap = Buffer.allocUnsafe((Math.ceil((currentData.byteLength + newData.byteLength) / blockSize) + 1) * blockSize);
81
+ currentData.copy(this.heap, 0);
82
+ newData.copy(this.heap, currentData.byteLength);
83
+ this.startIndex = 0;
84
+ this.endIndex = currentData.byteLength + newData.byteLength;
85
85
  }
86
86
  /**
87
87
  * Returns a slice of data from the internal data.
@@ -97,15 +97,15 @@ export class ExpandingBuffer {
97
97
  return EMPTY_BUFFER;
98
98
  }
99
99
  if (offset + limit < this.size()) {
100
- return this.#heap.subarray(this.#startIndex + offset, this.#startIndex + limit + offset);
100
+ return this.heap.subarray(this.startIndex + offset, this.startIndex + limit + offset);
101
101
  }
102
- return this.#getActualData(offset);
102
+ return this.getActualData(offset);
103
103
  }
104
104
  /**
105
105
  * Reads a single byte from the stored data
106
106
  */
107
107
  readByte(offset = 0) {
108
- return this.#heap[this.#startIndex + offset];
108
+ return this.heap[this.startIndex + offset];
109
109
  }
110
110
  /**
111
111
  * Does hard delete
@@ -118,10 +118,10 @@ export class ExpandingBuffer {
118
118
  numberOfBytes = clamp(0, this.heapSize(), numberOfBytes);
119
119
  if (numberOfBytes > 0) {
120
120
  if (numberOfBytes < this.heapSize()) {
121
- this.#heap.copy(this.#heap, 0, this.#startIndex + numberOfBytes);
121
+ this.heap.copy(this.heap, 0, this.startIndex + numberOfBytes);
122
122
  }
123
- this.#endIndex -= this.#startIndex + numberOfBytes;
124
- this.#startIndex = 0;
123
+ this.endIndex = this.endIndex - (this.startIndex + numberOfBytes);
124
+ this.startIndex = 0;
125
125
  }
126
126
  }
127
127
  /**
@@ -133,7 +133,7 @@ export class ExpandingBuffer {
133
133
  flushEnd(numberOfBytes) {
134
134
  const clampedNumberOfBytes = clamp(0, this.heapSize(), numberOfBytes);
135
135
  if (clampedNumberOfBytes > 0) {
136
- this.#endIndex -= clampedNumberOfBytes;
136
+ this.endIndex = this.endIndex - clampedNumberOfBytes;
137
137
  }
138
138
  }
139
139
  /**
@@ -147,8 +147,8 @@ export class ExpandingBuffer {
147
147
  if (numberOfBytes <= 0) {
148
148
  return;
149
149
  }
150
- this.#startIndex += numberOfBytes;
151
- if (this.#startIndex >= this.#endIndex) {
150
+ this.startIndex = this.startIndex + numberOfBytes;
151
+ if (this.startIndex >= this.endIndex) {
152
152
  this.clear();
153
153
  }
154
154
  }
@@ -163,8 +163,8 @@ export class ExpandingBuffer {
163
163
  if (numberOfBytes <= 0) {
164
164
  return;
165
165
  }
166
- this.#endIndex -= numberOfBytes;
167
- if (this.#startIndex >= this.#endIndex) {
166
+ this.endIndex = this.endIndex - numberOfBytes;
167
+ if (this.startIndex >= this.endIndex) {
168
168
  this.clear();
169
169
  }
170
170
  }
@@ -172,19 +172,22 @@ export class ExpandingBuffer {
172
172
  * returns the internal buffer
173
173
  */
174
174
  getHeap() {
175
- return this.#heap;
175
+ return this.heap;
176
176
  }
177
177
  clear() {
178
- this.#startIndex = 0;
179
- this.#endIndex = 0;
178
+ this.startIndex = 0;
179
+ this.endIndex = 0;
180
180
  }
181
181
  saveIndices() {
182
- this.#backup.startIndex = this.#startIndex;
183
- this.#backup.endIndex = this.#endIndex;
182
+ this.backup.startIndex = this.startIndex;
183
+ this.backup.endIndex = this.endIndex;
184
184
  }
185
185
  restoreIndices() {
186
- this.#startIndex = this.#backup.startIndex;
187
- this.#endIndex = this.#backup.endIndex;
186
+ this.startIndex = this.backup.startIndex;
187
+ this.endIndex = this.backup.endIndex;
188
+ }
189
+ getActualData(offset = 0) {
190
+ return this.heap.subarray(this.startIndex + offset, this.endIndex);
188
191
  }
189
192
  }
190
193
  //# sourceMappingURL=ExpandingBuffer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExpandingBuffer.js","sourceRoot":"","sources":["../src/ExpandingBuffer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExpandingBuffer.js","sourceRoot":"","sources":["../src/ExpandingBuffer.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export declare const parseNumberString: (n?: string, defaultValue?: number) => number;
2
- export declare const getPackageVersion: () => Promise<string>;
3
- export declare const getInputStream: (filename?: string) => Promise<NodeJS.ReadableStream>;
4
- export declare const getOutputStream: (filename?: string) => Promise<NodeJS.WritableStream>;
1
+ export declare function parseNumberString(n?: string, defaultValue?: number): number;
2
+ export declare function getPackageVersion(): Promise<string>;
3
+ export declare function getInputStream(filename?: string): Promise<NodeJS.ReadableStream>;
4
+ export declare function getOutputStream(filename?: string): Promise<NodeJS.WritableStream>;
@@ -1,44 +1,44 @@
1
1
  import fs from 'node:fs';
2
2
  import path from 'node:path';
3
3
  import process from 'node:process';
4
- const isDecimalString = (input) => {
4
+ function isDecimalString(input) {
5
5
  return /^\d+$/.test(input);
6
- };
7
- const isFullHexString = (input) => {
8
- return /^\s*0x[0-9a-f]+\s*$/.test(input);
9
- };
10
- export const parseNumberString = (n, defaultValue = 0) => {
11
- if (typeof n === 'undefined') {
6
+ }
7
+ function isFullHexString(input) {
8
+ return /^\s*0x[\da-f]+\s*$/.test(input);
9
+ }
10
+ export function parseNumberString(n, defaultValue = 0) {
11
+ if (n === undefined) {
12
12
  return defaultValue;
13
13
  }
14
14
  if (isDecimalString(n)) {
15
- return parseInt(n);
15
+ return Number.parseInt(n, 10);
16
16
  }
17
17
  if (isFullHexString(n)) {
18
- return parseInt(n.replace(/^0x/, ''), 16);
18
+ return Number.parseInt(n.replace(/^0x/, ''), 16);
19
19
  }
20
20
  return defaultValue;
21
- };
22
- export const getPackageVersion = async () => {
21
+ }
22
+ export async function getPackageVersion() {
23
23
  try {
24
- const rawIn = await fs.promises.readFile(path.resolve(__dirname, '../../package.json'), 'utf-8');
24
+ const rawIn = await fs.promises.readFile(path.resolve(__dirname, '../../package.json'), 'utf8');
25
25
  const { version } = JSON.parse(rawIn);
26
26
  return version;
27
27
  }
28
- catch (error) {
28
+ catch {
29
29
  return 'unknown';
30
30
  }
31
- };
32
- const fileExists = async (filename) => {
31
+ }
32
+ async function fileExists(filename) {
33
33
  try {
34
34
  await fs.promises.access(filename, fs.constants.R_OK);
35
35
  return true;
36
36
  }
37
- catch (error) {
37
+ catch {
38
38
  return false;
39
39
  }
40
- };
41
- export const getInputStream = async (filename) => {
40
+ }
41
+ export async function getInputStream(filename) {
42
42
  if (filename === undefined) {
43
43
  process.stdin.resume();
44
44
  return process.stdin;
@@ -47,11 +47,11 @@ export const getInputStream = async (filename) => {
47
47
  return fs.createReadStream(filename);
48
48
  }
49
49
  throw new Error('input file does not exist');
50
- };
51
- export const getOutputStream = async (filename) => {
50
+ }
51
+ export async function getOutputStream(filename) {
52
52
  if (filename === undefined) {
53
53
  return process.stdout;
54
54
  }
55
55
  return fs.createWriteStream(filename);
56
- };
56
+ }
57
57
  //# sourceMappingURL=helpers.js.map
@@ -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;AAElC,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,EAAE;IACxC,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC5B,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,EAAE;IACxC,OAAO,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC1C,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAU,EAAE,eAAuB,CAAC,EAAE,EAAE;IACxE,IAAI,OAAO,CAAC,KAAK,WAAW,EAAE,CAAC;QAC7B,OAAO,YAAY,CAAA;IACrB,CAAC;IAED,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;QACvB,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAA;IACpB,CAAC;IAED,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;QACvB,OAAO,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;IAC3C,CAAC;IAED,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;IAC1C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC,CAAA;QAChG,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAwB,CAAA;QAC5D,OAAO,OAAO,CAAA;IAChB,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,KAAK,EAAE,QAAgB,EAAE,EAAE;IAC5C,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,OAAO,KAAc,EAAE,CAAC;QACxB,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,QAAiB,EAAkC,EAAE;IACxF,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,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,QAAiB,EAAkC,EAAE;IACzF,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,CAAA"}
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;AAElC,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,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,EAAE,MAAM,CAAC,CAAA;QAC/F,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,11 +1,24 @@
1
- export declare const repeat: <T>(value: T, repetitions: number) => T[];
2
- export declare const clamp: (min: number, max: number, n: number) => number;
3
- export declare const clone: <T>(data: T) => T;
4
- export declare const isFunction: (x: any) => x is Function;
5
- export declare const nBitsOfOnes: (numberOfBits: number) => number;
6
- export declare const getLowestNBits: (numberOfBits: number, number: number) => number;
7
- export declare const toHex: (num: number, digits?: number, withoutPrefix?: boolean) => string;
8
- export declare const mergeSparseArrays: <T>(a: T[], b: T[]) => (T | undefined)[];
9
- export declare const last: <T>(arr: T[]) => T;
10
- export declare const unfold: <T, TResult>(fn: (seed: T) => [TResult, T] | false, seed: T) => TResult[];
11
- export declare const evenAndRemainder: (divisor: number, n: number) => [number, number];
1
+ export declare function repeat<T>(value: T, repetitions: number): T[];
2
+ export declare function clamp(min: number, max: number, n: number): number;
3
+ export declare function clone<T>(data: T): T;
4
+ /**
5
+ * @see https://github.com/ramda/ramda/blob/master/source/internal/_isFunction.js
6
+ */
7
+ export declare function isFunction(x: any): x is Function;
8
+ /**
9
+ * @example
10
+ * ```js
11
+ * nBitsOfOnes(3) === 0b00000111
12
+ * nBitsOfOnes(7) === 0b01111111
13
+ * ```
14
+ */
15
+ export declare function nBitsOfOnes(numberOfBits: number): number;
16
+ export declare function getLowestNBits(numberOfBits: number, number: number): number;
17
+ export declare function toHex(num: number, digits?: number, withoutPrefix?: boolean): string;
18
+ export declare function mergeSparseArrays<T>(a: T[], b: T[]): (T | undefined)[];
19
+ export declare function last<T>(arr: T[]): T;
20
+ /**
21
+ * @see https://github.com/ramda/ramda/blob/master/source/unfold.js
22
+ */
23
+ export declare function unfold<T, TResult>(fn: (seed: T) => [TResult, T] | false, seed: T): TResult[];
24
+ export declare function evenAndRemainder(divisor: number, n: number): [number, number];
package/dist/functions.js CHANGED
@@ -1,7 +1,11 @@
1
- export const repeat = (value, repetitions) => {
2
- return Array(repetitions).fill(value);
3
- };
4
- export const clamp = (min, max, n) => {
1
+ export function repeat(value, repetitions) {
2
+ const values = [];
3
+ for (let i = 0; i < repetitions; i++) {
4
+ values.push(value);
5
+ }
6
+ return values;
7
+ }
8
+ export function clamp(min, max, n) {
5
9
  if (n < min) {
6
10
  return min;
7
11
  }
@@ -9,51 +13,64 @@ export const clamp = (min, max, n) => {
9
13
  return max;
10
14
  }
11
15
  return n;
12
- };
13
- export const clone = (data) => {
16
+ }
17
+ export function clone(data) {
14
18
  return JSON.parse(JSON.stringify(data));
15
- };
16
- export const isFunction = (x) => {
19
+ }
20
+ /**
21
+ * @see https://github.com/ramda/ramda/blob/master/source/internal/_isFunction.js
22
+ */
23
+ export function isFunction(x) {
17
24
  return Object.prototype.toString.call(x) === '[object Function]';
18
- };
19
- export const nBitsOfOnes = (numberOfBits) => {
25
+ }
26
+ /**
27
+ * @example
28
+ * ```js
29
+ * nBitsOfOnes(3) === 0b00000111
30
+ * nBitsOfOnes(7) === 0b01111111
31
+ * ```
32
+ */
33
+ export function nBitsOfOnes(numberOfBits) {
20
34
  if (!Number.isInteger(numberOfBits) || numberOfBits < 0) {
21
35
  return 0;
22
36
  }
23
37
  return (1 << numberOfBits) - 1;
24
- };
25
- export const getLowestNBits = (numberOfBits, number) => {
38
+ }
39
+ export function getLowestNBits(numberOfBits, number) {
26
40
  return number & nBitsOfOnes(numberOfBits);
27
- };
28
- export const toHex = (num, digits = 0, withoutPrefix = false) => {
41
+ }
42
+ export function toHex(num, digits = 0, withoutPrefix = false) {
29
43
  if (!Number.isInteger(num) || !Number.isInteger(digits) || digits < 0) {
30
44
  return '';
31
45
  }
32
46
  const prefix = withoutPrefix ? '' : '0x';
33
47
  return `${prefix}${num.toString(16).padStart(digits, '0')}`;
34
- };
35
- export const mergeSparseArrays = (a, b) => {
48
+ }
49
+ export function mergeSparseArrays(a, b) {
36
50
  const result = [...b, ...(b.length < a.length ? repeat(undefined, a.length - b.length) : [])];
37
51
  for (let i = 0; i < a.length; i++) {
38
- if (typeof a[i] !== 'undefined') {
52
+ if (a[i] !== undefined) {
39
53
  result[i] = a[i];
40
54
  }
41
55
  }
42
56
  return result;
43
- };
44
- export const last = (arr) => {
57
+ }
58
+ export function last(arr) {
45
59
  return arr[arr.length - 1];
46
- };
47
- export const unfold = (fn, seed) => {
60
+ }
61
+ /**
62
+ * @see https://github.com/ramda/ramda/blob/master/source/unfold.js
63
+ */
64
+ export function unfold(fn, seed) {
48
65
  let pair = fn(seed);
49
66
  const result = [];
50
- while (pair && pair.length) {
67
+ while (pair && pair.length > 0) {
51
68
  result[result.length] = pair[0];
52
69
  pair = fn(pair[1]);
53
70
  }
54
71
  return result;
55
- };
56
- export const evenAndRemainder = (divisor, n) => {
72
+ }
73
+ export function evenAndRemainder(divisor, n) {
57
74
  return [Math.floor(n / divisor), n % divisor];
58
- };
75
+ }
59
76
  //# sourceMappingURL=functions.js.map
@@ -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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"}
package/dist/stream.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { Transform, Writable, type TransformCallback } from 'node:stream';
2
+ export type StreamHandler = (this: Transform, chunk: Buffer, encoding: BufferEncoding, callback: TransformCallback) => void | Promise<void>;
2
3
  /**
3
4
  * Creates a "**predicate**" function, that awaits Buffers, keeps an internal counter of the bytes from them and splits the appropriate buffer at the given index.
4
5
  * Splitting is done by returning an array with `[left: Buffer, right: Buffer, isLeftDone: bool]`.
@@ -24,13 +25,13 @@ export declare const transformEmpty: () => (this: Transform, chunk: Buffer, enco
24
25
  * @param handler a `transform._transform` type function
25
26
  * @returns a Transform stream instance
26
27
  */
27
- export declare const through: (handler: (this: Transform, chunk: Buffer, encoding: BufferEncoding, callback: TransformCallback) => void) => Transform;
28
+ export declare const through: (handler: StreamHandler) => Transform;
28
29
  /**
29
30
  * Higher order function for introducing conditional logic to `transform._transform` functions.
30
31
  * This is used internally to handle offsets for `explode()`.
31
32
  * @returns a `transform._transform` type function
32
33
  */
33
- export declare const transformSplitBy: (predicate: (chunk: Buffer) => [Buffer, Buffer, boolean], leftHandler: (this: Transform, chunk: Buffer, encoding: BufferEncoding, callback: TransformCallback) => void, rightHandler: (this: Transform, chunk: Buffer, encoding: BufferEncoding, callback: TransformCallback) => void) => (this: Transform, chunk: Buffer, encoding: BufferEncoding, callback: TransformCallback) => void;
34
+ export declare const transformSplitBy: (predicate: (chunk: Buffer) => [Buffer, Buffer, boolean], leftHandler: StreamHandler, rightHandler: StreamHandler) => (this: Transform, chunk: Buffer, encoding: BufferEncoding, callback: TransformCallback) => void;
34
35
  /**
35
36
  * Data can be piped to the returned function from a stream and it will concatenate all chunks into a single buffer.
36
37
  * @param done a callback function, which will receive the concatenated buffer as a parameter
@@ -1 +1 @@
1
- {"version":3,"file":"stream.js","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream.js","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-pkware",
3
- "version": "4.0.0-alpha.1",
3
+ "version": "4.0.0-alpha.3",
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",