Generate a Callbag from a function. Whenever the function is called, the source will emit what the function returned.
npm install callbag-from-function
const {source, emitter} = fromFunction(someFunc);
Now, whenever you call emitter with some ...args, source will emit what someFunc returns when called with ...args.
The emitter will also return the emitted value.
If no function is passed in, an identity function will be used.
The source is "hot" (using callbag-share), meaning it can take many listeners.
Wrapping an action creator in an app with a state stream.
const forEach = require('callbag-for-each');
const fromFunction = require('callbag-from-function');
const newName = str => ({type: 'NEWNAME', value: str});
const {source: newName$, emitter: wrappedNewName} = fromFunction(newName);
forEach(a => console.log("New name:", a.value))(newName$);
wrappedNewName("Batman"); // New name: Batman