mostly-dom
Version:
A virtual-dom for TypeScript
23 lines • 1.18 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
var hooks_1 = require("./hooks");
var patchVNodeChildren_1 = require("./patchVNodeChildren");
var replacePreviousElement_1 = require("./replacePreviousElement");
var updateElement_1 = require("./updateElement");
var helpers_1 = require("../helpers");
function patchVNode(formerVNode, vNode, moduleCallbacks, insertedVNodeQueue) {
hooks_1.prepatchHooks(formerVNode, vNode, moduleCallbacks);
vNode = updateElement_1.updateElement(formerVNode, vNode);
if (formerVNode === vNode)
return;
if (!helpers_1.vNodesAreEqual(formerVNode, vNode))
return replacePreviousElement_1.replacePreviousElement(formerVNode, vNode, moduleCallbacks, insertedVNodeQueue);
hooks_1.updateHooks(formerVNode, vNode, moduleCallbacks);
if (!vNode.text)
patchVNodeChildren_1.patchVNodeChildren(formerVNode, vNode, moduleCallbacks, insertedVNodeQueue);
else if (formerVNode.text !== vNode.text)
vNode.element.textContent = vNode.text;
hooks_1.postpatchHooks(formerVNode, vNode, moduleCallbacks);
}
exports.patchVNode = patchVNode;
//# sourceMappingURL=patchVNode.js.map
;