bucklescript-tea
Version:
TEA for Bucklescript
100 lines (88 loc) • 3.03 kB
JavaScript
// Generated by BUCKLESCRIPT, PLEASE EDIT WITH CARE
;
var Vdom = require("../src-ocaml/vdom.js");
var Block = require("bs-platform/lib/js/block.js");
var Curry = require("bs-platform/lib/js/curry.js");
var Tea_ex = require("../src-ocaml/tea_ex.js");
var Tea_html = require("../src-ocaml/tea_html.js");
var Tea_http = require("../src-ocaml/tea_http.js");
var Tea_task = require("../src-ocaml/tea_task.js");
var Tea_debug = require("../src-ocaml/tea_debug.js");
function gotResponse(param_0) {
return /* GotResponse */[param_0];
}
function update(model, param) {
if (param) {
return /* tuple */[
param[0][0],
/* NoCmd */0
];
} else {
return /* tuple */[
model,
Tea_task.attempt(gotResponse, Tea_task.andThen((function (param) {
return /* Task */[(function (cb) {
return Curry._1(cb, /* Ok */Block.__(0, ["both saved"]));
})];
}), Tea_task.andThen((function (res) {
return Tea_ex.LocalStorage.setItem("todo-2", res);
}), Tea_task.andThen((function (param) {
return Tea_task.mapError(Tea_http.string_of_error, Tea_http.toTask(Tea_http.getString("https://jsonplaceholder.typicode.com/todos/2")));
}), Tea_task.andThen((function (res) {
return Tea_ex.LocalStorage.setItem("todo-1", res);
}), Tea_task.mapError(Tea_http.string_of_error, Tea_http.toTask(Tea_http.getString("https://jsonplaceholder.typicode.com/todos/1"))))))))
];
}
}
function view(model) {
return Tea_html.div(undefined, undefined, /* [] */0, /* :: */[
Tea_html.button(undefined, undefined, /* :: */[
Vdom.onMsg("click", /* Req */0),
/* [] */0
], /* :: */[
/* Text */Block.__(1, ["execute"]),
/* [] */0
]),
/* :: */[
/* Text */Block.__(1, [model]),
/* [] */0
]
]);
}
function som(param) {
if (param) {
if (param[0].tag) {
return "GotResponse Error";
} else {
return "GotResponse Ok";
}
} else {
return "Req";
}
}
function partial_arg_init(param) {
return /* tuple */[
"nothing",
/* NoCmd */0
];
}
function partial_arg_subscriptions(param) {
return /* NoSub */0;
}
var partial_arg = {
init: partial_arg_init,
update: update,
view: view,
subscriptions: partial_arg_subscriptions
};
function main(param, param$1) {
return Tea_debug.standardProgram(partial_arg, som, param, param$1);
}
var req = /* Req */0;
exports.gotResponse = gotResponse;
exports.req = req;
exports.update = update;
exports.view = view;
exports.som = som;
exports.main = main;
/* Tea_html Not a pure module */