mostly-dom
Version:
A virtual-dom for TypeScript
23 lines • 1.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var addVNodes_1 = require("../addVNodes");
var removeVNodes_1 = require("../removeVNodes");
var updateChildren_1 = require("../updateChildren");
function patchVNodeChildren(formerVNode, vNode, moduleCallbacks, insertedVNodeQueue) {
var element = vNode.element;
var formerChildren = formerVNode.children;
var children = vNode.children;
if (formerVNode.text)
element.textContent = '';
if (formerChildren && children && formerChildren !== children)
updateChildren_1.updateChildren(element, formerChildren, children, moduleCallbacks, insertedVNodeQueue);
else if (children)
addVNodes_1.addVNodes(element, null, children, 0, endIndex(children), moduleCallbacks, insertedVNodeQueue);
else if (formerChildren)
removeVNodes_1.removeVNodes(element, formerChildren, 0, endIndex(formerChildren), moduleCallbacks);
}
exports.patchVNodeChildren = patchVNodeChildren;
function endIndex(vNodeChildren) {
return vNodeChildren.length - 1;
}
//# sourceMappingURL=patchVNodeChildren.js.map