Mhysa

Dependency-free stream utils for Node.js

Released under the MIT license.

yarn add mhysa

Tested with Node.js versions 8+

Convert an array into a Readable stream of its elements

Param Type Description array T[] Array of elements to stream

Return a ReadWrite stream that maps streamed chunks

Param Type Description mapper (chunk: T, encoding: string) => R Mapper function, mapping each (chunk, encoding) to a new chunk (or a promise of such) options object options.readableObjectMode boolean Whether this stream should behave as a readable stream of objects options.writableObjectMode boolean Whether this stream should behave as a writable stream of objects

Return a ReadWrite stream that flat maps streamed chunks

Param Type Description mapper (chunk: T, encoding: string) => R[] Mapper function, mapping each (chunk, encoding) to an array of new chunks (or a promise of such) options object options.readableObjectMode boolean Whether this stream should behave as a readable stream of objects options.writableObjectMode boolean Whether this stream should behave as a writable stream of objects

Return a ReadWrite stream that filters out streamed chunks for which the predicate does not hold

Param Type Description predicate (chunk: T, encoding: string) => boolean Predicate with which to filter scream chunks options object options.objectMode boolean boolean

Return a ReadWrite stream that reduces streamed chunks down to a single value and yield that value

Param Type Description iteratee (chunk: T, encoding: string) => R Reducer function to apply on each streamed chunk initialValue T Initial value options object options.readableObjectMode boolean Whether this stream should behave as a readable stream of objects options.writableObjectMode boolean Whether this stream should behave as a writable stream of objects

Return a ReadWrite stream that splits streamed chunks using the given separator

Param Type Description separator string Separator to split by, defaulting to "

"

Return a ReadWrite stream that joins streamed chunks using the given separator

Param Type Description separator string Separator to join with

Return a ReadWrite stream that replaces occurrences of the given string or regular expression in the streamed chunks with the specified replacement string

Param Type Description searchValue string | RegExp Search string to use replaceValue string Replacement string to use

Return a ReadWrite stream that parses the streamed chunks as JSON

Return a ReadWrite stream that stringifies the streamed chunks to JSON

Return a ReadWrite stream that collects streamed chunks into an array or buffer

Param Type Description options object options.objectMode boolean Whether this stream should behave as a stream of objects

Return a Readable stream of readable streams concatenated together

Param Type Description streams ...Readable[] Readable streams to concatenate

Return a Readable stream of readable streams merged together in chunk arrival order

Param Type Description streams ...Readable[] Readable streams to merge

Return a Duplex stream from a writable stream that is assumed to somehow, when written to, cause the given readable stream to yield chunks

Param Type Description writable Writable Writable stream assumed to cause the readable stream to yield chunks when written to readable Readable Readable stream assumed to yield chunks when the writable stream is written to

Return a Duplex stream from a child process' stdin and stdout

Param Type Description childProcess ChildProcess Child process from which to create duplex stream

Return a Promise resolving to the last streamed chunk of the given readable stream, after it has ended