nstream

0.1.4 • Public • Published

nstream

nstream is a library for working with Node.js streams. Streams are an important part of node.js, and many core libraries make use of streams under the hood. The req and res objects are instances of readable and writable streams, respectively. This is sometimes overlooked in programming APIs that try to mimic node's interface.

tl;dr

The follow streams are exposed. Each stream may be piped into another and provides a basic set of services for visibility and validation.

  • pipeline (same as stream.pipeline)
  • LineStream
  • Broadcaster
  • PassThrough
  • WordCounter
  • ByteCounter
  • FilterStream
  • StreamStamper
  • ShellStream
  • TagParser

Example grep with streams

const { WordCounter,
        FilterStream,
        StreamStamper,
        StreamLines } = require('nstreams');

const proc = require('process');
const fs = require('fs');
const FNAME = './testfile2.txt'


var wc = new WordCounter({});
var filt = new FilterStream({}, proc.argv[2]);
var stamp = new StreamStamper({}, 'out>');
var start_time = proc.hrtime();

var fstream = fs.createReadStream(FNAME);


fstream.pipe(new StreamLines({}))
  .pipe(wc)
  .pipe(filt)
  .pipe(stamp)
  .pipe(proc.stdout);


fstream.on('close', () => {
  setTimeout(() => {
    proc.stdout.write('\n'+ proc.hrtime(start_time)+
                      ' words '+wc.count+'\n'+
                     ' lines ' + filt.found +'\n')
  }, 1000);

});

/nstream/

    Package Sidebar

    Install

    npm i nstream

    Weekly Downloads

    1

    Version

    0.1.4

    License

    MIT

    Unpacked Size

    33.5 kB

    Total Files

    14

    Last publish

    Collaborators

    • zinkem