//! adapted for mithril from flyd https://github.com/paldepind/flyd "use strict" var combine = require("../stream").combine module.exports = function (tuples, seed) { var streams = tuples.map(function (tuple) { var stream = tuple[0] if (stream._state.state === 0) stream(undefined) return stream }) var newStream = combine(function () { var changed = arguments[arguments.length - 1] streams.forEach(function (stream, idx) { if (changed.indexOf(stream) > -1) { seed = tuples[idx][1](seed, stream._state.value) } }) return seed }, streams) return newStream }