Name |
Date |
Size |
#Lines |
LOC |
||
---|---|---|---|---|---|---|
.. | - | - | ||||
node_modules/pump/ | 12-May-2024 | - | 344 | 270 | ||
.travis.yml | D | 12-May-2024 | 68 | 9 | 6 | |
LICENSE | D | 12-May-2024 | 1.1 KiB | 21 | 17 | |
README.md | D | 12-May-2024 | 1.9 KiB | 57 | 38 | |
index.js | D | 12-May-2024 | 1.7 KiB | 61 | 46 | |
package.json | D | 12-May-2024 | 1.7 KiB | 71 | 70 | |
test.js | D | 12-May-2024 | 4.5 KiB | 236 | 191 |
README.md
1# pumpify 2 3Combine an array of streams into a single duplex stream using [pump](https://github.com/mafintosh/pump) and [duplexify](https://github.com/mafintosh/duplexify). 4If one of the streams closes/errors all streams in the pipeline will be destroyed. 5 6``` 7npm install pumpify 8``` 9 10[](http://travis-ci.org/mafintosh/pumpify) 11 12## Usage 13 14Pass the streams you want to pipe together to pumpify `pipeline = pumpify(s1, s2, s3, ...)`. 15`pipeline` is a duplex stream that writes to the first streams and reads from the last one. 16Streams are piped together using [pump](https://github.com/mafintosh/pump) so if one of them closes 17all streams will be destroyed. 18 19``` js 20var pumpify = require('pumpify') 21var tar = require('tar-fs') 22var zlib = require('zlib') 23var fs = require('fs') 24 25var untar = pumpify(zlib.createGunzip(), tar.extract('output-folder')) 26// you can also pass an array instead 27// var untar = pumpify([zlib.createGunzip(), tar.extract('output-folder')]) 28 29fs.createReadStream('some-gzipped-tarball.tgz').pipe(untar) 30``` 31 32If you are pumping object streams together use `pipeline = pumpify.obj(s1, s2, ...)`. 33Call `pipeline.destroy()` to destroy the pipeline (including the streams passed to pumpify). 34 35### Using `setPipeline(s1, s2, ...)` 36 37Similar to [duplexify](https://github.com/mafintosh/duplexify) you can also define the pipeline asynchronously using `setPipeline(s1, s2, ...)` 38 39``` js 40var untar = pumpify() 41 42setTimeout(function() { 43 // will start draining the input now 44 untar.setPipeline(zlib.createGunzip(), tar.extract('output-folder')) 45}, 1000) 46 47fs.createReadStream('some-gzipped-tarball.tgz').pipe(untar) 48``` 49 50## License 51 52MIT 53 54## Related 55 56`pumpify` is part of the [mississippi stream utility collection](https://github.com/maxogden/mississippi) which includes more useful stream modules similar to this one. 57