mostly-dom
Version:
A virtual-dom for TypeScript
73 lines • 2.81 kB
JavaScript
var ModuleCallbacks = /** @class */ (function () {
function ModuleCallbacks(modules) {
this._modules = modules;
this._moduleCount = modules.length;
}
ModuleCallbacks.prototype.createRemoveElementFn = function (element) {
var listeners = this._moduleCount + 1;
return function removeElement() {
if (--listeners === 0) {
var parent_1 = element.parentNode;
parent_1.removeChild(element);
}
};
};
// module hooks
ModuleCallbacks.prototype.pre = function (vNode) {
var modules = this._modules;
var moduleCount = this._moduleCount;
for (var i = 0; i < moduleCount; ++i)
modules[i].pre(vNode);
};
ModuleCallbacks.prototype.post = function (vNode) {
var modules = this._modules;
var moduleCount = this._moduleCount;
for (var i = 0; i < moduleCount; ++i)
modules[i].post(vNode);
};
ModuleCallbacks.prototype.init = function (vNode) {
var modules = this._modules;
var moduleCount = this._moduleCount;
for (var i = 0; i < moduleCount; ++i)
modules[i].init(vNode);
};
ModuleCallbacks.prototype.create = function (vNode) {
var modules = this._modules;
var moduleCount = this._moduleCount;
for (var i = 0; i < moduleCount; ++i)
modules[i].create(vNode);
};
ModuleCallbacks.prototype.update = function (formerVNode, vNode) {
var modules = this._modules;
var moduleCount = this._moduleCount;
for (var i = 0; i < moduleCount; ++i)
modules[i].update(formerVNode, vNode);
};
ModuleCallbacks.prototype.remove = function (vNode, removeElement) {
var modules = this._modules;
var moduleCount = this._moduleCount;
for (var i = 0; i < moduleCount; ++i)
modules[i].remove(vNode, removeElement);
};
ModuleCallbacks.prototype.destroy = function (vNode) {
var modules = this._modules;
var moduleCount = this._moduleCount;
for (var i = 0; i < moduleCount; ++i)
modules[i].destroy(vNode);
};
ModuleCallbacks.prototype.prepatch = function (formerVNode, vNode) {
var modules = this._modules;
var moduleCount = this._moduleCount;
for (var i = 0; i < moduleCount; ++i)
modules[i].prepatch(formerVNode, vNode);
};
ModuleCallbacks.prototype.postpatch = function (formerVNode, vNode) {
var modules = this._modules;
var moduleCount = this._moduleCount;
for (var i = 0; i < moduleCount; ++i)
modules[i].postpatch(formerVNode, vNode);
};
return ModuleCallbacks;
}());
export { ModuleCallbacks };
//# sourceMappingURL=ModuleCallbacks.js.map