diff --git a/README.md b/README.md index af3b1eb..e51d9a3 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,44 @@ -stream-to-promise [![Build Status](https://travis-ci.org/bendrucker/stream-to-promise.svg)](https://travis-ci.org/bendrucker/stream-to-promise) [![NPM version](https://badge.fury.io/js/stream-to-promise.svg)](http://badge.fury.io/js/stream-to-promise) +stream-to-promise [![Build Status](https://travis-ci.org/bendrucker/stream-to-promise.svg)](https://travis-ci.org/bendrucker/stream-to-promise) ================= -Convert streams (readable or writable) to promises +> Convert streams (readable or writable) to promises +## Installing + +```sh +$ npm install --save[-dev] stream-to-promise +``` + +## Examples + +### Readable Streams ```js streamToPromise(readableStream).then(function (buffer) { // buffer.length === 3 -}); -readableStream.emit('data', new Buffer()); -readableStream.emit('data', new Buffer()); -readableStream.emit('data', new Buffer()); -readableStream.emit('end'); // promise is resolved here +}) +readableStream.emit('data', new Buffer()) +readableStream.emit('data', new Buffer()) +readableStream.emit('data', new Buffer()) +readableStream.emit('end') // promise is resolved here ``` +### Writable Streams + ```js streamToPromise(writableStream).then(function () { // resolves undefined -}); -writableStream.write('data'); -writeableStream.end(); // promise is resolved here +}) +writableStream.write('data') +writeableStream.end() // promise is resolved here ``` +### Error Handling + ```js -var err = new Error(); +var err = new Error() streamToPromise(stream).catch(function (error) { - // error === err; -}); -stream.emit('error', err); // promise is rejected here + // error === err +}) +stream.emit('error', err) // promise is rejected here ```