-
Notifications
You must be signed in to change notification settings - Fork 0
๐ Convert a pull-stream to a pullable callbag source
License
staltz/callbag-from-pull-stream
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
ย | ย | |||
ย | ย | |||
ย | ย | |||
ย | ย | |||
ย | ย | |||
ย | ย | |||
Repository files navigation
/** * callbag-from-pull-stream * ------------------------ * * Convert a pull-stream to a pullable callbag source. * * `npm install callbag-from-pull-stream` * * Example: * * const pull = require('pull-stream'); * const {pipe, filter, forEach} = require('callbag-basics'); * const fromPullStream = require('callbag-from-pull-stream'); * * const source = pull( * pull.values([1,3,5,7,9]), * pull.filter(x => x !== 5), // 1,3,7,9 * pull.map(x => x * 10) // 10,30,70,90 * ) * * pipe( * fromPullStream(source), * filter(x => x !== 30), // 10,70,90 * forEach(x => console.log(x)) * ) */ const fromPullStream = read => (start, sink) => { if (start !== 0) return; sink(0, (t, d) => { if (t === 1) read(null, (end, data) => { if (end === true) sink(2); else if (end) sink(2, end); else sink(1, data); }); if (t === 2) read(d || true, () => {}); }); }; module.exports = fromPullStream;
About
๐ Convert a pull-stream to a pullable callbag source
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published