wonder.js
Version:
70 lines (58 loc) • 1.84 kB
JavaScript
;
var Caml_array = require("bs-platform/lib/js/caml_array.js");
var Pervasives = require("bs-platform/lib/js/pervasives.js");
var Caml_option = require("bs-platform/lib/js/caml_option.js");
function findFirstHtmlElement($$document, str) {
var elements = $$document.querySelectorAll(str);
var match = elements.length;
if (match !== 0) {
return Caml_option.some(Caml_array.caml_array_get(elements, 0));
}
}
function setInnerHtml(eleStr, htmlElement) {
htmlElement.innerHTML = eleStr;
return htmlElement;
}
function getFirstChild(htmlElement) {
return htmlElement.firstChild;
}
function _prepend(sourceElement, targetElement) {
var match = targetElement.prepend;
if (match == null) {
return targetElement.insertBefore(sourceElement, targetElement.firstChild);
} else {
return targetElement.prepend(sourceElement);
}
}
function prependTo(sourceElement, targetElement) {
if (targetElement !== undefined) {
var match = sourceElement.nodeType;
if (match !== 1) {
return sourceElement;
} else {
_prepend(sourceElement, Caml_option.valFromOption(targetElement));
return sourceElement;
}
} else {
return Pervasives.failwith("targetElement should exist");
}
}
function setBatchStyle(element, cssText) {
element.style.cssText = cssText;
return element;
}
function requestPointerLock (element){
element.requestPointerLock();
};
function exitPointerLock (param){
document.exitPointerLock();
};
exports.findFirstHtmlElement = findFirstHtmlElement;
exports.setInnerHtml = setInnerHtml;
exports.getFirstChild = getFirstChild;
exports._prepend = _prepend;
exports.prependTo = prependTo;
exports.setBatchStyle = setBatchStyle;
exports.requestPointerLock = requestPointerLock;
exports.exitPointerLock = exitPointerLock;
/* No side effect */