wonder.js
Version:
46 lines (41 loc) • 1.96 kB
JavaScript
;
var $$String = require("bs-platform/lib/js/string.js");
var Pervasives = require("bs-platform/lib/js/pervasives.js");
var Caml_option = require("bs-platform/lib/js/caml_option.js");
var Log$WonderLog = require("wonder-log/lib/js/src/Log.js");
var Contract$WonderLog = require("wonder-log/lib/js/src/Contract.js");
var DomExtend$Wonderjs = require("../../../external/DomExtend.js");
var DomService$Wonderjs = require("../DomService.js");
var StateDataMain$Wonderjs = require("../../state/main/data/StateDataMain.js");
var IsDebugMainService$Wonderjs = require("../../state/main/state/IsDebugMainService.js");
function _getCanvasId(domId) {
var match = $$String.contains(domId, /* "#" */35);
if (match) {
return domId;
} else {
return Contract$WonderLog.ensureCheck((function (id) {
return Contract$WonderLog.test(Log$WonderLog.buildAssertMessage("dom id start with \'#\'", "is " + (String(domId) + "")), (function (param) {
return Contract$WonderLog.assertTrue((/#[^#]+/).test(id));
}));
}), IsDebugMainService$Wonderjs.getIsDebug(StateDataMain$Wonderjs.stateData), "#" + (String(domId) + ""));
}
}
function createCanvas(canvasId) {
if (canvasId !== undefined) {
var canvasId$1 = canvasId;
var match = DomExtend$Wonderjs.findFirstHtmlElement(document, _getCanvasId(canvasId$1));
if (match !== undefined) {
return Caml_option.valFromOption(match);
} else {
return Pervasives.failwith("canvas whose id is " + (String(canvasId$1) + " should exist"));
}
} else {
var arg = DomExtend$Wonderjs.findFirstHtmlElement(document, "body");
return (function (param) {
return DomExtend$Wonderjs.prependTo(param, arg);
})(DomService$Wonderjs.buildCanvas());
}
}
exports._getCanvasId = _getCanvasId;
exports.createCanvas = createCanvas;
/* Log-WonderLog Not a pure module */