Permalink
Browse files

explain new api

  • Loading branch information...
1 parent 105677a commit f5c17027e88d0cb8f51ba02dff058f909064617a @dominictarr committed Nov 26, 2012
Showing with 10 additions and 13 deletions.
  1. +10 −13 readme.markdown
View
@@ -2,43 +2,40 @@
[![build status](https://secure.travis-ci.org/dominictarr/through.png)](http://travis-ci.org/dominictarr/through)
-Easy way to create a `Stream` that is both `readable` and `writable`. Pass in optional `write` and `end` methods. `through` takes care of pause/resume logic.
+Easy way to create a `Stream` that is both `readable` and `writable`.
+Pass in optional `write` and `end` methods. `through` takes care of pause/resume logic.
Use `this.pause()` and `this.resume()` to manage flow.
Check `this.paused` to see current flow state. (write always returns `!this.paused`)
-this function is the basis for most of the syncronous streams in [event-stream](http://github.com/dominictarr/event-stream).
+This function is the basis for most of the syncronous streams in
+[event-stream](http://github.com/dominictarr/event-stream).
``` js
var through = require('through')
through(function write(data) {
- this.emit('data', data)
- //this.pause()
+ this.queue(data) //data *must* not be null
},
function end () { //optional
- this.emit('end')
+ this.queue(null)
})
-
```
-or, with buffering on pause, use `this.queue(data)`,
-data *cannot* be `null`. `this.queue(null)` will emit 'end'
-when it gets to the `null` element.
+Or, can also be used _without_ buffering on pause, use `this.emit('data', data)`,
+and this.emit('end')
``` js
var through = require('through')
through(function write(data) {
- this.queue(data)
+ this.emit('data', data)
//this.pause()
},
function end () { //optional
- this.queue(null)
+ this.emit('end')
})
-
```
-
## License
MIT / Apache2

0 comments on commit f5c1702

Please sign in to comment.