UNPKG

bucklescript-tea

Version:
185 lines (163 loc) 5.24 kB
// Generated by BUCKLESCRIPT, PLEASE EDIT WITH CARE 'use strict'; var Block = require("bs-platform/lib/js/block.js"); var Curry = require("bs-platform/lib/js/curry.js"); var Random = require("bs-platform/lib/js/random.js"); var Pervasives = require("bs-platform/lib/js/pervasives.js"); Random.self_init(/* () */0); var bool = /* Generator */[(function (state) { return Random.State.bool(state); })]; function $$int(min, max) { var match = min < max ? /* tuple */[ min, max ] : /* tuple */[ max, min ]; var max$1 = match[1]; var min$1 = match[0]; return /* Generator */[(function (state) { return min$1 + Random.State.$$int(state, (max$1 - min$1 | 0) + 1 | 0) | 0; })]; } function $$float(min, max) { return /* Generator */[(function (state) { return min + Random.State.$$float(state, max - min); })]; } function list(count, param) { var genCmd = param[0]; return /* Generator */[(function (state) { var state$1 = state; var _i = count; var _acc = /* [] */0; while(true) { var acc = _acc; var i = _i; if (i > 0) { _acc = /* :: */[ Curry._1(genCmd, state$1), acc ]; _i = i - 1 | 0; continue ; } else { return acc; } }; })]; } function map(func, param) { var genCmd = param[0]; return /* Generator */[(function (state) { return Curry._1(func, Curry._1(genCmd, state)); })]; } function map2(func, param, param$1) { var genCmd2 = param$1[0]; var genCmd1 = param[0]; return /* Generator */[(function (state) { var res1 = Curry._1(genCmd1, state); var res2 = Curry._1(genCmd2, state); return Curry._2(func, res1, res2); })]; } function map3(func, param, param$1, param$2) { var genCmd3 = param$2[0]; var genCmd2 = param$1[0]; var genCmd1 = param[0]; return /* Generator */[(function (state) { var res1 = Curry._1(genCmd1, state); var res2 = Curry._1(genCmd2, state); var res3 = Curry._1(genCmd3, state); return Curry._3(func, res1, res2, res3); })]; } function map4(func, param, param$1, param$2, param$3) { var genCmd4 = param$3[0]; var genCmd3 = param$2[0]; var genCmd2 = param$1[0]; var genCmd1 = param[0]; return /* Generator */[(function (state) { var res1 = Curry._1(genCmd1, state); var res2 = Curry._1(genCmd2, state); var res3 = Curry._1(genCmd3, state); var res4 = Curry._1(genCmd4, state); return Curry._4(func, res1, res2, res3, res4); })]; } function map5(func, param, param$1, param$2, param$3, param$4) { var genCmd5 = param$4[0]; var genCmd4 = param$3[0]; var genCmd3 = param$2[0]; var genCmd2 = param$1[0]; var genCmd1 = param[0]; return /* Generator */[(function (state) { var res1 = Curry._1(genCmd1, state); var res2 = Curry._1(genCmd2, state); var res3 = Curry._1(genCmd3, state); var res4 = Curry._1(genCmd4, state); var res5 = Curry._1(genCmd5, state); return Curry._5(func, res1, res2, res3, res4, res5); })]; } function andThen(func, param) { var genCmd = param[0]; return /* Generator */[(function (state) { var res = Curry._1(genCmd, state); var match = Curry._1(func, res); return Curry._1(match[0], state); })]; } function pair(gen1, gen2) { return map2((function (a, b) { return /* tuple */[ a, b ]; }), gen1, gen2); } function generate(tagger, param) { var genCmd = param[0]; return /* EnqueueCall */Block.__(2, [(function (callbacks) { var state = Random.get_state(/* () */0); var genValue = Curry._1(genCmd, state); Random.set_state(state); return Curry._1(callbacks.contents.enqueue, Curry._1(tagger, genValue)); })]); } function step(param, param$1) { var newState = Random.State.copy(param$1[0]); return /* tuple */[ Curry._1(param[0], newState), /* Seed */[newState] ]; } function initialSeed(seed) { return /* Seed */[Random.State.make([seed])]; } var minInt = Pervasives.min_int; var maxInt = Pervasives.max_int; var minFloat = Pervasives.min_float; var maxFloat = Pervasives.max_float; exports.minInt = minInt; exports.maxInt = maxInt; exports.minFloat = minFloat; exports.maxFloat = maxFloat; exports.bool = bool; exports.$$int = $$int; exports.$$float = $$float; exports.list = list; exports.map = map; exports.map2 = map2; exports.map3 = map3; exports.map4 = map4; exports.map5 = map5; exports.andThen = andThen; exports.pair = pair; exports.generate = generate; exports.step = step; exports.initialSeed = initialSeed; /* Not a pure module */