UNPKG

bs-platform

Version:

bucklescript compiler, ocaml standard libary by bucklescript and its required runtime support

85 lines (74 loc) 1.94 kB
'use strict'; var Curry = require("./curry.js"); var stdout = { buffer: "", output: (function (param, s) { var v = s.length - 1 | 0; if (((typeof process !== "undefined") && process.stdout && process.stdout.write)) { return process.stdout.write(s); } else if (s[v] === "\n") { console.log(s.slice(0, v)); return ; } else { console.log(s); return ; } }) }; var stderr = { buffer: "", output: (function (param, s) { var v = s.length - 1 | 0; if (s[v] === "\n") { console.log(s.slice(0, v)); return ; } else { console.log(s); return ; } }) }; function caml_ml_flush(oc) { if (oc.buffer !== "") { Curry._2(oc.output, oc, oc.buffer); oc.buffer = ""; return ; } } function caml_ml_output(oc, str, offset, len) { var str$1 = offset === 0 && len === str.length ? str : str.slice(offset, len); if (((typeof process !== "undefined") && process.stdout && process.stdout.write) && oc === stdout) { return process.stdout.write(str$1); } var id = str$1.lastIndexOf("\n"); if (id < 0) { oc.buffer = oc.buffer + str$1; return ; } else { oc.buffer = oc.buffer + str$1.slice(0, id + 1 | 0); caml_ml_flush(oc); oc.buffer = oc.buffer + str$1.slice(id + 1 | 0); return ; } } function caml_ml_output_char(oc, $$char) { return caml_ml_output(oc, String.fromCharCode($$char), 0, 1); } function caml_ml_out_channels_list(param) { return /* :: */[ stdout, /* :: */[ stderr, /* [] */0 ] ]; } var stdin; exports.stdin = stdin; exports.stdout = stdout; exports.stderr = stderr; exports.caml_ml_flush = caml_ml_flush; exports.caml_ml_output = caml_ml_output; exports.caml_ml_output_char = caml_ml_output_char; exports.caml_ml_out_channels_list = caml_ml_out_channels_list; /* No side effect */