isaacs/readable-stream — pull request #1 by dominictarr (2012-07-27 13:06:56+00:00)
Title: add Error Handling & cleanup

you need this stuff as well.

Also, two other small corrections, return `dest`, and check `written === false` instead of !written
which is consistent with the current `pipe`, and documentation.

with this stuff in the pipe is about the same length,
I suggest we just test

``` js

if ('function' === typeof source.read) {
//use read() still piping
...
} else {
//use ondata style
...
}