aboutsummaryrefslogtreecommitdiff
path: root/node_modules/multistream/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/multistream/README.md')
-rw-r--r--node_modules/multistream/README.md86
1 files changed, 86 insertions, 0 deletions
diff --git a/node_modules/multistream/README.md b/node_modules/multistream/README.md
new file mode 100644
index 0000000..508034e
--- /dev/null
+++ b/node_modules/multistream/README.md
@@ -0,0 +1,86 @@
+# multistream [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url]
+
+[travis-image]: https://img.shields.io/travis/feross/multistream/master.svg
+[travis-url]: https://travis-ci.org/feross/multistream
+[npm-image]: https://img.shields.io/npm/v/multistream.svg
+[npm-url]: https://npmjs.org/package/multistream
+[downloads-image]: https://img.shields.io/npm/dm/multistream.svg
+[downloads-url]: https://npmjs.org/package/multistream
+[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg
+[standard-url]: https://standardjs.com
+
+#### A stream that emits multiple other streams one after another (streams3)
+
+[![Sauce Test Status](https://saucelabs.com/browser-matrix/multistream.svg)](https://saucelabs.com/u/multistream)
+
+![cat](https://raw.githubusercontent.com/feross/multistream/master/img.jpg)
+
+Simple, robust streams3 version of [combined-stream](https://www.npmjs.org/package/combined-stream). Allows you to combine multiple streams into a single stream. When the first stream ends, the next one starts, and so on, until all streams are consumed.
+
+This module is used by [WebTorrent](http://webtorrent.io), specifically [create-torrent](https://github.com/feross/create-torrent).
+
+### install
+
+```
+npm install multistream
+```
+
+### usage
+
+Use `multistream` like this:
+
+```js
+var MultiStream = require('multistream')
+var fs = require('fs')
+
+var streams = [
+ fs.createReadStream(__dirname + '/numbers/1.txt'),
+ fs.createReadStream(__dirname + '/numbers/2.txt'),
+ fs.createReadStream(__dirname + '/numbers/3.txt')
+]
+
+new MultiStream(streams).pipe(process.stdout) // => 123
+```
+
+You can also create an object-mode stream with `MultiStream.obj(streams)`.
+
+To lazily create the streams, wrap them in a function:
+
+```js
+var streams = [
+ fs.createReadStream(__dirname + '/numbers/1.txt'),
+ function () { // will be executed when the stream is active
+ return fs.createReadStream(__dirname + '/numbers/2.txt')
+ },
+ function () { // same
+ return fs.createReadStream(__dirname + '/numbers/3.txt')
+ }
+]
+
+new MultiStream(streams).pipe(process.stdout) // => 123
+```
+
+Alternatively, streams may be created by an asynchronous "factory" function:
+
+```js
+var count = 0
+function factory (cb) {
+ if (count > 3) return cb(null, null)
+ count++
+ setTimeout(function () {
+ cb(null, fs.createReadStream(__dirname + '/numbers/' + count + '.txt'))
+ }, 100)
+}
+
+new MultiStream(factory).pipe(process.stdout) // => 123
+```
+
+### contributors
+
+- [Feross Aboukhadijeh](http://feross.org)
+- [Mathias Buus](https://github.com/mafintosh/)
+- [Yuri Astrakhan](https://github.com/nyurik/)
+
+### license
+
+MIT. Copyright (c) [Feross Aboukhadijeh](http://feross.org).