Skip to content
This repository was archived by the owner on May 31, 2020. It is now read-only.

Repository files navigation

node-streamify

* Abandoned *

Use a passthrough stream

import{PassThrough}from'stream';exportmyCoolFunction=()=>{letstream=newPassThrough();asyncFunc((err,otherStream)=>{otherStream.pipe(stream);});}

Streamify helps you easily provide a streaming interface for your code.

Dependency Statuscodecov

Usage

conststreamify=require('streamify');constrequest=require('request');exports.doSomething=()=>{letstream=streamify();request(url1,(err,res,body)=>{// Do something with `body`.// Once the actual stream you want to return is ready,// call `stream.resolve()`.stream.resolve(request(url2));});// Your function can return back a stream!!returnstream;};// Because `doSomething()` returns a stream, it can be piped.exports.doSomething().pipe(anotherStream);

API

streamify([options])

Returns an instance of a stream. options can be

  • readable - Defaults to true.
  • writable - Defaults to true.

Stream#resolve(stream)

Must be called only once when the actual stream you are proxying to becomes available after an asynchronous operation.

Stream#unresolve()

Can be used to unbind a a resolved stream to later call resolve() again.

Stream#addSource(stream)

Add a source readable stream.

Stream#removeSource()

Remove previously added source stream.

Stream#addDest(stream)

Add a destination writable stream.

Stream#removeDest()

Remove a previously added destination stream.

Install

npm install streamify

Tests

Tests are written with mocha

npm test

About

Streamify helps you easily provide a streaming interface for your code.

Topics

Resources

Stars

52 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages