@naturalcycles/nodejs-lib 13.18.0 → 13.19.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/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/stream/transform/transformLimit.d.ts +1 -4
- package/dist/stream/transform/transformLimit.js +1 -4
- package/dist/stream/transform/transformOffset.d.ts +10 -0
- package/dist/stream/transform/transformOffset.js +24 -0
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/stream/transform/transformLimit.ts +1 -4
- package/src/stream/transform/transformOffset.ts +34 -0
package/dist/index.d.ts
CHANGED
|
@@ -37,6 +37,7 @@ export * from './stream/progressLogger';
|
|
|
37
37
|
export * from './stream/transform/transformChunk';
|
|
38
38
|
export * from './stream/transform/transformFilter';
|
|
39
39
|
export * from './stream/transform/transformLimit';
|
|
40
|
+
export * from './stream/transform/transformOffset';
|
|
40
41
|
export * from './stream/transform/transformLogProgress';
|
|
41
42
|
export * from './stream/transform/transformMap';
|
|
42
43
|
export * from './stream/transform/transformMapSimple';
|
package/dist/index.js
CHANGED
|
@@ -41,6 +41,7 @@ tslib_1.__exportStar(require("./stream/progressLogger"), exports);
|
|
|
41
41
|
tslib_1.__exportStar(require("./stream/transform/transformChunk"), exports);
|
|
42
42
|
tslib_1.__exportStar(require("./stream/transform/transformFilter"), exports);
|
|
43
43
|
tslib_1.__exportStar(require("./stream/transform/transformLimit"), exports);
|
|
44
|
+
tslib_1.__exportStar(require("./stream/transform/transformOffset"), exports);
|
|
44
45
|
tslib_1.__exportStar(require("./stream/transform/transformLogProgress"), exports);
|
|
45
46
|
tslib_1.__exportStar(require("./stream/transform/transformMap"), exports);
|
|
46
47
|
tslib_1.__exportStar(require("./stream/transform/transformMapSimple"), exports);
|
|
@@ -34,7 +34,4 @@ export interface TransformLimitOptions extends TransformOptions {
|
|
|
34
34
|
*/
|
|
35
35
|
export declare class TransformLimit extends AbortableTransform {
|
|
36
36
|
}
|
|
37
|
-
|
|
38
|
-
* 0 or falsy value means "no limit"
|
|
39
|
-
*/
|
|
40
|
-
export declare function transformLimit<IN>(opt?: TransformLimitOptions): TransformTyped<IN, IN>;
|
|
37
|
+
export declare function transformLimit<IN>(opt: TransformLimitOptions): TransformTyped<IN, IN>;
|
|
@@ -10,10 +10,7 @@ const stream_util_1 = require("../stream.util");
|
|
|
10
10
|
class TransformLimit extends index_1.AbortableTransform {
|
|
11
11
|
}
|
|
12
12
|
exports.TransformLimit = TransformLimit;
|
|
13
|
-
|
|
14
|
-
* 0 or falsy value means "no limit"
|
|
15
|
-
*/
|
|
16
|
-
function transformLimit(opt = {}) {
|
|
13
|
+
function transformLimit(opt) {
|
|
17
14
|
const { logger = console, limit, debug } = opt;
|
|
18
15
|
if (!limit) {
|
|
19
16
|
// No limit - returning pass-through transform
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { TransformOptions, TransformTyped } from '../stream.model';
|
|
2
|
+
export interface TransformOffsetOptions extends TransformOptions {
|
|
3
|
+
/**
|
|
4
|
+
* How many items to skip (offset) in the stream.
|
|
5
|
+
*
|
|
6
|
+
* Nullish value (e.g 0 or undefined) would mean "no offset".
|
|
7
|
+
*/
|
|
8
|
+
offset?: number;
|
|
9
|
+
}
|
|
10
|
+
export declare function transformOffset<IN>(opt: TransformOffsetOptions): TransformTyped<IN, IN>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.transformOffset = void 0;
|
|
4
|
+
const node_stream_1 = require("node:stream");
|
|
5
|
+
const index_1 = require("../../index");
|
|
6
|
+
function transformOffset(opt) {
|
|
7
|
+
const { offset } = opt;
|
|
8
|
+
if (!offset) {
|
|
9
|
+
// No offset - returning pass-through transform
|
|
10
|
+
return (0, index_1.transformNoOp)();
|
|
11
|
+
}
|
|
12
|
+
let i = 0; // so we start first chunk with 1
|
|
13
|
+
return new node_stream_1.Transform({
|
|
14
|
+
objectMode: true,
|
|
15
|
+
...opt,
|
|
16
|
+
transform(chunk, _, cb) {
|
|
17
|
+
if (++i <= offset) {
|
|
18
|
+
return cb(); // skip
|
|
19
|
+
}
|
|
20
|
+
cb(null, chunk);
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
exports.transformOffset = transformOffset;
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -47,6 +47,7 @@ export * from './stream/progressLogger'
|
|
|
47
47
|
export * from './stream/transform/transformChunk'
|
|
48
48
|
export * from './stream/transform/transformFilter'
|
|
49
49
|
export * from './stream/transform/transformLimit'
|
|
50
|
+
export * from './stream/transform/transformOffset'
|
|
50
51
|
export * from './stream/transform/transformLogProgress'
|
|
51
52
|
export * from './stream/transform/transformMap'
|
|
52
53
|
export * from './stream/transform/transformMapSimple'
|
|
@@ -40,10 +40,7 @@ export interface TransformLimitOptions extends TransformOptions {
|
|
|
40
40
|
*/
|
|
41
41
|
export class TransformLimit extends AbortableTransform {}
|
|
42
42
|
|
|
43
|
-
|
|
44
|
-
* 0 or falsy value means "no limit"
|
|
45
|
-
*/
|
|
46
|
-
export function transformLimit<IN>(opt: TransformLimitOptions = {}): TransformTyped<IN, IN> {
|
|
43
|
+
export function transformLimit<IN>(opt: TransformLimitOptions): TransformTyped<IN, IN> {
|
|
47
44
|
const { logger = console, limit, debug } = opt
|
|
48
45
|
|
|
49
46
|
if (!limit) {
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Transform } from 'node:stream'
|
|
2
|
+
import { transformNoOp } from '../../index'
|
|
3
|
+
import { TransformOptions, TransformTyped } from '../stream.model'
|
|
4
|
+
|
|
5
|
+
export interface TransformOffsetOptions extends TransformOptions {
|
|
6
|
+
/**
|
|
7
|
+
* How many items to skip (offset) in the stream.
|
|
8
|
+
*
|
|
9
|
+
* Nullish value (e.g 0 or undefined) would mean "no offset".
|
|
10
|
+
*/
|
|
11
|
+
offset?: number
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export function transformOffset<IN>(opt: TransformOffsetOptions): TransformTyped<IN, IN> {
|
|
15
|
+
const { offset } = opt
|
|
16
|
+
|
|
17
|
+
if (!offset) {
|
|
18
|
+
// No offset - returning pass-through transform
|
|
19
|
+
return transformNoOp()
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
let i = 0 // so we start first chunk with 1
|
|
23
|
+
return new Transform({
|
|
24
|
+
objectMode: true,
|
|
25
|
+
...opt,
|
|
26
|
+
transform(chunk: IN, _, cb) {
|
|
27
|
+
if (++i <= offset) {
|
|
28
|
+
return cb() // skip
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
cb(null, chunk)
|
|
32
|
+
},
|
|
33
|
+
})
|
|
34
|
+
}
|