diff options
Diffstat (limited to 'deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/duplexify/README.md')
-rw-r--r-- | deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/duplexify/README.md | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/duplexify/README.md b/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/duplexify/README.md deleted file mode 100644 index 8352900fc6..0000000000 --- a/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/duplexify/README.md +++ /dev/null @@ -1,97 +0,0 @@ -# duplexify - -Turn a writeable and readable stream into a single streams2 duplex stream. - -Similar to [duplexer2](https://github.com/deoxxa/duplexer2) except it supports both streams2 and streams1 as input -and it allows you to set the readable and writable part asynchronously using `setReadable(stream)` and `setWritable(stream)` - -``` -npm install duplexify -``` - -[![build status](http://img.shields.io/travis/mafintosh/duplexify.svg?style=flat)](http://travis-ci.org/mafintosh/duplexify) - -## Usage - -Use `duplexify(writable, readable, streamOptions)` (or `duplexify.obj(writable, readable)` to create an object stream) - -``` js -var duplexify = require('duplexify') - -// turn writableStream and readableStream into a single duplex stream -var dup = duplexify(writableStream, readableStream) - -dup.write('hello world') // will write to writableStream -dup.on('data', function(data) { - // will read from readableStream -}) -``` - -You can also set the readable and writable parts asynchronously - -``` js -var dup = duplexify() - -dup.write('hello world') // write will buffer until the writable - // part has been set - -// wait a bit ... -dup.setReadable(readableStream) - -// maybe wait some more? -dup.setWritable(writableStream) -``` - -If you call `setReadable` or `setWritable` multiple times it will unregister the previous readable/writable stream. -To disable the readable or writable part call `setReadable` or `setWritable` with `null`. - -If the readable or writable streams emits an error or close it will destroy both streams and bubble up the event. -You can also explicitly destroy the streams by calling `dup.destroy()`. The `destroy` method optionally takes an -error object as argument, in which case the error is emitted as part of the `error` event. - -``` js -dup.on('error', function(err) { - console.log('readable or writable emitted an error - close will follow') -}) - -dup.on('close', function() { - console.log('the duplex stream is destroyed') -}) - -dup.destroy() // calls destroy on the readable and writable part (if present) -``` - -## HTTP request example - -Turn a node core http request into a duplex stream is as easy as - -``` js -var duplexify = require('duplexify') -var http = require('http') - -var request = function(opts) { - var req = http.request(opts) - var dup = duplexify(req) - req.on('response', function(res) { - dup.setReadable(res) - }) - return dup -} - -var req = request({ - method: 'GET', - host: 'www.google.com', - port: 80 -}) - -req.end() -req.pipe(process.stdout) -``` - -## License - -MIT - -## Related - -`duplexify` is part of the [mississippi stream utility collection](https://github.com/maxogden/mississippi) which includes more useful stream modules similar to this one. |