node-pkware 3.0.5 → 4.0.0-alpha.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.
@@ -1,11 +1,9 @@
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) => false | [TResult, T], 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 isFunction(x: any): x is Function;
4
+ export declare function nBitsOfOnes(numberOfBits: number): number;
5
+ export declare function getLowestNBits(numberOfBits: number, number: number): number;
6
+ export declare function toHex(num: number, digits?: number, withoutPrefix?: boolean): string;
7
+ export declare function mergeSparseArrays<T>(a: T[], b: T[]): (T | undefined)[];
8
+ export declare function unfold<T, TResult>(fn: (seed: T) => [TResult, T] | false, seed: T): TResult[];
9
+ export declare function evenAndRemainder(divisor: number, n: number): [number, number];
package/dist/functions.js CHANGED
@@ -1,11 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.evenAndRemainder = exports.unfold = exports.last = exports.mergeSparseArrays = exports.toHex = exports.getLowestNBits = exports.nBitsOfOnes = exports.isFunction = exports.clone = exports.clamp = exports.repeat = void 0;
4
- const repeat = (value, repetitions) => {
5
- return Array(repetitions).fill(value);
6
- };
7
- exports.repeat = repeat;
8
- 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) {
9
9
  if (n < min) {
10
10
  return min;
11
11
  }
@@ -13,61 +13,51 @@ const clamp = (min, max, n) => {
13
13
  return max;
14
14
  }
15
15
  return n;
16
- };
17
- exports.clamp = clamp;
18
- const clone = (data) => {
19
- return JSON.parse(JSON.stringify(data));
20
- };
21
- exports.clone = clone;
22
- const isFunction = (x) => {
16
+ }
17
+ export function isFunction(x) {
23
18
  return Object.prototype.toString.call(x) === '[object Function]';
24
- };
25
- exports.isFunction = isFunction;
26
- const nBitsOfOnes = (numberOfBits) => {
19
+ }
20
+ export function nBitsOfOnes(numberOfBits) {
27
21
  if (!Number.isInteger(numberOfBits) || numberOfBits < 0) {
28
22
  return 0;
29
23
  }
30
24
  return (1 << numberOfBits) - 1;
31
- };
32
- exports.nBitsOfOnes = nBitsOfOnes;
33
- const getLowestNBits = (numberOfBits, number) => {
34
- return number & (0, exports.nBitsOfOnes)(numberOfBits);
35
- };
36
- exports.getLowestNBits = getLowestNBits;
37
- const toHex = (num, digits = 0, withoutPrefix = false) => {
25
+ }
26
+ export function getLowestNBits(numberOfBits, number) {
27
+ return number & nBitsOfOnes(numberOfBits);
28
+ }
29
+ export function toHex(num, digits = 0, withoutPrefix = false) {
38
30
  if (!Number.isInteger(num) || !Number.isInteger(digits) || digits < 0) {
39
31
  return '';
40
32
  }
41
- const prefix = withoutPrefix ? '' : '0x';
33
+ let prefix = '0x';
34
+ if (withoutPrefix) {
35
+ prefix = '';
36
+ }
42
37
  return `${prefix}${num.toString(16).padStart(digits, '0')}`;
43
- };
44
- exports.toHex = toHex;
45
- const mergeSparseArrays = (a, b) => {
46
- const result = [...b, ...(b.length < a.length ? (0, exports.repeat)(undefined, a.length - b.length) : [])];
38
+ }
39
+ export function mergeSparseArrays(a, b) {
40
+ const result = [...b];
41
+ if (b.length < a.length) {
42
+ result.push(...repeat(undefined, a.length - b.length));
43
+ }
47
44
  for (let i = 0; i < a.length; i++) {
48
- if (typeof a[i] !== 'undefined') {
45
+ if (a[i] !== undefined) {
49
46
  result[i] = a[i];
50
47
  }
51
48
  }
52
49
  return result;
53
- };
54
- exports.mergeSparseArrays = mergeSparseArrays;
55
- const last = (arr) => {
56
- return arr[arr.length - 1];
57
- };
58
- exports.last = last;
59
- const unfold = (fn, seed) => {
50
+ }
51
+ export function unfold(fn, seed) {
60
52
  let pair = fn(seed);
61
53
  const result = [];
62
- while (pair && pair.length) {
54
+ while (pair && pair.length > 0) {
63
55
  result[result.length] = pair[0];
64
56
  pair = fn(pair[1]);
65
57
  }
66
58
  return result;
67
- };
68
- exports.unfold = unfold;
69
- const evenAndRemainder = (divisor, n) => {
59
+ }
60
+ export function evenAndRemainder(divisor, n) {
70
61
  return [Math.floor(n / divisor), n % divisor];
71
- };
72
- exports.evenAndRemainder = evenAndRemainder;
62
+ }
73
63
  //# 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":"AAAA,MAAM,UAAU,MAAM,CAAI,KAAQ,EAAE,WAAmB;IACrD,MAAM,MAAM,GAAQ,EAAE,CAAA;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACpB,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAW,EAAE,GAAW,EAAE,CAAS;IACvD,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACZ,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACZ,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,OAAO,CAAC,CAAA;AACV,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,CAAM;IAC/B,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,mBAAmB,CAAA;AAClE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,YAAoB;IAC9C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACxD,OAAO,CAAC,CAAA;IACV,CAAC;IAED,OAAO,CAAC,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,CAAA;AAChC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,YAAoB,EAAE,MAAc;IACjE,OAAO,MAAM,GAAG,WAAW,CAAC,YAAY,CAAC,CAAA;AAC3C,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAW,EAAE,SAAiB,CAAC,EAAE,gBAAyB,KAAK;IACnF,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACtE,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,MAAM,GAAG,IAAI,CAAA;IACjB,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,GAAG,EAAE,CAAA;IACb,CAAC;IAED,OAAO,GAAG,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAA;AAC7D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAI,CAAM,EAAE,CAAM;IACjD,MAAM,MAAM,GAAsB,CAAC,GAAG,CAAC,CAAC,CAAA;IACxC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IACxD,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAClB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,MAAM,CAAa,EAAqC,EAAE,IAAO;IAC/E,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;IACnB,MAAM,MAAM,GAAc,EAAE,CAAA;IAC5B,OAAO,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QAC/B,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IACpB,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,CAAS;IACzD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAA;AAC/C,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,20 +1,19 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import { Compression, DictionarySize } from './constants';
4
- import { Config } from './types';
1
+ import { type Compression, type DictionarySize } from './constants.js';
2
+ import { type StreamHandler } from './stream.js';
3
+ import { type Config } from './types.js';
5
4
  /**
6
5
  * Decompresses stream
7
6
  * @returns a function that you can use as a `transform._transform` method.
8
7
  */
9
- export declare const explode: (config?: Config) => (this: import("stream").Transform, chunk: Buffer, encoding: BufferEncoding, callback: import("stream").TransformCallback) => void;
8
+ export declare function explode(config?: Config): StreamHandler;
10
9
  /**
11
10
  * Compresses stream
12
11
  * @returns a function that you can use as a `transform._transform` method.
13
12
  */
14
- export declare const implode: (compressionType: Compression, dictionarySize: DictionarySize, config?: Config) => (this: import("stream").Transform, chunk: Buffer, encoding: BufferEncoding, callback: import("stream").TransformCallback) => void;
13
+ export declare function implode(compressionType: Compression, dictionarySize: DictionarySize, config?: Config): StreamHandler;
15
14
  export { explode as decompress };
16
15
  export { implode as compress };
17
- export { Compression, DictionarySize } from './constants';
18
- export * as errors from './errors';
19
- export * as stream from './stream';
20
- export type { Config } from './types';
16
+ export { Compression, DictionarySize } from './constants.js';
17
+ export * as errors from './errors.js';
18
+ export * as stream from './stream.js';
19
+ export type { Config } from './types.js';
package/dist/index.js CHANGED
@@ -1,54 +1,24 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.stream = exports.errors = exports.DictionarySize = exports.Compression = exports.compress = exports.decompress = exports.implode = exports.explode = void 0;
27
- const Explode_1 = require("./Explode");
28
- const Implode_1 = require("./Implode");
1
+ import { Explode } from './Explode.js';
2
+ import { Implode } from './Implode.js';
29
3
  /**
30
4
  * Decompresses stream
31
5
  * @returns a function that you can use as a `transform._transform` method.
32
6
  */
33
- const explode = (config = {}) => {
34
- const instance = new Explode_1.Explode(config);
7
+ export function explode(config = {}) {
8
+ const instance = new Explode(config);
35
9
  return instance.getHandler();
36
- };
37
- exports.explode = explode;
38
- exports.decompress = exports.explode;
10
+ }
39
11
  /**
40
12
  * Compresses stream
41
13
  * @returns a function that you can use as a `transform._transform` method.
42
14
  */
43
- const implode = (compressionType, dictionarySize, config = {}) => {
44
- const instance = new Implode_1.Implode(compressionType, dictionarySize, config);
15
+ export function implode(compressionType, dictionarySize, config = {}) {
16
+ const instance = new Implode(compressionType, dictionarySize, config);
45
17
  return instance.getHandler();
46
- };
47
- exports.implode = implode;
48
- exports.compress = exports.implode;
49
- var constants_1 = require("./constants");
50
- Object.defineProperty(exports, "Compression", { enumerable: true, get: function () { return constants_1.Compression; } });
51
- Object.defineProperty(exports, "DictionarySize", { enumerable: true, get: function () { return constants_1.DictionarySize; } });
52
- exports.errors = __importStar(require("./errors"));
53
- exports.stream = __importStar(require("./stream"));
18
+ }
19
+ export { explode as decompress };
20
+ export { implode as compress };
21
+ export { Compression, DictionarySize } from './constants.js';
22
+ export * as errors from './errors.js';
23
+ export * as stream from './stream.js';
54
24
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uCAAmC;AACnC,uCAAmC;AAGnC;;;GAGG;AACI,MAAM,OAAO,GAAG,CAAC,SAAiB,EAAE,EAAE,EAAE;IAC7C,MAAM,QAAQ,GAAG,IAAI,iBAAO,CAAC,MAAM,CAAC,CAAA;IACpC,OAAO,QAAQ,CAAC,UAAU,EAAE,CAAA;AAC9B,CAAC,CAAA;AAHY,QAAA,OAAO,WAGnB;AAWmB,qBAdP,eAAO,CAcU;AAT9B;;;GAGG;AACI,MAAM,OAAO,GAAG,CAAC,eAA4B,EAAE,cAA8B,EAAE,SAAiB,EAAE,EAAE,EAAE;IAC3G,MAAM,QAAQ,GAAG,IAAI,iBAAO,CAAC,eAAe,EAAE,cAAc,EAAE,MAAM,CAAC,CAAA;IACrE,OAAO,QAAQ,CAAC,UAAU,EAAE,CAAA;AAC9B,CAAC,CAAA;AAHY,QAAA,OAAO,WAGnB;AAGmB,mBANP,eAAO,CAMQ;AAE5B,yCAAyD;AAAhD,wGAAA,WAAW,OAAA;AAAE,2GAAA,cAAc,OAAA;AACpC,mDAAkC;AAClC,mDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAIzC;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,SAAiB,EAAE;IACzC,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;IACpC,OAAO,QAAQ,CAAC,UAAU,EAAE,CAAA;AAC9B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO,CACrB,eAA4B,EAC5B,cAA8B,EAC9B,SAAiB,EAAE;IAEnB,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,eAAe,EAAE,cAAc,EAAE,MAAM,CAAC,CAAA;IACrE,OAAO,QAAQ,CAAC,UAAU,EAAE,CAAA;AAC9B,CAAC;AAED,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,CAAA;AAChC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,CAAA;AAE9B,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAA;AACxC,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAA"}
package/dist/stream.d.ts CHANGED
@@ -1,40 +1,46 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import { Transform, Writable, TransformCallback } from 'node:stream';
1
+ import { Transform, Writable, type TransformCallback } from 'node:stream';
2
+ export type StreamHandler = (this: Transform, chunk: Buffer, encoding: BufferEncoding, callback: TransformCallback) => void | Promise<void>;
3
+ type TransformPredicate = (chunk: Buffer) => [Buffer, Buffer, boolean];
4
4
  /**
5
- * 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.
5
+ * Creates a {@link TransformPredicate} function, that awaits Buffers,
6
+ * keeps an internal counter of the bytes from them and splits the appropriate buffer at the given index.
7
+ *
6
8
  * Splitting is done by returning an array with `[left: Buffer, right: Buffer, isLeftDone: bool]`.
7
- * If you want to split data at the 100th byte and you keep feeding 60 byte long buffers to the function returned by `splitAt(100)`, then it will return arrays in the following manner:
9
+ *
10
+ * If you want to split data at the 100th byte and you keep feeding 60 byte long buffers to the function returned by
11
+ * `splitAt(100)`, then it will return arrays in the following manner:
8
12
  * 1. `[inputBuffer, emptyBuffer, false]`
9
13
  * 2. `[inputBuffer.slice(0, 40), inputBuffer.slice(40, 60), true]`
10
14
  * 3. `[emptyBuffer, inputBuffer, true]`
11
15
  * 4. `[emptyBuffer, inputBuffer, true]`
12
16
  * 5. ... and so on
17
+ *
13
18
  * @param index - a positive integer at which to split the buffer
14
19
  */
15
- export declare const splitAt: (index: number) => (chunk: Buffer) => [Buffer, Buffer, boolean];
20
+ export declare function splitAt(index: number): TransformPredicate;
16
21
  /**
17
22
  * A `transform._transform` type function, which lets the input chunks through without any changes
18
23
  */
19
- export declare const transformIdentity: () => (this: Transform, chunk: Buffer, encoding: BufferEncoding, callback: TransformCallback) => void;
24
+ export declare function transformIdentity(): StreamHandler;
20
25
  /**
21
26
  * A `transform._transform` type function, which for every input chunk will output an empty buffer
22
27
  */
23
- export declare const transformEmpty: () => (this: Transform, chunk: Buffer, encoding: BufferEncoding, callback: TransformCallback) => void;
28
+ export declare function transformEmpty(): StreamHandler;
24
29
  /**
25
30
  * Takes a `transform._transform` type function and turns it into a Transform stream instance
26
31
  * @param handler a `transform._transform` type function
27
32
  * @returns a Transform stream instance
28
33
  */
29
- export declare const through: (handler: (this: Transform, chunk: Buffer, encoding: BufferEncoding, callback: TransformCallback) => void) => Transform;
34
+ export declare function through(handler: StreamHandler): Transform;
30
35
  /**
31
36
  * Higher order function for introducing conditional logic to `transform._transform` functions.
32
37
  * This is used internally to handle offsets for `explode()`.
33
38
  * @returns a `transform._transform` type function
34
39
  */
35
- 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;
40
+ export declare function transformSplitBy(predicate: TransformPredicate, leftHandler: StreamHandler, rightHandler: StreamHandler): StreamHandler;
36
41
  /**
37
42
  * Data can be piped to the returned function from a stream and it will concatenate all chunks into a single buffer.
38
43
  * @param done a callback function, which will receive the concatenated buffer as a parameter
39
44
  */
40
- export declare const toBuffer: (done: (buffer: Buffer) => void) => Writable;
45
+ export declare function toBuffer(done: (buffer: Buffer) => void): Writable;
46
+ export {};
package/dist/stream.js CHANGED
@@ -1,48 +1,50 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toBuffer = exports.transformSplitBy = exports.through = exports.transformEmpty = exports.transformIdentity = exports.splitAt = void 0;
4
- const node_stream_1 = require("node:stream");
5
- const node_util_1 = require("node:util");
6
- const functions_1 = require("./functions");
7
- const ExpandingBuffer_1 = require("./ExpandingBuffer");
8
- const constants_1 = require("./constants");
1
+ import { Transform, Writable } from 'node:stream';
2
+ import { promisify } from 'node:util';
3
+ import { isFunction } from './functions.js';
4
+ import { ExpandingBuffer } from './ExpandingBuffer.js';
5
+ import { EMPTY_BUFFER } from './constants.js';
9
6
  class QuasiTransform {
10
- #handler;
11
7
  _flush;
8
+ handler;
12
9
  constructor(handler) {
13
- this.#handler = handler;
10
+ this.handler = handler;
14
11
  }
15
- handle(chunk, encoding) {
16
- return (0, node_util_1.promisify)(this.#handler).call(this, chunk, encoding);
12
+ async handle(chunk, encoding) {
13
+ return promisify(this.handler).call(this, chunk, encoding);
17
14
  }
18
15
  }
19
16
  /**
20
- * 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.
17
+ * Creates a {@link TransformPredicate} function, that awaits Buffers,
18
+ * keeps an internal counter of the bytes from them and splits the appropriate buffer at the given index.
19
+ *
21
20
  * Splitting is done by returning an array with `[left: Buffer, right: Buffer, isLeftDone: bool]`.
22
- * If you want to split data at the 100th byte and you keep feeding 60 byte long buffers to the function returned by `splitAt(100)`, then it will return arrays in the following manner:
21
+ *
22
+ * If you want to split data at the 100th byte and you keep feeding 60 byte long buffers to the function returned by
23
+ * `splitAt(100)`, then it will return arrays in the following manner:
23
24
  * 1. `[inputBuffer, emptyBuffer, false]`
24
25
  * 2. `[inputBuffer.slice(0, 40), inputBuffer.slice(40, 60), true]`
25
26
  * 3. `[emptyBuffer, inputBuffer, true]`
26
27
  * 4. `[emptyBuffer, inputBuffer, true]`
27
28
  * 5. ... and so on
29
+ *
28
30
  * @param index - a positive integer at which to split the buffer
29
31
  */
30
- const splitAt = (index) => {
32
+ export function splitAt(index) {
31
33
  let cntr = 0;
32
- return (chunk) => {
34
+ return function (chunk) {
33
35
  let left;
34
36
  let right;
35
37
  let isLeftDone;
36
38
  if (index <= cntr) {
37
39
  // index ..... cntr ..... chunk.length
38
- left = constants_1.EMPTY_BUFFER;
40
+ left = EMPTY_BUFFER;
39
41
  right = chunk;
40
42
  isLeftDone = true;
41
43
  }
42
44
  else if (index >= cntr + chunk.length) {
43
45
  // cntr ..... chunk.length ..... index
44
46
  left = chunk;
45
- right = constants_1.EMPTY_BUFFER;
47
+ right = EMPTY_BUFFER;
46
48
  isLeftDone = index === cntr + chunk.length;
47
49
  }
48
50
  else {
@@ -51,65 +53,62 @@ const splitAt = (index) => {
51
53
  right = chunk.subarray(index - cntr);
52
54
  isLeftDone = true;
53
55
  }
54
- cntr += chunk.length;
56
+ cntr = cntr + chunk.length;
55
57
  return [left, right, isLeftDone];
56
58
  };
57
- };
58
- exports.splitAt = splitAt;
59
+ }
59
60
  /**
60
61
  * A `transform._transform` type function, which lets the input chunks through without any changes
61
62
  */
62
- const transformIdentity = () => {
63
+ export function transformIdentity() {
63
64
  return function (chunk, encoding, callback) {
64
65
  callback(null, chunk);
65
66
  };
66
- };
67
- exports.transformIdentity = transformIdentity;
67
+ }
68
68
  /**
69
69
  * A `transform._transform` type function, which for every input chunk will output an empty buffer
70
70
  */
71
- const transformEmpty = () => {
71
+ export function transformEmpty() {
72
72
  return function (chunk, encoding, callback) {
73
- callback(null, constants_1.EMPTY_BUFFER);
73
+ callback(null, EMPTY_BUFFER);
74
74
  };
75
- };
76
- exports.transformEmpty = transformEmpty;
75
+ }
77
76
  /**
78
77
  * Takes a `transform._transform` type function and turns it into a Transform stream instance
79
78
  * @param handler a `transform._transform` type function
80
79
  * @returns a Transform stream instance
81
80
  */
82
- const through = (handler) => {
83
- return new node_stream_1.Transform({
81
+ export function through(handler) {
82
+ return new Transform({
84
83
  transform: handler,
85
84
  });
86
- };
87
- exports.through = through;
85
+ }
88
86
  /**
89
87
  * Higher order function for introducing conditional logic to `transform._transform` functions.
90
88
  * This is used internally to handle offsets for `explode()`.
91
89
  * @returns a `transform._transform` type function
92
90
  */
93
- const transformSplitBy = (predicate, leftHandler, rightHandler) => {
91
+ export function transformSplitBy(predicate, leftHandler, rightHandler) {
94
92
  let isFirstChunk = true;
95
93
  let wasLeftFlushCalled = false;
96
- const damChunkSize = 0x10000;
97
- const dam = new ExpandingBuffer_1.ExpandingBuffer();
94
+ const dam = new ExpandingBuffer();
95
+ const damChunkSize = 0x1_00_00;
98
96
  const leftTransform = new QuasiTransform(leftHandler);
99
97
  const rightTransform = new QuasiTransform(rightHandler);
100
- return function (chunk, encoding, callback) {
98
+ return async function (chunk, encoding, callback) {
101
99
  const [left, right, isLeftDone] = predicate(chunk);
102
- const _left = leftTransform.handle(left, encoding);
103
- const _right = rightTransform.handle(right, encoding);
100
+ const transformedLeft = leftTransform.handle(left, encoding);
101
+ const transformedRight = rightTransform.handle(right, encoding);
102
+ const transformInstance = this;
104
103
  if (isFirstChunk) {
105
104
  isFirstChunk = false;
106
- this._flush = (flushCallback) => {
105
+ transformInstance._flush = async function (flushCallback) {
107
106
  if (!dam.isEmpty()) {
108
- this.push(dam.read());
107
+ transformInstance.push(dam.read());
109
108
  }
110
109
  const leftFiller = new Promise((resolve, reject) => {
111
- if (wasLeftFlushCalled || !(0, functions_1.isFunction)(leftTransform._flush)) {
112
- resolve(constants_1.EMPTY_BUFFER);
110
+ if (wasLeftFlushCalled || !isFunction(leftTransform._flush)) {
111
+ resolve(EMPTY_BUFFER);
113
112
  return;
114
113
  }
115
114
  leftTransform._flush((err, data) => {
@@ -122,8 +121,8 @@ const transformSplitBy = (predicate, leftHandler, rightHandler) => {
122
121
  });
123
122
  });
124
123
  const rightFiller = new Promise((resolve, reject) => {
125
- if (!(0, functions_1.isFunction)(rightTransform._flush)) {
126
- resolve(constants_1.EMPTY_BUFFER);
124
+ if (!isFunction(rightTransform._flush)) {
125
+ resolve(EMPTY_BUFFER);
127
126
  return;
128
127
  }
129
128
  rightTransform._flush((err, data) => {
@@ -135,18 +134,17 @@ const transformSplitBy = (predicate, leftHandler, rightHandler) => {
135
134
  }
136
135
  });
137
136
  });
138
- Promise.all([leftFiller, rightFiller])
139
- .then((buffers) => {
140
- // TODO: TransformCallback assumes the returned data is any instead of Buffer
137
+ try {
138
+ const buffers = await Promise.all([leftFiller, rightFiller]);
141
139
  flushCallback(null, Buffer.concat(buffers));
142
- })
143
- .catch((err) => {
144
- flushCallback(err);
145
- });
140
+ }
141
+ catch (error) {
142
+ flushCallback(error);
143
+ }
146
144
  };
147
145
  }
148
146
  const filler = new Promise((resolve, reject) => {
149
- if (isLeftDone && !wasLeftFlushCalled && (0, functions_1.isFunction)(leftTransform._flush)) {
147
+ if (isLeftDone && !wasLeftFlushCalled && isFunction(leftTransform._flush)) {
150
148
  wasLeftFlushCalled = true;
151
149
  leftTransform._flush((err, data) => {
152
150
  if (err) {
@@ -158,39 +156,37 @@ const transformSplitBy = (predicate, leftHandler, rightHandler) => {
158
156
  });
159
157
  }
160
158
  else {
161
- resolve(constants_1.EMPTY_BUFFER);
159
+ resolve(EMPTY_BUFFER);
162
160
  }
163
161
  });
164
- Promise.all([_left, filler, _right])
165
- .then((buffers) => {
166
- // TODO: TransformCallback assumes the returned data is any instead of Buffer
162
+ try {
163
+ const buffers = await Promise.all([transformedLeft, filler, transformedRight]);
167
164
  dam.append(Buffer.concat(buffers));
168
165
  if (dam.size() > damChunkSize) {
169
166
  const chunks = Math.floor(dam.size() / damChunkSize);
170
167
  const data = Buffer.from(dam.read(0, chunks * damChunkSize));
171
168
  dam.flushStart(chunks * damChunkSize);
172
169
  for (let i = 0; i < chunks - 1; i++) {
173
- this.push(data.subarray(i * damChunkSize, i * damChunkSize + damChunkSize));
170
+ transformInstance.push(data.subarray(i * damChunkSize, i * damChunkSize + damChunkSize));
174
171
  }
175
172
  callback(null, data.subarray((chunks - 1) * damChunkSize));
176
173
  }
177
174
  else {
178
- callback(null, constants_1.EMPTY_BUFFER);
175
+ callback(null, EMPTY_BUFFER);
179
176
  }
180
- })
181
- .catch((err) => {
182
- callback(err);
183
- });
177
+ }
178
+ catch (error) {
179
+ callback(error);
180
+ }
184
181
  };
185
- };
186
- exports.transformSplitBy = transformSplitBy;
182
+ }
187
183
  /**
188
184
  * Data can be piped to the returned function from a stream and it will concatenate all chunks into a single buffer.
189
185
  * @param done a callback function, which will receive the concatenated buffer as a parameter
190
186
  */
191
- const toBuffer = (done) => {
192
- const buffer = new ExpandingBuffer_1.ExpandingBuffer();
193
- return new node_stream_1.Writable({
187
+ export function toBuffer(done) {
188
+ const buffer = new ExpandingBuffer();
189
+ return new Writable({
194
190
  write(chunk, encoding, callback) {
195
191
  buffer.append(chunk);
196
192
  callback();
@@ -200,6 +196,5 @@ const toBuffer = (done) => {
200
196
  callback();
201
197
  },
202
198
  });
203
- };
204
- exports.toBuffer = toBuffer;
199
+ }
205
200
  //# sourceMappingURL=stream.js.map
@@ -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":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAA0B,MAAM,aAAa,CAAA;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAWhD,MAAM,cAAc;IAClB,MAAM,CAAwC;IAE7B,OAAO,CAAe;IAEvC,YAAY,OAAsB;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,QAAwB;QAClD,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAoB,CAAA;IAC/E,CAAC;CACF;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,OAAO,CAAC,KAAa;IACnC,IAAI,IAAI,GAAG,CAAC,CAAA;IAEZ,OAAO,UAAU,KAAa;QAC5B,IAAI,IAAY,CAAA;QAChB,IAAI,KAAa,CAAA;QACjB,IAAI,UAAmB,CAAA;QAEvB,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,sCAAsC;YACtC,IAAI,GAAG,YAAY,CAAA;YACnB,KAAK,GAAG,KAAK,CAAA;YACb,UAAU,GAAG,IAAI,CAAA;QACnB,CAAC;aAAM,IAAI,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACxC,sCAAsC;YACtC,IAAI,GAAG,KAAK,CAAA;YACZ,KAAK,GAAG,YAAY,CAAA;YACpB,UAAU,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,MAAM,CAAA;QAC5C,CAAC;aAAM,CAAC;YACN,sCAAsC;YACtC,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,CAAA;YACtC,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,CAAA;YACpC,UAAU,GAAG,IAAI,CAAA;QACnB,CAAC;QAED,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC,MAAM,CAAA;QAE1B,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;IAClC,CAAC,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,UAA2B,KAAa,EAAE,QAAwB,EAAE,QAA2B;QACpG,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACvB,CAAC,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,UAA2B,KAAa,EAAE,QAAwB,EAAE,QAA2B;QACpG,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;IAC9B,CAAC,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,OAAsB;IAC5C,OAAO,IAAI,SAAS,CAAC;QACnB,SAAS,EAAE,OAAO;KACnB,CAAC,CAAA;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAA6B,EAC7B,WAA0B,EAC1B,YAA2B;IAE3B,IAAI,YAAY,GAAG,IAAI,CAAA;IACvB,IAAI,kBAAkB,GAAG,KAAK,CAAA;IAE9B,MAAM,GAAG,GAAG,IAAI,eAAe,EAAE,CAAA;IACjC,MAAM,YAAY,GAAG,SAAS,CAAA;IAE9B,MAAM,aAAa,GAAG,IAAI,cAAc,CAAC,WAAW,CAAC,CAAA;IACrD,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,YAAY,CAAC,CAAA;IAEvD,OAAO,KAAK,WAEV,KAAa,EACb,QAAwB,EACxB,QAA2B;QAE3B,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;QAElD,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC5D,MAAM,gBAAgB,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAE/D,MAAM,iBAAiB,GAAG,IAAI,CAAA;QAE9B,IAAI,YAAY,EAAE,CAAC;YACjB,YAAY,GAAG,KAAK,CAAA;YACpB,iBAAiB,CAAC,MAAM,GAAG,KAAK,WAAW,aAAgC;gBACzE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;oBACnB,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;gBACpC,CAAC;gBAED,MAAM,UAAU,GAAG,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBACzD,IAAI,kBAAkB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC5D,OAAO,CAAC,YAAY,CAAC,CAAA;wBACrB,OAAM;oBACR,CAAC;oBAED,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;wBACjC,IAAI,GAAG,EAAE,CAAC;4BACR,MAAM,CAAC,GAAG,CAAC,CAAA;wBACb,CAAC;6BAAM,CAAC;4BACN,OAAO,CAAC,IAAI,CAAC,CAAA;wBACf,CAAC;oBACH,CAAC,CAAC,CAAA;gBACJ,CAAC,CAAC,CAAA;gBAEF,MAAM,WAAW,GAAG,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC1D,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;wBACvC,OAAO,CAAC,YAAY,CAAC,CAAA;wBACrB,OAAM;oBACR,CAAC;oBAED,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;wBAClC,IAAI,GAAG,EAAE,CAAC;4BACR,MAAM,CAAC,GAAG,CAAC,CAAA;wBACb,CAAC;6BAAM,CAAC;4BACN,OAAO,CAAC,IAAI,CAAC,CAAA;wBACf,CAAC;oBACH,CAAC,CAAC,CAAA;gBACJ,CAAC,CAAC,CAAA;gBAEF,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAA;oBAC5D,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;gBAC7C,CAAC;gBAAC,OAAO,KAAc,EAAE,CAAC;oBACxB,aAAa,CAAC,KAAc,CAAC,CAAA;gBAC/B,CAAC;YACH,CAAC,CAAA;QACH,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrD,IAAI,UAAU,IAAI,CAAC,kBAAkB,IAAI,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1E,kBAAkB,GAAG,IAAI,CAAA;gBACzB,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;oBACjC,IAAI,GAAG,EAAE,CAAC;wBACR,MAAM,CAAC,GAAG,CAAC,CAAA;oBACb,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,IAAI,CAAC,CAAA;oBACf,CAAC;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,YAAY,CAAC,CAAA;YACvB,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,eAAe,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAA;YAC9E,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;YAClC,IAAI,GAAG,CAAC,IAAI,EAAE,GAAG,YAAY,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,YAAY,CAAC,CAAA;gBACpD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC,CAAA;gBAC5D,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,YAAY,CAAC,CAAA;gBACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBACpC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,YAAY,EAAE,CAAC,GAAG,YAAY,GAAG,YAAY,CAAC,CAAC,CAAA;gBAC1F,CAAC;gBAED,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAA;YAC5D,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;YAC9B,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,QAAQ,CAAC,KAAc,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,IAA8B;IACrD,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;IAEpC,OAAO,IAAI,QAAQ,CAAC;QAClB,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ;YAC7B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACpB,QAAQ,EAAE,CAAA;QACZ,CAAC;QACD,KAAK,CAAC,QAAQ;YACZ,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;YACtB,QAAQ,EAAE,CAAA;QACZ,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
package/dist/types.js CHANGED
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=types.js.map