mostly-dom
Version:
A virtual-dom for TypeScript
20 lines • 945 B
JavaScript
import { addVNodes } from '../addVNodes';
import { removeVNodes } from '../removeVNodes';
import { updateChildren } from '../updateChildren';
export 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(element, formerChildren, children, moduleCallbacks, insertedVNodeQueue);
else if (children)
addVNodes(element, null, children, 0, endIndex(children), moduleCallbacks, insertedVNodeQueue);
else if (formerChildren)
removeVNodes(element, formerChildren, 0, endIndex(formerChildren), moduleCallbacks);
}
function endIndex(vNodeChildren) {
return vNodeChildren.length - 1;
}
//# sourceMappingURL=patchVNodeChildren.js.map