time-window-stream

0.1.0 • Public • Published

time-window-stream

concatenate all the data chunks that fall within a time window

testling badge

build status

example

Every time there is a write on stdin, wait 1 second to buffer up more data and concatenate everything in that 1 second window together:

var timeWindow = require('time-window-stream');
var through = require('through');
 
var tw = timeWindow(1000);
process.stdin.pipe(tw).pipe(through(function (buf) {
    console.dir(buf.toString('utf8'));
}));

output:

$ (echo -n abc; sleep 0.5; echo -n def; sleep 2; echo -n hi; sleep 0.1; echo -n jkl) | node tw.js
'abcdef'
'hijkl'

'abc' and 'def' are only separated by 0.5 seconds, so they get put into the same chunk. The pause of 2 seconds breaks the chunk and then 'hi' gets concatenated to 'jkl' because only 0.1 seconds elapsed between them.

methods

var timeWindow = require('time-window-stream')

var tw = timeWindow(time, opts={})

Create a new time window through stream tw that on a write will wait time milliseconds to concatenate more writes together in the same batch.

If opts.objectMode is true, tw will output arrays of objects with all the objects that were written during the time window. Otherwise, tw will output buffers with the concatenated data written during the time window.

install

With npm do:

npm install time-window-stream

license

MIT

Readme

Keywords

none

Package Sidebar

Install

npm i time-window-stream

Weekly Downloads

0

Version

0.1.0

License

MIT

Last publish

Collaborators

  • nopersonsmodules