@stdlib/streams
Version:
Streams.
145 lines (110 loc) • 4.66 kB
Plain Text
{{alias}}( iterator[, options] )
Creates a readable stream from an iterator.
In object mode, `null` is a reserved value. If an iterator generates `null`
values (e.g., as a means to encode missing values), the stream will
prematurely end. Consider an alternative encoding or explicitly map `null`
values to a different value by wrapping the provided iterator with another
iterator.
In binary mode, if an iterator generates `undefined` values, the stream will
emit an error. Consider providing a custom serialization function or
explicitly map `undefined` values to a different value by wrapping the
provided iterator with another iterator.
If a serialization function fails to return a string or Buffer, the stream
emits an error.
Parameters
----------
iterator: Object
Source iterator.
options: Object (optional)
Options.
options.objectMode: boolean (optional)
Specifies whether a stream should operate in "objectMode". Default:
false.
options.encoding: string|null (optional)
Specifies how Buffer objects should be decoded to strings. Default:
null.
options.highWaterMark: integer (optional)
Specifies the maximum number of bytes to store in an internal buffer
before pausing iteration.
options.sep: string (optional)
Separator used to join streamed data. This option is only applicable
when a stream is not in "objectMode". Default: '\n'.
options.serialize: Function (optional)
Serialization function. The default behavior is to serialize iterated
values as JSON strings. This option is only applicable when a stream is
not in "objectMode".
Returns
-------
stream: ReadableStream
Readable stream.
Examples
--------
> function fcn( chunk ) { console.log( chunk.toString() ); };
> var opts = { 'iter': 10 };
> var it = {{alias:/random/iter/randu}}( opts );
> var s = {{alias}}( it );
> var o = {{alias:/streams/node/inspect-sink}}( fcn );
> s.pipe( o );
{{alias}}.factory( [options] )
Returns a function for creating readable streams from iterators.
Parameters
----------
options: Object (optional)
Options.
options.objectMode: boolean (optional)
Specifies whether a stream should operate in "objectMode". Default:
false.
options.encoding: string|null (optional)
Specifies how Buffer objects should be decoded to strings. Default:
null.
options.highWaterMark: integer (optional)
Specifies the maximum number of bytes to store in an internal buffer
before pausing iteration.
options.sep: string (optional)
Separator used to join streamed data. This option is only applicable
when a stream is not in "objectMode". Default: '\n'.
options.serialize: Function (optional)
Serialization function. The default behavior is to serialize iterated
values as JSON strings. This option is only applicable when a stream is
not in "objectMode".
Returns
-------
fcn: Function
Function for creating readable streams.
Examples
--------
> var opts = { 'objectMode': true, 'highWaterMark': 64 };
> var createStream = {{alias}}.factory( opts );
{{alias}}.objectMode( iterator[, options] )
Returns an "objectMode" readable stream from an iterator.
In object mode, `null` is a reserved value. If an iterator generates `null`
values (e.g., as a means to encode missing values), the stream will
prematurely end. Consider an alternative encoding or explicitly map `null`
values to a different value by wrapping the provided iterator with another
iterator.
Parameters
----------
iterator: Object
Source iterator.
options: Object (optional)
Options.
options.encoding: string|null (optional)
Specifies how Buffer objects should be decoded to strings. Default:
null.
options.highWaterMark: integer (optional)
Specifies the maximum number of objects to store in an internal buffer
before pausing iteration.
Returns
-------
stream: ReadableStream
Readable stream operating in "objectMode".
Examples
--------
> function fcn( v ) { console.log( v ); };
> var opts = { 'iter': 10 };
> var it = {{alias:/random/iter/randu}}( opts );
> var s = {{alias}}.objectMode( it );
> var o = {{alias:/streams/node/inspect-sink}}.objectMode( fcn );
> s.pipe( o );
See Also
--------