callbag-for-each

👜 Callbag sink that consume both pullable and listenable sources

MIT License

Downloads
5.9K
Stars
11
Committers
4

/**

  • 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;

Package Rankings
Top 4.15% on Npmjs.org
Top 30.52% on Repo1.maven.org
Related Projects