initial commit
This commit is contained in:
135
node_modules/fork-stream/README.md
generated
vendored
Normal file
135
node_modules/fork-stream/README.md
generated
vendored
Normal file
@@ -0,0 +1,135 @@
|
||||
fork-stream [](https://travis-ci.org/deoxxa/fork-stream)
|
||||
===========
|
||||
|
||||
Fork a stream in multiple directions according to a function.
|
||||
|
||||
Overview
|
||||
--------
|
||||
|
||||
fork-stream basically gives you conditional branching for streams. You supply
|
||||
the logic, fork-stream supplies the streaming.
|
||||
|
||||
Super Quickstart
|
||||
----------------
|
||||
|
||||
Code:
|
||||
|
||||
```javascript
|
||||
var ForkStream = require("fork-stream");
|
||||
|
||||
var fork = new ForkStream({
|
||||
classifier: function classify(e, done) {
|
||||
return done(null, e.match(/[aeiou]/));
|
||||
},
|
||||
});
|
||||
|
||||
fork.a.on("data", console.log.bind(console, "vowels:"));
|
||||
fork.b.on("data", console.log.bind(console, "no vowels:"));
|
||||
|
||||
fork.write("hello");
|
||||
fork.write("zxcbzz");
|
||||
fork.write("ooooooo");
|
||||
|
||||
fork.end();
|
||||
```
|
||||
|
||||
Output:
|
||||
|
||||
```
|
||||
vowels: hello
|
||||
no vowels: zxcbzz
|
||||
vowels: ooooooo
|
||||
```
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
||||
Available via [npm](http://npmjs.org/):
|
||||
|
||||
> $ npm install fork-stream
|
||||
|
||||
Or via git:
|
||||
|
||||
> $ git clone git://github.com/deoxxa/fork-stream.git node_modules/fork-stream
|
||||
|
||||
API
|
||||
---
|
||||
|
||||
**constructor**
|
||||
|
||||
Creates a new fork-stream.
|
||||
|
||||
```javascript
|
||||
new ForkStream(options);
|
||||
```
|
||||
|
||||
```javascript
|
||||
var fork = new ForkStream({
|
||||
highWaterMark: 5,
|
||||
classifier: function(e, done) {
|
||||
return done(null, !!e);
|
||||
},
|
||||
});
|
||||
```
|
||||
|
||||
* _options_ - regular stream options, and a `classifier` property that
|
||||
fork-stream will use to decide what output stream to send your object down.
|
||||
|
||||
Example
|
||||
-------
|
||||
|
||||
Also see [example.js](https://github.com/deoxxa/fork-stream/blob/master/example.js).
|
||||
|
||||
```javascript
|
||||
var ForkStream = require("fork-stream");
|
||||
|
||||
var fork = new ForkStream({
|
||||
classifier: function classify(e, done) {
|
||||
return done(null, e >= 5);
|
||||
},
|
||||
});
|
||||
|
||||
fork.a.on("data", console.log.bind(null, "a"));
|
||||
fork.b.on("data", console.log.bind(null, "b"));
|
||||
|
||||
for (var i=0;i<20;++i) {
|
||||
fork.write(Math.round(Math.random() * 10));
|
||||
}
|
||||
```
|
||||
|
||||
Output:
|
||||
|
||||
```
|
||||
b 1
|
||||
a 6
|
||||
a 9
|
||||
a 10
|
||||
a 7
|
||||
a 5
|
||||
b 2
|
||||
b 4
|
||||
a 8
|
||||
b 3
|
||||
a 5
|
||||
b 4
|
||||
a 7
|
||||
a 8
|
||||
b 1
|
||||
a 6
|
||||
b 2
|
||||
b 0
|
||||
a 5
|
||||
b 1
|
||||
```
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
3-clause BSD. A copy is included with the source.
|
||||
|
||||
Contact
|
||||
-------
|
||||
|
||||
* GitHub ([deoxxa](http://github.com/deoxxa))
|
||||
* Twitter ([@deoxxa](http://twitter.com/deoxxa))
|
||||
* Email ([deoxxa@fknsrs.biz](mailto:deoxxa@fknsrs.biz))
|
||||
Reference in New Issue
Block a user