callbag-for-each

v1.0.1
Callbag sink that consume both pullable and listenable sources

/**

  • callbag-for-each

  • Callbag sink that consume both pullable and listenable sources. When called
  • on a pullable source, it will iterate through its data. When called on a
  • listenable source, it will observe its data.
  • npm install callbag-for-each
  • Examples

  • Consume a pullable source:
  • const fromIter = require('callbag-from-iter');
    
  • const forEach = require('callbag-for-each');
    
  • const source = fromIter([10,20,30,40])
    
  • forEach(x => console.log(x))(source); // 10
    
  •                                       // 20
    
  •                                       // 30
    
  •                                       // 40
    
  • Consume a listenable source:
  • const interval = require('callbag-interval');
    
  • const forEach = require('callbag-for-each');
    
  • const source = interval(1000);
    
  • forEach(x => console.log(x))(source); // 0
    
  •                                       // 1
    
  •                                       // 2
    
  •                                       // 3
    
  •                                       // ...
    

*/

const forEach = operation => source => { let talkback; source(0, (t, d) => { if (t === 0) talkback = d; if (t === 1) operation(d); if (t === 1 || t === 0) talkback(1); }); };

module.exports = forEach;

Metadata

  • MIT
  • Whatever
  • staltz.com
  • released 2/18/2018

Downloads

Maintainers