You can clone with
Add close() to the test debugging.
Flow on close(), since you might close without every writing anything.
Comb through the flowing/paused logic again to handle another edge ca…
…se, and remove some redundant code.
Always asynchronize the write/close actions. Also, s/emitter/stream/
No need to test paused right after setting it to false.
Now, that's just silly.
Whittling it down a bit further. Not terminating on null, since that'…
…s something that's easy enough to do higher up. Also, no special treatment for length-ed things, since again, that's a job for a wrapper.
A stupid example to poke at it, and fixed up some edge cases.
A little streaming util.