Combines array of streams into one Readable stream in strict order.
var { Readable } = require("streamx");
var ordered = require("ordered-read-streams");
var s1 = new Readable({
read: function (cb) {
var self = this;
if (self.called) {
self.push(null);
return cb(null);
}
setTimeout(function () {
self.called = true;
self.push("stream 1");
cb(null);
}, 200);
},
});
var s2 = new Readable({
read: function (cb) {
var self = this;
if (self.called) {
self.push(null);
return cb(null);
}
setTimeout(function () {
self.called = true;
self.push("stream 2");
cb(null);
}, 30);
},
});
var s3 = new Readable({
read: function (cb) {
var self = this;
if (self.called) {
self.push(null);
return cb(null);
}
setTimeout(function () {
self.called = true;
self.push("stream 3");
cb(null);
}, 100);
},
});
var readable = ordered([s1, s2, s3]);
readable.on("data", function (data) {
console.log(data);
// Logs:
// stream 1
// stream 2
// stream 3
});Takes an array of Readable streams and produces a single OrderedReadable stream that will consume the provided streams in strict order. The produced Readable stream respects backpressure on itself and any provided streams.
The returned Readable stream has an addSource instance function that takes appends a Readable stream to the list of source streams that the OrderedReadable is reading from.
No LLMs for issues.
No LLMs for patches / pull requests.
No LLMs for comments on the bug tracker, including translation.
English is encouraged, but not required. You are welcome to post in your native language and rely on others to have their own translation tools of choice to interpret your words.
MIT