@push.rocks/smartstream 3.0.46 → 3.1.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.
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@push.rocks/smartstream',
6
- version: '3.0.46',
6
+ version: '3.1.0',
7
7
  description: 'A library to simplify the creation and manipulation of Node.js streams, providing utilities for handling transform, duplex, and readable/writable streams effectively in TypeScript.'
8
8
  };
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSx5QkFBeUI7SUFDL0IsT0FBTyxFQUFFLFFBQVE7SUFDakIsV0FBVyxFQUFFLHNMQUFzTDtDQUNwTSxDQUFBIn0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSx5QkFBeUI7SUFDL0IsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLHNMQUFzTDtDQUNwTSxDQUFBIn0=
@@ -6,3 +6,5 @@ export * from './smartstream.classes.streamintake.js';
6
6
  export * from './smartstream.functions.js';
7
7
  import * as plugins from './smartstream.plugins.js';
8
8
  export declare const webstream: typeof plugins.webstream;
9
+ import * as nodewebhelpers from './smartstream.nodewebhelpers.js';
10
+ export { nodewebhelpers, };
package/dist_ts/index.js CHANGED
@@ -6,4 +6,6 @@ export * from './smartstream.classes.streamintake.js';
6
6
  export * from './smartstream.functions.js';
7
7
  import * as plugins from './smartstream.plugins.js';
8
8
  export const webstream = plugins.webstream;
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEQsT0FBTyxFQUNMLE1BQU0sR0FDUCxDQUFBO0FBRUQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsdUNBQXVDLENBQUM7QUFFdEQsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxPQUFPLEtBQUssT0FBTyxNQUFNLDBCQUEwQixDQUFDO0FBQ3BELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDIn0=
9
+ import * as nodewebhelpers from './smartstream.nodewebhelpers.js';
10
+ export { nodewebhelpers, };
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEQsT0FBTyxFQUNMLE1BQU0sR0FDUCxDQUFBO0FBRUQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsdUNBQXVDLENBQUM7QUFFdEQsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxPQUFPLEtBQUssT0FBTyxNQUFNLDBCQUEwQixDQUFDO0FBQ3BELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO0FBQzNDLE9BQU8sS0FBSyxjQUFjLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUNMLGNBQWMsR0FDZixDQUFBIn0=
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Creates a Web ReadableStream from a file.
3
+ *
4
+ * @param filePath - The path to the file to be read
5
+ * @returns A Web ReadableStream that reads the file in chunks
6
+ */
7
+ export declare function createWebReadableStreamFromFile(filePath: string): ReadableStream<Uint8Array>;
@@ -0,0 +1,31 @@
1
+ import { createReadStream } from 'fs';
2
+ /**
3
+ * Creates a Web ReadableStream from a file.
4
+ *
5
+ * @param filePath - The path to the file to be read
6
+ * @returns A Web ReadableStream that reads the file in chunks
7
+ */
8
+ export function createWebReadableStreamFromFile(filePath) {
9
+ const fileStream = createReadStream(filePath);
10
+ return new ReadableStream({
11
+ start(controller) {
12
+ // When data is available, enqueue it into the Web ReadableStream
13
+ fileStream.on('data', (chunk) => {
14
+ controller.enqueue(chunk);
15
+ });
16
+ // When the file stream ends, close the Web ReadableStream
17
+ fileStream.on('end', () => {
18
+ controller.close();
19
+ });
20
+ // If there's an error, error the Web ReadableStream
21
+ fileStream.on('error', (err) => {
22
+ controller.error(err);
23
+ });
24
+ },
25
+ cancel() {
26
+ // If the Web ReadableStream is canceled, destroy the file stream
27
+ fileStream.destroy();
28
+ }
29
+ });
30
+ }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzdHJlYW0ubm9kZXdlYmhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9zbWFydHN0cmVhbS5ub2Rld2ViaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFFdEM7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsK0JBQStCLENBQUMsUUFBZ0I7SUFDOUQsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFOUMsT0FBTyxJQUFJLGNBQWMsQ0FBQztRQUN4QixLQUFLLENBQUMsVUFBVTtZQUNkLGlFQUFpRTtZQUNqRSxVQUFVLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUM5QixVQUFVLENBQUMsT0FBTyxDQUFDLEtBQW1CLENBQUMsQ0FBQztZQUMxQyxDQUFDLENBQUMsQ0FBQztZQUVILDBEQUEwRDtZQUMxRCxVQUFVLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUU7Z0JBQ3hCLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNyQixDQUFDLENBQUMsQ0FBQztZQUVILG9EQUFvRDtZQUNwRCxVQUFVLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUM3QixVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELE1BQU07WUFDSixpRUFBaUU7WUFDakUsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3ZCLENBQUM7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDIn0=
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@push.rocks/smartstream',
6
- version: '3.0.46',
6
+ version: '3.1.0',
7
7
  description: 'A library to simplify the creation and manipulation of Node.js streams, providing utilities for handling transform, duplex, and readable/writable streams effectively in TypeScript.'
