pipe streams together and close all of them if one of them closes
pump is a small node module that pipes streams together and destroys all of them if one of them closes.
npm install pump
When using standard
source.pipe(dest) source will not be destroyed if dest emits close or an error.
You are also not able to provide a callback to tell when then pipe has finished.
pump does these two things for you
Simply pass the streams you want to pipe together to pump and add an optional callback
var pump = require'pump';var fs = require'fs';var source = fscreateReadStream'/dev/random';var dest = fscreateWriteStream'/dev/null';pumpsource destconsole.log'pipe finished' err;;setTimeoutdestdestroy; // when dest is closed pump will destroy source1000;
You can use pump to pipe more than two streams together as well
var transform = someTransformStream;pumpsource transform anotherTransform destconsole.log'pipe finished' err;;
dest closes all of them will be destroyed.