UNPKG

flyd-scanmerge

Version:

Flyd module for conveniently merging and scanning several streams into one.

14 lines (12 loc) 414 B
var flyd = require('flyd'); module.exports = flyd.curryN(2, function(pairs, acc) { var streams = pairs.map(function(p) { return p[0]; }); var fns = pairs.map(function(p) { return p[1]; }); return flyd.immediate(flyd.stream(streams, function(self, changed) { if (changed.length > 0) { var idx = streams.indexOf(changed[0]); acc = fns[idx](acc, changed[0]()); } return acc; })); });