8
8
  };
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUseUJBQXlCO0lBQy9CLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLFdBQVcsRUFBRSxzTEFBc0w7Q0FDcE0sQ0FBQSJ9
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUseUJBQXlCO0lBQy9CLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFdBQVcsRUFBRSxzTEFBc0w7Q0FDcE0sQ0FBQSJ9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@push.rocks/smartstream",
3
- "version": "3.0.46",
3
+ "version": "3.1.0",
4
4
  "private": false,
5
5
  "description": "A library to simplify the creation and manipulation of Node.js streams, providing utilities for handling transform, duplex, and readable/writable streams effectively in TypeScript.",
6
6
  "type": "module",
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@push.rocks/smartstream',
6
- version: '3.0.46',
6
+ version: '3.1.0',
7
7
  description: 'A library to simplify the creation and manipulation of Node.js streams, providing utilities for handling transform, duplex, and readable/writable streams effectively in TypeScript.'
8
8
  }
package/ts/index.ts CHANGED
@@ -11,3 +11,7 @@ export * from './smartstream.functions.js';
11
11
 
12
12
  import * as plugins from './smartstream.plugins.js';
13
13
  export const webstream = plugins.webstream;
14
+ import * as nodewebhelpers from './smartstream.nodewebhelpers.js';
15
+ export {
16
+ nodewebhelpers,
17
+ }
@@ -0,0 +1,34 @@
1
+ import { createReadStream } from 'fs';
2
+
3
+ /**
4
+ * Creates a Web ReadableStream from a file.
5
+ *
6
+ * @param filePath - The path to the file to be read
7
+ * @returns A Web ReadableStream that reads the file in chunks
8
+ */
9
+ export function createWebReadableStreamFromFile(filePath: string): ReadableStream<Uint8Array> {
10
+ const fileStream = createReadStream(filePath);
11
+
12
+ return new ReadableStream({
13
+ start(controller) {
14
+ // When data is available, enqueue it into the Web ReadableStream
15
+ fileStream.on('data', (chunk) => {
16
+ controller.enqueue(chunk as Uint8Array);
17
+ });
18
+
19
+ // When the file stream ends, close the Web ReadableStream
20
+ fileStream.on('end', () => {
21
+ controller.close();
22
+ });
23
+
24
+ // If there's an error, error the Web ReadableStream
25
+ fileStream.on('error', (err) => {
26
+ controller.error(err);
27
+ });
28
+ },
29
+ cancel() {
30
+ // If the Web ReadableStream is canceled, destroy the file stream
31
+ fileStream.destroy();
32
+ }
33
+ });
34
+ }
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@push.rocks/smartstream',
6
- version: '3.0.46',
6
+ version: '3.1.0',
7
7
  description: 'A library to simplify the creation and manipulation of Node.js streams, providing utilities for handling transform, duplex, and readable/writable streams effectively in TypeScript.'
8
8
  }