Home Reference Source Test
public class | source

Stream

You can directly use an instance of this class. streamUtils

This Stream class provide wrapper functions for readable-stream

Example:

import { stream } from 'causal-net.utils';

let reader = stream.makeReadable();
    
const TranformFn = (chunkData, chunkEncoding, afterTransformFn) =>{
    chunkData.x = (chunkData.x+1.5);
    let event = null;
    afterTransformFn(event, chunkData);
};
let transformer = stream.makeTransform(TranformFn);
    
const WriteFn = (chunkData, chunkEncoding, callback) =>{
    console.log({chunkData});
    callback();
};
let writer = stream.makeWritable(WriteFn);
    
reader.pipe(transformer).pipe(writer);
//write random int for every 100 ms    
setInterval(() => {
    reader.push({ x: Math.random() });
}, 100);

Test:

Constructor Summary

Public Constructor
public

Member Summary

Private Members
private

stream: *

Method Summary

Public Methods
public

makeDuplex(writeFn: Function , readFn: Function ): Duplex

create duplex object from writeFn and optional readFn.

public

makePipeline(streams: Array , onDataFn: Function ): Promise

create pipeline from array of [readable, ...tranforms, writable].

public

makeReadable(readFn: Function ): Readable

create reable object from readFn.

public

makeTransform(transformFn: Function ): Transform

create transform object from transformFn

public

makeWritable(writeFn: Function ): Writable

create writeable object from writeFn.

Public Constructors

public constructor() source

Private Members

private stream: * source

Public Methods

public makeDuplex(writeFn: Function , readFn: Function ): Duplex source

create duplex object from writeFn and optional readFn.

Params:

NameTypeAttributeDescription
writeFn Function

called function for new data

readFn Function
  • optional
  • default: null

Return:

Duplex

public makePipeline(streams: Array , onDataFn: Function ): Promise source

create pipeline from array of [readable, ...tranforms, writable]. This stream.makePipeline([readable, transform, writable]) equivalent to readable.pipe(transform).pipe(writable).

Params:

NameTypeAttributeDescription
streams Array

array of [readable, ...tranforms, writable]

onDataFn Function
  • optional
  • default: null

handle function for data event at readable

Return:

Promise

promise - resolve "Success" after finish or "Pipeline failed. ${err}".

public makeReadable(readFn: Function ): Readable source

create reable object from readFn.

Params:

NameTypeAttributeDescription
readFn Function

called function for new data

Return:

Readable

public makeTransform(transformFn: Function ): Transform source

create transform object from transformFn

Params:

NameTypeAttributeDescription
transformFn Function

called function for new data

Return:

Transform

public makeWritable(writeFn: Function ): Writable source

create writeable object from writeFn.

Params:

NameTypeAttributeDescription
writeFn Function

called function for new data

Return:

Writable