wonka
Version:
A fast push & pull stream library for Reason, loosely following the [callbag spec](https://github.com/callbag/callbag)
28 lines (24 loc) • 808 B
JavaScript
;
var Block = require("bs-platform/lib/js/block.js");
function fromPromise(promise) {
return (function (sink) {
var ended = /* record */[/* contents */false];
promise.then((function (value) {
if (!ended[0]) {
sink(/* Push */Block.__(1, [value]));
sink(/* End */0);
}
return Promise.resolve(/* () */0);
}));
return sink(/* Start */Block.__(0, [(function (signal) {
if (signal) {
ended[0] = true;
return /* () */0;
} else {
return /* () */0;
}
})]));
});
}
exports.fromPromise = fromPromise;
/* No side effect */