readme.js
February 18, 2018 ยท View on GitHub
/**
- 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;