@naturalcycles/nodejs-lib 15.103.0 → 15.104.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/stream/transform/transformChunk.js +1 -0
- package/dist/stream/transform/transformFilter.js +1 -0
- package/dist/stream/transform/transformFlatten.js +2 -0
- package/dist/stream/transform/transformFork.js +1 -1
- package/dist/stream/transform/transformLimit.js +1 -1
- package/dist/stream/transform/transformMapSimple.js +1 -1
- package/dist/stream/transform/transformMapSync.js +1 -0
- package/dist/stream/transform/transformNoOp.js +1 -0
- package/dist/stream/transform/transformOffset.js +1 -0
- package/dist/stream/transform/transformThrottle.js +1 -1
- package/dist/stream/transform/transformThrottleByRSS.js +1 -1
- package/dist/stream/transform/transformWarmup.js +1 -1
- package/dist/zip/zip.util.d.ts +2 -0
- package/dist/zip/zip.util.js +9 -0
- package/package.json +1 -1
- package/src/stream/transform/transformChunk.ts +1 -0
- package/src/stream/transform/transformFilter.ts +1 -0
- package/src/stream/transform/transformFlatten.ts +2 -0
- package/src/stream/transform/transformFork.ts +1 -1
- package/src/stream/transform/transformLimit.ts +1 -1
- package/src/stream/transform/transformMapSimple.ts +1 -1
- package/src/stream/transform/transformMapSync.ts +1 -0
- package/src/stream/transform/transformNoOp.ts +1 -0
- package/src/stream/transform/transformOffset.ts +1 -0
- package/src/stream/transform/transformThrottle.ts +1 -1
- package/src/stream/transform/transformThrottleByRSS.ts +1 -1
- package/src/stream/transform/transformWarmup.ts +1 -1
- package/src/zip/zip.util.ts +11 -0
|
@@ -2,6 +2,7 @@ import { Transform } from 'node:stream';
|
|
|
2
2
|
export function transformFlatten() {
|
|
3
3
|
return new Transform({
|
|
4
4
|
objectMode: true,
|
|
5
|
+
highWaterMark: 1,
|
|
5
6
|
transform(chunk, _, cb) {
|
|
6
7
|
for (const item of chunk) {
|
|
7
8
|
this.push(item);
|
|
@@ -13,6 +14,7 @@ export function transformFlatten() {
|
|
|
13
14
|
export function transformFlattenIfNeeded() {
|
|
14
15
|
return new Transform({
|
|
15
16
|
objectMode: true,
|
|
17
|
+
highWaterMark: 1,
|
|
16
18
|
transform(chunk, _, cb) {
|
|
17
19
|
if (Array.isArray(chunk)) {
|
|
18
20
|
for (const item of chunk) {
|
|
@@ -12,7 +12,7 @@ import { createReadable } from '../readable/createReadable.js';
|
|
|
12
12
|
* @experimental
|
|
13
13
|
*/
|
|
14
14
|
export function transformFork(fn, opt = {}) {
|
|
15
|
-
const { objectMode = true, highWaterMark } = opt;
|
|
15
|
+
const { objectMode = true, highWaterMark = 1 } = opt;
|
|
16
16
|
const logger = createCommonLoggerAtLevel(opt.logger, opt.logLevel);
|
|
17
17
|
let lock;
|
|
18
18
|
const fork = createReadable([], {}, () => {
|
|
@@ -2,7 +2,7 @@ import { Transform } from 'node:stream';
|
|
|
2
2
|
import { PIPELINE_GRACEFUL_ABORT } from '../stream.util.js';
|
|
3
3
|
import { transformNoOp } from './transformNoOp.js';
|
|
4
4
|
export function transformLimit(opt) {
|
|
5
|
-
const { limit, signal, objectMode = true, highWaterMark } = opt;
|
|
5
|
+
const { limit, signal, objectMode = true, highWaterMark = 1 } = opt;
|
|
6
6
|
if (!limit) {
|
|
7
7
|
return transformNoOp();
|
|
8
8
|
}
|
|
@@ -11,7 +11,7 @@ import { ErrorMode } from '@naturalcycles/js-lib/error/errorMode.js';
|
|
|
11
11
|
*/
|
|
12
12
|
export function transformMapSimple(mapper, opt = {}) {
|
|
13
13
|
let index = -1;
|
|
14
|
-
const { errorMode = ErrorMode.THROW_IMMEDIATELY, logger = console, objectMode = true, highWaterMark, } = opt;
|
|
14
|
+
const { errorMode = ErrorMode.THROW_IMMEDIATELY, logger = console, objectMode = true, highWaterMark = 1, } = opt;
|
|
15
15
|
return new Transform({
|
|
16
16
|
objectMode,
|
|
17
17
|
highWaterMark,
|
|
@@ -20,7 +20,7 @@ import { pDefer } from '@naturalcycles/js-lib/promise/pDefer.js';
|
|
|
20
20
|
* @experimental
|
|
21
21
|
*/
|
|
22
22
|
export function transformThrottle(opt) {
|
|
23
|
-
const { throughput, interval, objectMode = true, highWaterMark } = opt;
|
|
23
|
+
const { throughput, interval, objectMode = true, highWaterMark = 1 } = opt;
|
|
24
24
|
let count = 0;
|
|
25
25
|
let start;
|
|
26
26
|
let lock;
|
|
@@ -15,7 +15,7 @@ import { pDefer } from '@naturalcycles/js-lib/promise/pDefer.js';
|
|
|
15
15
|
*/
|
|
16
16
|
export function transformThrottleByRSS(opt) {
|
|
17
17
|
const { maxRSS, pollInterval = 5000, pollTimeout = 30 * 60_000, // 30 min
|
|
18
|
-
onPollTimeout = 'open-the-floodgates', objectMode = true, highWaterMark, } = opt;
|
|
18
|
+
onPollTimeout = 'open-the-floodgates', objectMode = true, highWaterMark = 1, } = opt;
|
|
19
19
|
const maxRSSBytes = maxRSS * 1024 * 1024;
|
|
20
20
|
let lock;
|
|
21
21
|
let pollTimer;
|
|
@@ -12,7 +12,7 @@ import { pDefer } from '@naturalcycles/js-lib/promise/pDefer.js';
|
|
|
12
12
|
* @experimental
|
|
13
13
|
*/
|
|
14
14
|
export function transformWarmup(opt) {
|
|
15
|
-
const { concurrency, warmupSeconds, objectMode = true, highWaterMark } = opt;
|
|
15
|
+
const { concurrency, warmupSeconds, objectMode = true, highWaterMark = 1 } = opt;
|
|
16
16
|
const warmupMs = warmupSeconds * 1000;
|
|
17
17
|
const logger = createCommonLoggerAtLevel(opt.logger, opt.logLevel);
|
|
18
18
|
let startTime = 0;
|
package/dist/zip/zip.util.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import type { ZlibOptions, ZstdOptions } from 'node:zlib';
|
|
2
2
|
import type { Integer } from '@naturalcycles/js-lib/types';
|
|
3
3
|
export declare function decompressZstdOrInflateToString(buf: Buffer): Promise<string>;
|
|
4
|
+
export declare function decompressZstdOrInflateToStringSync(buf: Buffer): string;
|
|
4
5
|
/**
|
|
5
6
|
* Detects if Buffer is zstd-compressed.
|
|
6
7
|
* Otherwise attempts to Inflate.
|
|
7
8
|
*/
|
|
8
9
|
export declare function decompressZstdOrInflate(buf: Buffer): Promise<Buffer<ArrayBuffer>>;
|
|
10
|
+
export declare function decompressZstdOrInflateSync(buf: Buffer): Buffer<ArrayBuffer>;
|
|
9
11
|
/**
|
|
10
12
|
* deflateBuffer uses `deflate`.
|
|
11
13
|
* It's 9 bytes shorter than `gzip`.
|
package/dist/zip/zip.util.js
CHANGED
|
@@ -9,6 +9,9 @@ const zstdDecompressAsync = promisify(zlib.zstdDecompress.bind(zlib));
|
|
|
9
9
|
export async function decompressZstdOrInflateToString(buf) {
|
|
10
10
|
return (await decompressZstdOrInflate(buf)).toString();
|
|
11
11
|
}
|
|
12
|
+
export function decompressZstdOrInflateToStringSync(buf) {
|
|
13
|
+
return decompressZstdOrInflateSync(buf).toString();
|
|
14
|
+
}
|
|
12
15
|
/**
|
|
13
16
|
* Detects if Buffer is zstd-compressed.
|
|
14
17
|
* Otherwise attempts to Inflate.
|
|
@@ -19,6 +22,12 @@ export async function decompressZstdOrInflate(buf) {
|
|
|
19
22
|
}
|
|
20
23
|
return await inflate(buf);
|
|
21
24
|
}
|
|
25
|
+
export function decompressZstdOrInflateSync(buf) {
|
|
26
|
+
if (isZstdBuffer(buf)) {
|
|
27
|
+
return zlib.zstdDecompressSync(buf);
|
|
28
|
+
}
|
|
29
|
+
return zlib.inflateSync(buf);
|
|
30
|
+
}
|
|
22
31
|
/**
|
|
23
32
|
* deflateBuffer uses `deflate`.
|
|
24
33
|
* It's 9 bytes shorter than `gzip`.
|
package/package.json
CHANGED
|
@@ -4,6 +4,7 @@ import type { TransformTyped } from '../stream.model.js'
|
|
|
4
4
|
export function transformFlatten<T>(): TransformTyped<T[], T> {
|
|
5
5
|
return new Transform({
|
|
6
6
|
objectMode: true,
|
|
7
|
+
highWaterMark: 1,
|
|
7
8
|
transform(chunk: T[], _, cb) {
|
|
8
9
|
for (const item of chunk) {
|
|
9
10
|
this.push(item)
|
|
@@ -16,6 +17,7 @@ export function transformFlatten<T>(): TransformTyped<T[], T> {
|
|
|
16
17
|
export function transformFlattenIfNeeded<T>(): TransformTyped<T[], T> {
|
|
17
18
|
return new Transform({
|
|
18
19
|
objectMode: true,
|
|
20
|
+
highWaterMark: 1,
|
|
19
21
|
transform(chunk: T[], _, cb) {
|
|
20
22
|
if (Array.isArray(chunk)) {
|
|
21
23
|
for (const item of chunk) {
|
|
@@ -18,7 +18,7 @@ export function transformFork<T>(
|
|
|
18
18
|
fn: (pipeline: Pipeline<T>) => Promise<void>,
|
|
19
19
|
opt: TransformOptions = {},
|
|
20
20
|
): TransformTyped<T, T> {
|
|
21
|
-
const { objectMode = true, highWaterMark } = opt
|
|
21
|
+
const { objectMode = true, highWaterMark = 1 } = opt
|
|
22
22
|
const logger = createCommonLoggerAtLevel(opt.logger, opt.logLevel)
|
|
23
23
|
|
|
24
24
|
let lock: DeferredPromise | undefined
|
|
@@ -18,7 +18,7 @@ export interface TransformLimitOptions extends TransformOptions {
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
export function transformLimit<IN>(opt: TransformLimitOptions): TransformTyped<IN, IN> {
|
|
21
|
-
const { limit, signal, objectMode = true, highWaterMark } = opt
|
|
21
|
+
const { limit, signal, objectMode = true, highWaterMark = 1 } = opt
|
|
22
22
|
|
|
23
23
|
if (!limit) {
|
|
24
24
|
return transformNoOp()
|
|
@@ -22,6 +22,7 @@ export function transformOffset<IN>(opt: TransformOffsetOptions): TransformTyped
|
|
|
22
22
|
let i = 0 // so we start first chunk with 1
|
|
23
23
|
return new Transform({
|
|
24
24
|
objectMode: true,
|
|
25
|
+
highWaterMark: 1,
|
|
25
26
|
...opt,
|
|
26
27
|
transform(chunk: IN, _, cb) {
|
|
27
28
|
if (++i <= offset) {
|
|
@@ -40,7 +40,7 @@ export interface TransformThrottleOptions extends TransformOptions {
|
|
|
40
40
|
* @experimental
|
|
41
41
|
*/
|
|
42
42
|
export function transformThrottle<T>(opt: TransformThrottleOptions): TransformTyped<T, T> {
|
|
43
|
-
const { throughput, interval, objectMode = true, highWaterMark } = opt
|
|
43
|
+
const { throughput, interval, objectMode = true, highWaterMark = 1 } = opt
|
|
44
44
|
|
|
45
45
|
let count = 0
|
|
46
46
|
let start: UnixTimestampMillis
|
|
@@ -29,7 +29,7 @@ export interface TransformWarmupOptions extends TransformOptions {
|
|
|
29
29
|
* @experimental
|
|
30
30
|
*/
|
|
31
31
|
export function transformWarmup<T>(opt: TransformWarmupOptions): TransformTyped<T, T> {
|
|
32
|
-
const { concurrency, warmupSeconds, objectMode = true, highWaterMark } = opt
|
|
32
|
+
const { concurrency, warmupSeconds, objectMode = true, highWaterMark = 1 } = opt
|
|
33
33
|
const warmupMs = warmupSeconds * 1000
|
|
34
34
|
const logger = createCommonLoggerAtLevel(opt.logger, opt.logLevel)
|
|
35
35
|
|
package/src/zip/zip.util.ts
CHANGED
|
@@ -14,6 +14,10 @@ export async function decompressZstdOrInflateToString(buf: Buffer): Promise<stri
|
|
|
14
14
|
return (await decompressZstdOrInflate(buf)).toString()
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
+
export function decompressZstdOrInflateToStringSync(buf: Buffer): string {
|
|
18
|
+
return decompressZstdOrInflateSync(buf).toString()
|
|
19
|
+
}
|
|
20
|
+
|
|
17
21
|
/**
|
|
18
22
|
* Detects if Buffer is zstd-compressed.
|
|
19
23
|
* Otherwise attempts to Inflate.
|
|
@@ -25,6 +29,13 @@ export async function decompressZstdOrInflate(buf: Buffer): Promise<Buffer<Array
|
|
|
25
29
|
return await inflate(buf)
|
|
26
30
|
}
|
|
27
31
|
|
|
32
|
+
export function decompressZstdOrInflateSync(buf: Buffer): Buffer<ArrayBuffer> {
|
|
33
|
+
if (isZstdBuffer(buf)) {
|
|
34
|
+
return zlib.zstdDecompressSync(buf)
|
|
35
|
+
}
|
|
36
|
+
return zlib.inflateSync(buf)
|
|
37
|
+
}
|
|
38
|
+
|
|
28
39
|
/**
|
|
29
40
|
* deflateBuffer uses `deflate`.
|
|
30
41
|
* It's 9 bytes shorter than `gzip`.
|