bucklescript-tea
Version:
TEA for Bucklescript
43 lines (38 loc) • 1.67 kB
JavaScript
// Generated by BUCKLESCRIPT, PLEASE EDIT WITH CARE
;
var Block = require("bs-platform/lib/js/block.js");
var Curry = require("bs-platform/lib/js/curry.js");
var Caml_option = require("bs-platform/lib/js/caml_option.js");
function cmd(promise, tagger) {
return /* EnqueueCall */Block.__(2, [(function (callbacks) {
promise.then((function (res) {
var match = Curry._1(tagger, res);
if (match !== undefined) {
Curry._1(callbacks.contents.enqueue, Caml_option.valFromOption(match));
return Promise.resolve(/* () */0);
} else {
return Promise.resolve(/* () */0);
}
}));
return /* () */0;
})]);
}
function result(promise, msg) {
return /* EnqueueCall */Block.__(2, [(function (callbacks) {
var enq = function (result) {
return Curry._1(callbacks.contents.enqueue, Curry._1(msg, result));
};
promise.then((function (res) {
return Promise.resolve(enq(/* Ok */Block.__(0, [res])));
})).catch((function (err) {
var err_to_string = function (err) {
return "" + (String(err) + "");
};
return Promise.resolve(enq(/* Error */Block.__(1, [err_to_string(err)])));
}));
return /* () */0;
})]);
}
exports.cmd = cmd;
exports.result = result;
/* No side effect */