UNPKG

bs-platform

Version:

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

77 lines (66 loc) 1.68 kB
'use strict'; function __(tag, block) { block.tag = tag; return block; } function record(meta, xs) { return Object.defineProperty(xs, Symbol.for("BsRecord"), { value: meta }); } function variant(meta, tag, xs) { xs.tag = tag; return Object.defineProperty(xs, Symbol.for("BsVariant"), { value: meta }); } function simpleVariant(meta, xs) { return Object.defineProperty(xs, Symbol.for("BsVariant"), { value: meta }); } function localModule(meta, xs) { return Object.defineProperty(xs, Symbol.for("BsLocalModule"), { value: meta }); } function polyVar(meta, xs) { return Object.defineProperty(xs, Symbol.for("BsPolyVar"), { value: meta }); } function spliceApply (fn,args){ var i, argLen; argLen = args.length var applied = [] for(i = 0; i < argLen - 1; ++i){ applied.push(args[i]) } var lastOne = args[argLen - 1] for(i = 0; i < lastOne.length; ++i ){ applied.push(lastOne[i]) } return fn.apply(null,applied) }; function spliceObjApply (obj,name,args){ var i, argLen; argLen = args.length var applied = [] for(i = 0; i < argLen - 1; ++i){ applied.push(args[i]) } var lastOne = args[argLen - 1] for(i = 0; i < lastOne.length; ++i ){ applied.push(lastOne[i]) } return (obj[name]).apply(obj,applied) }; exports.__ = __; exports.record = record; exports.variant = variant; exports.simpleVariant = simpleVariant; exports.localModule = localModule; exports.polyVar = polyVar; exports.spliceApply = spliceApply; exports.spliceObjApply = spliceObjApply; /* No side effect */