Neverending Pile of Messages

    streamify

    1.0.0 • Public • Published

    node-streamify

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

    Build Status Dependency Status codecov

    Usage

    const streamify = require('streamify');
    const request   = require('request');
     
    exports.doSomething = () => {
      let stream = 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!!
      return stream;
    }
     
    // 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

    Install

    npm i streamify

    DownloadsWeekly Downloads

    7,955

    Version

    1.0.0

    License

    MIT

    Unpacked Size

    8.41 kB

    Total Files

    4

    Last publish

    Collaborators

    • fent