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.
- package/dist/ExpandingBuffer.d.ts +5 -2
- package/dist/ExpandingBuffer.js +58 -62
- package/dist/ExpandingBuffer.js.map +1 -1
- package/dist/Explode.d.ts +39 -4
- package/dist/Explode.js +170 -171
- package/dist/Explode.js.map +1 -1
- package/dist/Implode.d.ts +36 -7
- package/dist/Implode.js +165 -158
- package/dist/Implode.js.map +1 -1
- package/dist/bin/explode.js +47 -48
- package/dist/bin/explode.js.map +1 -1
- package/dist/bin/helpers.d.ts +4 -8
- package/dist/bin/helpers.js +31 -39
- package/dist/bin/helpers.js.map +1 -1
- package/dist/bin/implode.js +85 -61
- package/dist/bin/implode.js.map +1 -1
- package/dist/constants.d.ts +0 -1
- package/dist/constants.js +49 -52
- package/dist/constants.js.map +1 -1
- package/dist/errors.js +4 -11
- package/dist/errors.js.map +1 -1
- package/dist/functions.d.ts +9 -11
- package/dist/functions.js +34 -44
- package/dist/functions.js.map +1 -1
- package/dist/index.d.ts +9 -10
- package/dist/index.js +13 -43
- package/dist/index.js.map +1 -1
- package/dist/stream.d.ts +17 -11
- package/dist/stream.js +64 -69
- package/dist/stream.js.map +1 -1
- package/dist/types.js +1 -2
- package/package.json +13 -6
- package/dist/tsconfig.tsbuildinfo +0 -1
package/dist/functions.d.ts
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
export declare
|
|
2
|
-
export declare
|
|
3
|
-
export declare
|
|
4
|
-
export declare
|
|
5
|
-
export declare
|
|
6
|
-
export declare
|
|
7
|
-
export declare
|
|
8
|
-
export declare
|
|
9
|
-
export declare
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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
|
-
|
|
33
|
+
let prefix = '0x';
|
|
34
|
+
if (withoutPrefix) {
|
|
35
|
+
prefix = '';
|
|
36
|
+
}
|
|
42
37
|
return `${prefix}${num.toString(16).padStart(digits, '0')}`;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
const
|
|
46
|
-
|
|
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 (
|
|
45
|
+
if (a[i] !== undefined) {
|
|
49
46
|
result[i] = a[i];
|
|
50
47
|
}
|
|
51
48
|
}
|
|
52
49
|
return result;
|
|
53
|
-
}
|
|
54
|
-
|
|
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
|
-
|
|
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
|
package/dist/functions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,20 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import {
|
|
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
|
|
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
|
|
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
|
-
|
|
2
|
-
|
|
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
|
-
|
|
34
|
-
const instance = new
|
|
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
|
-
|
|
44
|
-
const instance = new
|
|
15
|
+
export function implode(compressionType, dictionarySize, config = {}) {
|
|
16
|
+
const instance = new Implode(compressionType, dictionarySize, config);
|
|
45
17
|
return instance.getHandler();
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
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":"
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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
|
|
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
|
-
*
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
45
|
+
export declare function toBuffer(done: (buffer: Buffer) => void): Writable;
|
|
46
|
+
export {};
|
package/dist/stream.js
CHANGED
|
@@ -1,48 +1,50 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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
|
|
10
|
+
this.handler = handler;
|
|
14
11
|
}
|
|
15
|
-
handle(chunk, encoding) {
|
|
16
|
-
return
|
|
12
|
+
async handle(chunk, encoding) {
|
|
13
|
+
return promisify(this.handler).call(this, chunk, encoding);
|
|
17
14
|
}
|
|
18
15
|
}
|
|
19
16
|
/**
|
|
20
|
-
* Creates a
|
|
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
|
-
*
|
|
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
|
-
|
|
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 =
|
|
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 =
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
71
|
+
export function transformEmpty() {
|
|
72
72
|
return function (chunk, encoding, callback) {
|
|
73
|
-
callback(null,
|
|
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
|
-
|
|
83
|
-
return new
|
|
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
|
-
|
|
91
|
+
export function transformSplitBy(predicate, leftHandler, rightHandler) {
|
|
94
92
|
let isFirstChunk = true;
|
|
95
93
|
let wasLeftFlushCalled = false;
|
|
96
|
-
const
|
|
97
|
-
const
|
|
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
|
|
103
|
-
const
|
|
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
|
-
|
|
105
|
+
transformInstance._flush = async function (flushCallback) {
|
|
107
106
|
if (!dam.isEmpty()) {
|
|
108
|
-
|
|
107
|
+
transformInstance.push(dam.read());
|
|
109
108
|
}
|
|
110
109
|
const leftFiller = new Promise((resolve, reject) => {
|
|
111
|
-
if (wasLeftFlushCalled || !
|
|
112
|
-
resolve(
|
|
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 (!
|
|
126
|
-
resolve(
|
|
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
|
-
|
|
139
|
-
.
|
|
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
|
-
|
|
144
|
-
flushCallback(
|
|
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 &&
|
|
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(
|
|
159
|
+
resolve(EMPTY_BUFFER);
|
|
162
160
|
}
|
|
163
161
|
});
|
|
164
|
-
|
|
165
|
-
.
|
|
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
|
-
|
|
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,
|
|
175
|
+
callback(null, EMPTY_BUFFER);
|
|
179
176
|
}
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
callback(
|
|
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
|
-
|
|
192
|
-
const buffer = new
|
|
193
|
-
return new
|
|
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
|
package/dist/stream.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED