Package Exports
- through
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (through) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
#through
Easy way to create a Stream
that is both readable
and writable
.
- Pass in optional
write
andend
methods. through
takes care of pause/resume logic if you usethis.queue(data)
instead ofthis.emit('data', data)
.- Use
this.pause()
andthis.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 synchronous streams in event-stream.
var through = require('through')
through(function write(data) {
this.queue(data) //data *must* not be null
},
function end () { //optional
this.queue(null)
})
Or, can also be used without buffering on pause, use this.emit('data', data)
,
and this.emit('end')
var through = require('through')
through(function write(data) {
this.emit('data', data)
//this.pause()
},
function end () { //optional
this.emit('end')
})
Extended Options
You will probably not need these 99% of the time.
autoDestroy=false
By default, through
emits close when the writable
and readable side of the stream has ended.
If that is not desired, set autoDestroy=false
.
var through = require('through')
//like this
var ts = through(write, end, {autoDestroy: false})
//or like this
var ts = through(write, end)
ts.autoDestroy = false
License
MIT / Apache2