Buckets:
| # cloneable-readable | |
| [](https://greenkeeper.io/) | |
| [](https://travis-ci.org/mcollina/cloneable-readable) | |
| Clone a Readable stream, safely. | |
| ```js | |
| 'use strict' | |
| var cloneable = require('cloneable-readable') | |
| var fs = require('fs') | |
| var pump = require('pump') | |
| var stream = cloneable(fs.createReadStream('./package.json')) | |
| pump(stream.clone(), fs.createWriteStream('./out1')) | |
| // simulate some asynchronicity | |
| setImmediate(function () { | |
| pump(stream, fs.createWriteStream('./out2')) | |
| }) | |
| ``` | |
| **cloneable-readable** automatically handles `objectMode: true`. | |
| This module comes out of an healthy discussion on the 'right' way to | |
| clone a Readable in https://github.com/gulpjs/vinyl/issues/85 | |
| and https://github.com/nodejs/readable-stream/issues/202. This is my take. | |
| **YOU MUST PIPE ALL CLONES TO START THE FLOW** | |
| You can also attach `'data'` and `'readable'` events to them. | |
| ## API | |
| ### cloneable(stream) | |
| Create a `Cloneable` stream. | |
| A Cloneable has a `clone()` method to create more clones. | |
| All clones must be resumed/piped to start the flow. | |
| ### cloneable.isCloneable(stream) | |
| Check if `stream` needs to be wrapped in a `Cloneable` or not. | |
| ## Acknowledgements | |
| This project was kindly sponsored by [nearForm](http://nearform.com). | |
| ## License | |
| MIT | |
Xet Storage Details
- Size:
- 1.42 kB
- Xet hash:
- e4cfbb023c55138758a6b9b5b102cb0483abc5ffe6cbf8d9ec8c6f5ccdebe45a
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.