site_opytex/theme/node_modules/ordered-read-streams
Bertrand Benjamin 5b475a2f38 Feat: import work and verify compilation 2020-06-24 08:26:04 +02:00
..
test Feat: import work and verify compilation 2020-06-24 08:26:04 +02:00
.npmignore Feat: import work and verify compilation 2020-06-24 08:26:04 +02:00
.travis.yml Feat: import work and verify compilation 2020-06-24 08:26:04 +02:00
LICENSE Feat: import work and verify compilation 2020-06-24 08:26:04 +02:00
README.md Feat: import work and verify compilation 2020-06-24 08:26:04 +02:00
index.js Feat: import work and verify compilation 2020-06-24 08:26:04 +02:00
package.json Feat: import work and verify compilation 2020-06-24 08:26:04 +02:00

README.md

ordered-read-streams NPM version Build Status

Combines array of streams into one read stream in strict order.

Installation

npm install ordered-read-streams

Overview

ordered-read-streams handles all data/errors from input streams in parallel, but emits data/errors in strict order in which streams are passed to constructor. This is objectMode = true stream.

Example

var through = require('through2');
var Ordered = require('ordered-read-streams');

var s1 = through.obj(function (data, enc, next) {
  var self = this;
  setTimeout(function () {
    self.push(data);
    next();
  }, 200)
});
var s2 = through.obj(function (data, enc, next) {
  var self = this;
  setTimeout(function () {
    self.push(data);
    next();
  }, 30)
});
var s3 = through.obj(function (data, enc, next) {
  var self = this;
  setTimeout(function () {
    self.push(data);
    next();
  }, 100)
});

var streams = new Ordered([s1, s2, s3]);
streams.on('data', function (data) {
  console.log(data);
})

s1.write('stream 1');
s1.end();

s2.write('stream 2');
s2.end();

s3.write('stream 3');
s3.end();

Ouput will be:

stream 1
stream 2
stream 3

Licence

MIT