UNPKG

bucklescript-tea

Version:
925 lines (880 loc) 24.1 kB
// Generated by BUCKLESCRIPT, PLEASE EDIT WITH CARE 'use strict'; var List = require("bs-platform/lib/js/list.js"); var $$Array = require("bs-platform/lib/js/array.js"); 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"); var Web_formdata = require("./web_formdata.js"); var Caml_primitive = require("bs-platform/lib/js/caml_primitive.js"); var Caml_builtin_exceptions = require("bs-platform/lib/js/caml_builtin_exceptions.js"); function abort(x) { return x.abort(); } function getAllResponseHeaders(x) { var match = x.getAllResponseHeaders(); if (match !== null) { if (match === "") { return /* Error */Block.__(1, [/* NetworkError */1]); } else { return /* Ok */Block.__(0, [match]); } } else { return /* Error */Block.__(1, [/* IncompleteResponse */0]); } } function getAllResponseHeadersAsList(x) { var err = getAllResponseHeaders(x); if (err.tag) { return err; } else { return /* Ok */Block.__(0, [List.map((function (param) { if (param.length !== 2) { throw [ Caml_builtin_exceptions.failure, "Cannot happen, already checked length" ]; } var key = param[0]; var value = param[1]; return /* tuple */[ key, value ]; }), List.filter((function (a) { return a.length === 2; }))($$Array.to_list($$Array.map((function (param) { return param.split(": ", 2); }), err[0].split("\r\n")))))]); } } function getAllResponseHeadersAsDict(x) { var height = function (param) { if (param) { return param[/* h */4]; } else { return 0; } }; var create = function (l, x, d, r) { var hl = height(l); var hr = height(r); return /* Node */[ /* l */l, /* v */x, /* d */d, /* r */r, /* h */hl >= hr ? hl + 1 | 0 : hr + 1 | 0 ]; }; var singleton = function (x, d) { return /* Node */[ /* l : Empty */0, /* v */x, /* d */d, /* r : Empty */0, /* h */1 ]; }; var bal = function (l, x, d, r) { var hl = l ? l[/* h */4] : 0; var hr = r ? r[/* h */4] : 0; if (hl > (hr + 2 | 0)) { if (l) { var lr = l[/* r */3]; var ld = l[/* d */2]; var lv = l[/* v */1]; var ll = l[/* l */0]; if (height(ll) >= height(lr)) { return create(ll, lv, ld, create(lr, x, d, r)); } else if (lr) { return create(create(ll, lv, ld, lr[/* l */0]), lr[/* v */1], lr[/* d */2], create(lr[/* r */3], x, d, r)); } else { throw [ Caml_builtin_exceptions.invalid_argument, "Map.bal" ]; } } else { throw [ Caml_builtin_exceptions.invalid_argument, "Map.bal" ]; } } else if (hr > (hl + 2 | 0)) { if (r) { var rr = r[/* r */3]; var rd = r[/* d */2]; var rv = r[/* v */1]; var rl = r[/* l */0]; if (height(rr) >= height(rl)) { return create(create(l, x, d, rl), rv, rd, rr); } else if (rl) { return create(create(l, x, d, rl[/* l */0]), rl[/* v */1], rl[/* d */2], create(rl[/* r */3], rv, rd, rr)); } else { throw [ Caml_builtin_exceptions.invalid_argument, "Map.bal" ]; } } else { throw [ Caml_builtin_exceptions.invalid_argument, "Map.bal" ]; } } else { return /* Node */[ /* l */l, /* v */x, /* d */d, /* r */r, /* h */hl >= hr ? hl + 1 | 0 : hr + 1 | 0 ]; } }; var add = function (x, data, m) { if (m) { var r = m[/* r */3]; var d = m[/* d */2]; var v = m[/* v */1]; var l = m[/* l */0]; var c = Caml_primitive.caml_string_compare(x, v); if (c === 0) { if (d === data) { return m; } else { return /* Node */[ /* l */l, /* v */x, /* d */data, /* r */r, /* h */m[/* h */4] ]; } } else if (c < 0) { var ll = add(x, data, l); if (l === ll) { return m; } else { return bal(ll, v, d, r); } } else { var rr = add(x, data, r); if (r === rr) { return m; } else { return bal(l, v, d, rr); } } } else { return /* Node */[ /* l : Empty */0, /* v */x, /* d */data, /* r : Empty */0, /* h */1 ]; } }; var min_binding = function (_param) { while(true) { var param = _param; if (param) { var l = param[/* l */0]; if (l) { _param = l; continue ; } else { return /* tuple */[ param[/* v */1], param[/* d */2] ]; } } else { throw Caml_builtin_exceptions.not_found; } }; }; var remove_min_binding = function (param) { if (param) { var l = param[/* l */0]; if (l) { return bal(remove_min_binding(l), param[/* v */1], param[/* d */2], param[/* r */3]); } else { return param[/* r */3]; } } else { throw [ Caml_builtin_exceptions.invalid_argument, "Map.remove_min_elt" ]; } }; var merge = function (t1, t2) { if (t1) { if (t2) { var match = min_binding(t2); return bal(t1, match[0], match[1], remove_min_binding(t2)); } else { return t1; } } else { return t2; } }; var remove = function (x, m) { if (m) { var r = m[/* r */3]; var d = m[/* d */2]; var v = m[/* v */1]; var l = m[/* l */0]; var c = Caml_primitive.caml_string_compare(x, v); if (c === 0) { return merge(l, r); } else if (c < 0) { var ll = remove(x, l); if (l === ll) { return m; } else { return bal(ll, v, d, r); } } else { var rr = remove(x, r); if (r === rr) { return m; } else { return bal(l, v, d, rr); } } } else { return /* Empty */0; } }; var update = function (x, f, m) { if (m) { var r = m[/* r */3]; var d = m[/* d */2]; var v = m[/* v */1]; var l = m[/* l */0]; var c = Caml_primitive.caml_string_compare(x, v); if (c === 0) { var match = Curry._1(f, Caml_option.some(d)); if (match !== undefined) { var data = Caml_option.valFromOption(match); if (d === data) { return m; } else { return /* Node */[ /* l */l, /* v */x, /* d */data, /* r */r, /* h */m[/* h */4] ]; } } else { return merge(l, r); } } else if (c < 0) { var ll = update(x, f, l); if (l === ll) { return m; } else { return bal(ll, v, d, r); } } else { var rr = update(x, f, r); if (r === rr) { return m; } else { return bal(l, v, d, rr); } } } else { var match$1 = Curry._1(f, undefined); if (match$1 !== undefined) { return /* Node */[ /* l : Empty */0, /* v */x, /* d */Caml_option.valFromOption(match$1), /* r : Empty */0, /* h */1 ]; } else { return /* Empty */0; } } }; var iter = function (f, _param) { while(true) { var param = _param; if (param) { iter(f, param[/* l */0]); Curry._2(f, param[/* v */1], param[/* d */2]); _param = param[/* r */3]; continue ; } else { return /* () */0; } }; }; var map = function (f, param) { if (param) { var l$prime = map(f, param[/* l */0]); var d$prime = Curry._1(f, param[/* d */2]); var r$prime = map(f, param[/* r */3]); return /* Node */[ /* l */l$prime, /* v */param[/* v */1], /* d */d$prime, /* r */r$prime, /* h */param[/* h */4] ]; } else { return /* Empty */0; } }; var mapi = function (f, param) { if (param) { var v = param[/* v */1]; var l$prime = mapi(f, param[/* l */0]); var d$prime = Curry._2(f, v, param[/* d */2]); var r$prime = mapi(f, param[/* r */3]); return /* Node */[ /* l */l$prime, /* v */v, /* d */d$prime, /* r */r$prime, /* h */param[/* h */4] ]; } else { return /* Empty */0; } }; var fold = function (f, _m, _accu) { while(true) { var accu = _accu; var m = _m; if (m) { _accu = Curry._3(f, m[/* v */1], m[/* d */2], fold(f, m[/* l */0], accu)); _m = m[/* r */3]; continue ; } else { return accu; } }; }; var for_all = function (p, _param) { while(true) { var param = _param; if (param) { if (Curry._2(p, param[/* v */1], param[/* d */2]) && for_all(p, param[/* l */0])) { _param = param[/* r */3]; continue ; } else { return false; } } else { return true; } }; }; var exists = function (p, _param) { while(true) { var param = _param; if (param) { if (Curry._2(p, param[/* v */1], param[/* d */2]) || exists(p, param[/* l */0])) { return true; } else { _param = param[/* r */3]; continue ; } } else { return false; } }; }; var add_min_binding = function (k, x, param) { if (param) { return bal(add_min_binding(k, x, param[/* l */0]), param[/* v */1], param[/* d */2], param[/* r */3]); } else { return singleton(k, x); } }; var add_max_binding = function (k, x, param) { if (param) { return bal(param[/* l */0], param[/* v */1], param[/* d */2], add_max_binding(k, x, param[/* r */3])); } else { return singleton(k, x); } }; var join = function (l, v, d, r) { if (l) { if (r) { var rh = r[/* h */4]; var lh = l[/* h */4]; if (lh > (rh + 2 | 0)) { return bal(l[/* l */0], l[/* v */1], l[/* d */2], join(l[/* r */3], v, d, r)); } else if (rh > (lh + 2 | 0)) { return bal(join(l, v, d, r[/* l */0]), r[/* v */1], r[/* d */2], r[/* r */3]); } else { return create(l, v, d, r); } } else { return add_max_binding(v, d, l); } } else { return add_min_binding(v, d, r); } }; var concat = function (t1, t2) { if (t1) { if (t2) { var match = min_binding(t2); return join(t1, match[0], match[1], remove_min_binding(t2)); } else { return t1; } } else { return t2; } }; var concat_or_join = function (t1, v, d, t2) { if (d !== undefined) { return join(t1, v, Caml_option.valFromOption(d), t2); } else { return concat(t1, t2); } }; var split = function (x, param) { if (param) { var r = param[/* r */3]; var d = param[/* d */2]; var v = param[/* v */1]; var l = param[/* l */0]; var c = Caml_primitive.caml_string_compare(x, v); if (c === 0) { return /* tuple */[ l, Caml_option.some(d), r ]; } else if (c < 0) { var match = split(x, l); return /* tuple */[ match[0], match[1], join(match[2], v, d, r) ]; } else { var match$1 = split(x, r); return /* tuple */[ join(l, v, d, match$1[0]), match$1[1], match$1[2] ]; } } else { return /* tuple */[ /* Empty */0, undefined, /* Empty */0 ]; } }; var merge$1 = function (f, s1, s2) { if (s1) { var v1 = s1[/* v */1]; if (s1[/* h */4] >= height(s2)) { var match = split(v1, s2); return concat_or_join(merge$1(f, s1[/* l */0], match[0]), v1, Curry._3(f, v1, Caml_option.some(s1[/* d */2]), match[1]), merge$1(f, s1[/* r */3], match[2])); } } else if (!s2) { return /* Empty */0; } if (s2) { var v2 = s2[/* v */1]; var match$1 = split(v2, s1); return concat_or_join(merge$1(f, match$1[0], s2[/* l */0]), v2, Curry._3(f, v2, match$1[1], Caml_option.some(s2[/* d */2])), merge$1(f, match$1[2], s2[/* r */3])); } else { throw [ Caml_builtin_exceptions.assert_failure, /* tuple */[ "map.ml", 393, 10 ] ]; } }; var union = function (f, s1, s2) { if (s1) { if (s2) { var d2 = s2[/* d */2]; var v2 = s2[/* v */1]; var d1 = s1[/* d */2]; var v1 = s1[/* v */1]; if (s1[/* h */4] >= s2[/* h */4]) { var match = split(v1, s2); var d2$1 = match[1]; var l = union(f, s1[/* l */0], match[0]); var r = union(f, s1[/* r */3], match[2]); if (d2$1 !== undefined) { return concat_or_join(l, v1, Curry._3(f, v1, d1, Caml_option.valFromOption(d2$1)), r); } else { return join(l, v1, d1, r); } } else { var match$1 = split(v2, s1); var d1$1 = match$1[1]; var l$1 = union(f, match$1[0], s2[/* l */0]); var r$1 = union(f, match$1[2], s2[/* r */3]); if (d1$1 !== undefined) { return concat_or_join(l$1, v2, Curry._3(f, v2, Caml_option.valFromOption(d1$1), d2), r$1); } else { return join(l$1, v2, d2, r$1); } } } else { return s1; } } else { return s2; } }; var filter = function (p, m) { if (m) { var r = m[/* r */3]; var d = m[/* d */2]; var v = m[/* v */1]; var l = m[/* l */0]; var l$prime = filter(p, l); var pvd = Curry._2(p, v, d); var r$prime = filter(p, r); if (pvd) { if (l === l$prime && r === r$prime) { return m; } else { return join(l$prime, v, d, r$prime); } } else { return concat(l$prime, r$prime); } } else { return /* Empty */0; } }; var partition = function (p, param) { if (param) { var d = param[/* d */2]; var v = param[/* v */1]; var match = partition(p, param[/* l */0]); var lf = match[1]; var lt = match[0]; var pvd = Curry._2(p, v, d); var match$1 = partition(p, param[/* r */3]); var rf = match$1[1]; var rt = match$1[0]; if (pvd) { return /* tuple */[ join(lt, v, d, rt), concat(lf, rf) ]; } else { return /* tuple */[ concat(lt, rt), join(lf, v, d, rf) ]; } } else { return /* tuple */[ /* Empty */0, /* Empty */0 ]; } }; var cardinal = function (param) { if (param) { return (cardinal(param[/* l */0]) + 1 | 0) + cardinal(param[/* r */3]) | 0; } else { return 0; } }; var bindings_aux = function (_accu, _param) { while(true) { var param = _param; var accu = _accu; if (param) { _param = param[/* l */0]; _accu = /* :: */[ /* tuple */[ param[/* v */1], param[/* d */2] ], bindings_aux(accu, param[/* r */3]) ]; continue ; } else { return accu; } }; }; var err = getAllResponseHeadersAsList(x); if (err.tag) { return err; } else { var insert = function (d, param) { return add(param[0], param[1], d); }; return /* Ok */Block.__(0, [List.fold_left(insert, /* Empty */0, err[0])]); } } function getResponseHeader(key, x) { return Caml_option.null_to_opt(x.getResponse(key)); } function open_(method$prime, url, $staropt$star, $staropt$star$1, $staropt$star$2, x) { var async = $staropt$star !== undefined ? $staropt$star : true; var user = $staropt$star$1 !== undefined ? $staropt$star$1 : ""; var password = $staropt$star$2 !== undefined ? $staropt$star$2 : ""; return x.open(method$prime, url, async, user, password); } function overrideMimeType(mimetype, x) { return x.overrideMimeType(mimetype); } function send(body, x) { if (typeof body === "number") { if (body === /* EmptyBody */0) { return x.send(); } else { return x.send(null); } } else { switch (body.tag | 0) { case /* FormListBody */2 : var form = List.fold_left((function (f, param) { Web_formdata.append(param[0], param[1], f); return f; }), new FormData(), body[0]); return x.send(form); case /* StringBody */0 : case /* FormDataBody */1 : case /* DocumentBody */3 : return x.send(body[0]); } } } function setRequestHeader(header, value, x) { return x.setRequestHeader(header, value); } function set_onreadystatechange(cb, x) { x.onreadystatechange = cb; return /* () */0; } function get_onreadystatechange(x) { return x.onreadystatechange; } function readyState(x) { var i = x.readyState; if (i > 4 || i < 0) { var s = "Invalid return from 'readystate' of: " + String(i); throw [ Caml_builtin_exceptions.failure, s ]; } else { return i; } } function set_responseType(typ, x) { if (typeof typ === "number") { switch (typ) { case /* StringResponseType */0 : x.responseType = ""; return /* () */0; case /* ArrayBufferResponseType */1 : x.responseType = "arraybuffer"; return /* () */0; case /* BlobResponseType */2 : x.responseType = "blob"; return /* () */0; case /* DocumentResponseType */3 : x.responseType = "document"; return /* () */0; case /* JsonResponseType */4 : x.responseType = "json"; return /* () */0; case /* TextResponseType */5 : x.responseType = "text"; return /* () */0; } } else { x.responseType = typ[0]; return /* () */0; } } function get_responseType(x) { var s = x.responseType; switch (s) { case "" : return /* StringResponseType */0; case "arraybuffer" : return /* ArrayBufferResponseType */1; case "blob" : return /* BlobResponseType */2; case "document" : return /* DocumentResponseType */3; case "json" : return /* JsonResponseType */4; case "text" : return /* TextResponseType */5; default: return /* RawResponseType */[s]; } } function get_response(x) { var match = x.response; if (match !== null) { var match$1 = get_responseType(x); if (typeof match$1 === "number") { switch (match$1) { case /* StringResponseType */0 : return /* StringResponse */Block.__(0, [match]); case /* ArrayBufferResponseType */1 : return /* ArrayBufferResponse */Block.__(1, [match]); case /* BlobResponseType */2 : return /* BlobResponse */Block.__(2, [match]); case /* DocumentResponseType */3 : return /* DocumentResponse */Block.__(3, [match]); case /* JsonResponseType */4 : return /* JsonResponse */Block.__(4, [match]); case /* TextResponseType */5 : return /* TextResponse */Block.__(5, [match]); } } else { return /* RawResponse */Block.__(6, [ match$1[0], match ]); } } else { return /* NoResponse */0; } } function get_responseText(x) { return x.responseText; } function get_responseURL(x) { return x.responseURL; } function get_responseXML(x) { return Caml_option.null_to_opt(x.responseXML); } function get_status(x) { return x.status; } function get_statusText(x) { return x.statusText; } function set_timeout(t, x) { x.timeout = t; return /* () */0; } function get_timeout(x) { return x.timeout; } function set_withCredentials(b, x) { x.withCredentials = b; return /* () */0; } function get_withCredentials(x) { return x.withCredentials; } function set_onabort(cb, x) { x.onabort = cb; return /* () */0; } function get_onabort(x) { return x.onabort; } function set_onerror(cb, x) { x.onerror = cb; return /* () */0; } function get_onerror(x) { return x.onerror; } function set_onload(cb, x) { x.onload = cb; return /* () */0; } function get_onload(x) { return x.onload; } function set_onloadstart(cb, x) { x.onloadstart = cb; return /* () */0; } function get_onloadstart(x) { return x.onloadstart; } function set_onprogress(cb, x) { x.onprogress = cb; return /* () */0; } function get_onprogress(x) { return x.onprogress; } function set_ontimeout(cb, x) { x.ontimeout = cb; return /* () */0; } function get_ontimeout(x) { return x.ontimeout; } function set_onloadend(cb, x) { x.onloadend = cb; return /* () */0; } function get_onloadend(x) { return x.onloadend; } exports.abort = abort; exports.getAllResponseHeaders = getAllResponseHeaders; exports.getAllResponseHeadersAsList = getAllResponseHeadersAsList; exports.getAllResponseHeadersAsDict = getAllResponseHeadersAsDict; exports.getResponseHeader = getResponseHeader; exports.open_ = open_; exports.overrideMimeType = overrideMimeType; exports.send = send; exports.setRequestHeader = setRequestHeader; exports.set_onreadystatechange = set_onreadystatechange; exports.get_onreadystatechange = get_onreadystatechange; exports.readyState = readyState; exports.set_responseType = set_responseType; exports.get_responseType = get_responseType; exports.get_response = get_response; exports.get_responseText = get_responseText; exports.get_responseURL = get_responseURL; exports.get_responseXML = get_responseXML; exports.get_status = get_status; exports.get_statusText = get_statusText; exports.set_timeout = set_timeout; exports.get_timeout = get_timeout; exports.set_withCredentials = set_withCredentials; exports.get_withCredentials = get_withCredentials; exports.set_onabort = set_onabort; exports.get_onabort = get_onabort; exports.set_onerror = set_onerror; exports.get_onerror = get_onerror; exports.set_onload = set_onload; exports.get_onload = get_onload; exports.set_onloadstart = set_onloadstart; exports.get_onloadstart = get_onloadstart; exports.set_onprogress = set_onprogress; exports.get_onprogress = get_onprogress; exports.set_ontimeout = set_ontimeout; exports.get_ontimeout = get_ontimeout; exports.set_onloadend = set_onloadend; exports.get_onloadend = get_onloadend; /* No side effect */