@push.rocks/smartstream 3.0.32 → 3.0.34
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_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/smartstream.classes.smartduplex.d.ts +3 -3
- package/dist_ts/smartstream.classes.smartduplex.js +4 -3
- package/package.json +4 -4
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/smartstream.classes.smartduplex.ts +6 -5
- package/ts/smartstream.functions.ts +1 -1
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@push.rocks/smartstream',
|
|
6
|
-
version: '3.0.
|
|
6
|
+
version: '3.0.34',
|
|
7
7
|
description: 'simplifies access to node streams'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSx5QkFBeUI7SUFDL0IsT0FBTyxFQUFFLFFBQVE7SUFDakIsV0FBVyxFQUFFLG1DQUFtQztDQUNqRCxDQUFBIn0=
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { Duplex, type DuplexOptions } from 'stream';
|
|
4
4
|
export interface IStreamTools {
|
|
5
5
|
truncate: () => void;
|
|
6
|
-
push: (pipeObject: any) => Promise<
|
|
6
|
+
push: (pipeObject: any) => Promise<boolean>;
|
|
7
7
|
}
|
|
8
8
|
export interface IStreamWriteFunction<T, rT> {
|
|
9
9
|
(chunkArg: T, toolsArg: IStreamTools): Promise<rT>;
|
|
@@ -31,7 +31,7 @@ export interface ISmartDuplexOptions<TInput, TOutput> extends DuplexOptions {
|
|
|
31
31
|
*/
|
|
32
32
|
writeFunction?: IStreamWriteFunction<TInput, TOutput>;
|
|
33
33
|
/**
|
|
34
|
-
* a final function that is
|
|
34
|
+
* a final function that is run at the end of the stream
|
|
35
35
|
*/
|
|
36
36
|
finalFunction?: IStreamFinalFunction<TOutput>;
|
|
37
37
|
}
|
|
@@ -43,7 +43,7 @@ export declare class SmartDuplex<TInput = any, TOutput = any> extends Duplex {
|
|
|
43
43
|
private debugLog;
|
|
44
44
|
constructor(optionsArg?: ISmartDuplexOptions<TInput, TOutput>);
|
|
45
45
|
_read(size: number): Promise<void>;
|
|
46
|
-
backpressuredPush(pushArg: TOutput): Promise<
|
|
46
|
+
backpressuredPush(pushArg: TOutput): Promise<boolean>;
|
|
47
47
|
private asyncWritePromiseObjectmap;
|
|
48
48
|
_write(chunk: TInput, encoding: string, callback: (error?: Error | null) => void): Promise<void>;
|
|
49
49
|
_final(callback: (error?: Error | null) => void): Promise<void>;
|
|
@@ -43,6 +43,7 @@ export class SmartDuplex extends Duplex {
|
|
|
43
43
|
await this.backpressuredArray.waitForSpace();
|
|
44
44
|
this.debugLog(`${this.options.name}: can push more again`);
|
|
45
45
|
}
|
|
46
|
+
return canPushMore;
|
|
46
47
|
}
|
|
47
48
|
;
|
|
48
49
|
// Ensure the _write method types the chunk as TInput and encodes TOutput
|
|
@@ -58,7 +59,7 @@ export class SmartDuplex extends Duplex {
|
|
|
58
59
|
callback();
|
|
59
60
|
},
|
|
60
61
|
push: async (pushArg) => {
|
|
61
|
-
await this.backpressuredPush(pushArg);
|
|
62
|
+
return await this.backpressuredPush(pushArg);
|
|
62
63
|
}
|
|
63
64
|
};
|
|
64
65
|
try {
|
|
@@ -87,7 +88,7 @@ export class SmartDuplex extends Duplex {
|
|
|
87
88
|
const tools = {
|
|
88
89
|
truncate: () => callback(),
|
|
89
90
|
push: async (pipeObject) => {
|
|
90
|
-
this.backpressuredArray.push(pipeObject);
|
|
91
|
+
return this.backpressuredArray.push(pipeObject);
|
|
91
92
|
},
|
|
92
93
|
};
|
|
93
94
|
try {
|
|
@@ -106,4 +107,4 @@ export class SmartDuplex extends Duplex {
|
|
|
106
107
|
callback();
|
|
107
108
|
}
|
|
108
109
|
}
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzdHJlYW0uY2xhc3Nlcy5zbWFydGR1cGxleC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c3RyZWFtLmNsYXNzZXMuc21hcnRkdXBsZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFzQixNQUFNLFFBQVEsQ0FBQztBQTBDcEQsTUFBTSxPQUFPLFdBQXlDLFNBQVEsTUFBTTtJQUNsRSxTQUFTO0lBQ1QsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFjLEVBQUUsT0FBdUM7UUFDdkUsTUFBTSxXQUFXLEdBQUcsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0MsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDcEIsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN6QixXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsNkJBQTZCO1FBQ3ZELENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQU1PLFFBQVEsQ0FBQyxVQUFrQjtRQUNqQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUVELFlBQVksVUFBaUQ7UUFDM0QsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDbEIsYUFBYSxFQUFFLENBQUM7U0FDakIsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBNkJWLCtCQUEwQixHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQWdCLENBQUM7UUE1QjdFLElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDO1FBQzFCLElBQUksQ0FBQyxrQkFBa0Is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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@push.rocks/smartstream",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.34",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "simplifies access to node streams",
|
|
6
6
|
"main": "dist_ts/index.js",
|
|
@@ -19,10 +19,10 @@
|
|
|
19
19
|
"devDependencies": {
|
|
20
20
|
"@git.zone/tsbuild": "^2.1.72",
|
|
21
21
|
"@git.zone/tsrun": "^1.2.44",
|
|
22
|
-
"@git.zone/tstest": "^1.0.
|
|
22
|
+
"@git.zone/tstest": "^1.0.88",
|
|
23
23
|
"@push.rocks/smartfile": "^11.0.4",
|
|
24
|
-
"@push.rocks/tapbundle": "^5.0.
|
|
25
|
-
"@types/node": "^20.11.
|
|
24
|
+
"@push.rocks/tapbundle": "^5.0.17",
|
|
25
|
+
"@types/node": "^20.11.28"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"@push.rocks/lik": "^6.0.14",
|
package/ts/00_commitinfo_data.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { Duplex, type DuplexOptions } from 'stream';
|
|
|
3
3
|
|
|
4
4
|
export interface IStreamTools {
|
|
5
5
|
truncate: () => void;
|
|
6
|
-
push: (pipeObject: any) => Promise<
|
|
6
|
+
push: (pipeObject: any) => Promise<boolean>;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
export interface IStreamWriteFunction<T, rT> {
|
|
@@ -34,11 +34,11 @@ export interface ISmartDuplexOptions<TInput, TOutput> extends DuplexOptions {
|
|
|
34
34
|
* it can push or return chunks (but does not have to) to be written to the readable side of the stream
|
|
35
35
|
*/
|
|
36
36
|
writeFunction?: IStreamWriteFunction<TInput, TOutput>;
|
|
37
|
+
|
|
37
38
|
/**
|
|
38
|
-
* a final function that is
|
|
39
|
+
* a final function that is run at the end of the stream
|
|
39
40
|
*/
|
|
40
41
|
finalFunction?: IStreamFinalFunction<TOutput>;
|
|
41
|
-
// Add other custom options if necessary
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
export class SmartDuplex<TInput = any, TOutput = any> extends Duplex {
|
|
@@ -91,6 +91,7 @@ export class SmartDuplex<TInput = any, TOutput = any> extends Duplex {
|
|
|
91
91
|
await this.backpressuredArray.waitForSpace();
|
|
92
92
|
this.debugLog(`${this.options.name}: can push more again`);
|
|
93
93
|
}
|
|
94
|
+
return canPushMore;
|
|
94
95
|
};
|
|
95
96
|
|
|
96
97
|
private asyncWritePromiseObjectmap = new plugins.lik.ObjectMap<Promise<any>>();
|
|
@@ -108,7 +109,7 @@ export class SmartDuplex<TInput = any, TOutput = any> extends Duplex {
|
|
|
108
109
|
callback();
|
|
109
110
|
},
|
|
110
111
|
push: async (pushArg: TOutput) => {
|
|
111
|
-
await this.backpressuredPush(pushArg);
|
|
112
|
+
return await this.backpressuredPush(pushArg);
|
|
112
113
|
}
|
|
113
114
|
};
|
|
114
115
|
|
|
@@ -138,7 +139,7 @@ export class SmartDuplex<TInput = any, TOutput = any> extends Duplex {
|
|
|
138
139
|
const tools: IStreamTools = {
|
|
139
140
|
truncate: () => callback(),
|
|
140
141
|
push: async (pipeObject) => {
|
|
141
|
-
this.backpressuredArray.push(pipeObject);
|
|
142
|
+
return this.backpressuredArray.push(pipeObject);
|
|
142
143
|
},
|
|
143
144
|
};
|
|
144
145
|
|