UNPKG

mostly-dom

Version:
35 lines 1.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var dom_scope_attribute_1 = require("./dom-scope-attribute"); function createElement(vNode, moduleCallbacks, insertedVNodeQueue) { var props = vNode.props; moduleCallbacks.init(vNode); if (props.init) props.init(vNode); if (vNode.tagName) { var element = vNode.namespace ? document.createElementNS(vNode.namespace, vNode.tagName) : document.createElement(vNode.tagName); if (vNode.scope) element.setAttribute(dom_scope_attribute_1.SCOPE_ATTRIBUTE, vNode.scope); vNode.element = element; var children = vNode.children; if (children) { var childCount = children.length; for (var i = 0; i < childCount; ++i) element.appendChild(createElement(children[i], moduleCallbacks, insertedVNodeQueue).element); } if (vNode.text) element.appendChild(document.createTextNode(vNode.text)); moduleCallbacks.create(vNode); if (props.create) props.create(vNode); if (props.insert) insertedVNodeQueue.push(vNode); return vNode; } vNode.element = document.createTextNode(vNode.text); return vNode; } exports.createElement = createElement; //# sourceMappingURL=createElement.js.map