Neatly Positioned Magazines

    flyd-scanmerge

    0.0.3 • Public • Published

    flyd-scanmerge

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

    Signature

    [[Stream b, (a, b -> a)]] -> a -> Stream a

    Example

    var add = flyd.stream(0);
    var sub = flyd.stream(0);
    var mult = flyd.stream(1);
    var res = scanMerge([
      [add, function(sum, n) { return sum + n; }],
      [sub, function(sum, n) { return sum - n; }],
      [mult, function(sum, n) { return sum * n; }],
    ], 0);
    add(5); sub(8); sub(4); add(12); mult(3);
    console.log(res); // logs 15
    var addItem = flyd.stream();
    var rmItem = flyd.stream();
    var items = scanMerge([
      [addItem, function(list, item) { return list.concat([item]); }],
      [rmItem, function(list, item) {
        return list.filter(function(elm) { return elm !== item; });
      }]
    ], []);
    addItem(1)(2)(3)(4)(5);
    rmItem(3);
    console.log(items()); logs [1, 2, 4, 5]

    Install

    npm i flyd-scanmerge

    DownloadsWeekly Downloads

    4

    Version

    0.0.3

    License

    MIT

    Last publish

    Collaborators

    • paldepind