@keepzen/object-stream
v0.2.0
Published
Transfrom Stream support map, filter and reduce
Downloads
8
Maintainers
Readme
@keepzen/object-stream
You can find the source at GitHub.
Now do not need to write the tedious of .pipe(ObjectStream.someMethod(f))
s.
map(f)
, reduce(f)
and other methods have piped this stream into the new one.
- @keepzen/object-stream
- ~ObjectStream
- new ObjectStream()
- instance
- .transform ⇒ ObjectStream
- .filterIn ⇒ ObjectStream
- .source() ⇒ ReadableStream | ObjectStream
- .finish(f)
- .map(f, options) ⇒ ObjectStream
- .reduce(f, initResult) ⇒ ObjectStream
- .cond(conds) ⇒ ObjectStream
- .filter(f) ⇒ ObjectStream
- .filterOut(f) ⇒ ObjectStream
- .if(cond, then, elseFun) ⇒ ObjectStream
- .observer(f) ⇒ ObjectStream
- static
- .create() ⇒ ObjectStream
- .from(upstream, where) ⇒ ObjectStream
- ~getChuckToLinesHandler(code) ⇒ function
- ~ObjectStream
@keepzen/object-stream~ObjectStream
ObjectStream.
It is a transform stream, use to transform items of upstream to a another form.
A stream like a array, they are all have items.
We can map
, filter
, and reduce
on an array,
and now with help of ObjectStream
, we can do these on stream.
Kind: inner class of @keepzen/object-stream
- ~ObjectStream
- new ObjectStream()
- instance
- .transform ⇒ ObjectStream
- .filterIn ⇒ ObjectStream
- .source() ⇒ ReadableStream | ObjectStream
- .finish(f)
- .map(f, options) ⇒ ObjectStream
- .reduce(f, initResult) ⇒ ObjectStream
- .cond(conds) ⇒ ObjectStream
- .filter(f) ⇒ ObjectStream
- .filterOut(f) ⇒ ObjectStream
- .if(cond, then, elseFun) ⇒ ObjectStream
- .observer(f) ⇒ ObjectStream
- static
- .create() ⇒ ObjectStream
- .from(upstream, where) ⇒ ObjectStream
new ObjectStream()
Do NOT create instance with new
.
Just use static methods to get instance.
objectStream.transform ⇒ ObjectStream
Alias of map method.
Kind: instance property of ObjectStream
| Param | Type | | --- | --- | | f | functtion |
objectStream.filterIn ⇒ ObjectStream
Alias offilter method.
Kind: instance property of ObjectStream
| Param | Type | | --- | --- | | f, | function |
objectStream.source() ⇒ ReadableStream | ObjectStream
Get the source of this stream.
Kind: instance method of ObjectStream
objectStream.finish(f)
Add finish
event handler for this stream.
Kind: instance method of ObjectStream
| Param | Type | Description | | --- | --- | --- | | f | function | A function require no argument. |
objectStream.map(f, options) ⇒ ObjectStream
Transform upstream with function f
.
Kind: instance method of ObjectStream
| Param | Type | Description |
| --- | --- | --- |
| f | function | f(data)=>anotherFormOfData
|
| options | object | |
| options.spread | boolean | Whether to spread the result if it is a array. The Default value is false
. |
| options.filterOutUndefined | boolean | Whether filter out the undefined
from upstream. The default is false
. |
objectStream.reduce(f, initResult) ⇒ ObjectStream
Reduce the upstream with function f
.
The return stream will read many time from upstream, but just write once to downstream.
Kind: instance method of ObjectStream
| Param | Type | Description |
| --- | --- | --- |
| f | function | (result,data)=>resultType
; |
| initResult | object | The initialization result pass to reducer f
. |
objectStream.cond(conds) ⇒ ObjectStream
Process the items with conditions.
If there are some conditions can not be handle, they are jest ignored, and not to flow to downstream.
Kind: instance method of ObjectStream
| Param | Type | Description |
| --- | --- | --- |
| conds | Array(object) | The item of the array, is a object, like {pred,mapper}
, the precd
is function(object)=>boolean
, and mapper
is function(object)=>annotherObject
. |
objectStream.filter(f) ⇒ ObjectStream
Filter the stream.
Iff the f(obj) == true
,
the obj
will flow to downstream.
Kind: instance method of ObjectStream
| Param | Type | Description | | --- | --- | --- | | f | function | (obj)=>boolean . |
objectStream.filterOut(f) ⇒ ObjectStream
Filter out items from upstream.
Kind: instance method of ObjectStream
| Param | Type | Description |
| --- | --- | --- |
| f | function | If f(data) == true
, the data
will filter out from upstream. |
objectStream.if(cond, then, elseFun) ⇒ ObjectStream
If-then-else clause in stream.
Kind: instance method of ObjectStream
| Param | Type | Description |
| --- | --- | --- |
| cond | function | function(obj)=>boolean
. |
| then | function | function(obj)=>anotherObj
. The condition is satisfied, the function will be called. |
| elseFun | function | function(obj)=>anotherObje
. The condition is not satisfied this function will be called. This is option. If there is not elseFn
, the item which don't satisfy the condition, will be ignored. |
objectStream.observer(f) ⇒ ObjectStream
Just observe the stream items with function f
, not change them.
Kind: instance method of ObjectStream
| Param | Type | Description | | --- | --- | --- | | f | function | The function use to observer stream item. |
ObjectStream.create() ⇒ ObjectStream
Create a ObjectStream instance.
You can use .map(f)
, .filter(f)
or other methods to get a new stream object,
but the function f
will never be called, until some data be write to this
stream or one readable stream pipe to this object.
Kind: static method of ObjectStream
Returns: ObjectStream - .
ObjectStream.from(upstream, where) ⇒ ObjectStream
Create a new stream from a upstream.
Kind: static method of ObjectStream
| Param | Type | Description | | --- | --- | --- | | upstream | ReadableStream | | | where | function | A Function return boolean. Default is function always return true. |
@keepzen/object-stream~getChuckToLinesHandler(code) ⇒ function
Get a function that can use to transform a chuck to Array of string.
Kind: inner method of @keepzen/object-stream
Returns: function - - f(bufferOrString)=>Array(string)
| Param | Type | Default | Description | | --- | --- | --- | --- | | code | string | "utf8" | The encode of the chuck. Default is 'uft8'. |