UNPKG

t-comm

Version:

专业、稳定、纯粹的工具库

38 lines (36 loc) 961 B
var EventBus = /** @class */function () { function EventBus() { this.events = {}; } EventBus.prototype.emit = function (eventName) { var args = []; for (var _i = 1; _i < arguments.length; _i++) { args[_i - 1] = arguments[_i]; } if (this.events[eventName]) { this.events[eventName].forEach(function (fn) { fn.apply(void 0, args); }); } }; EventBus.prototype.on = function (eventName, fn) { this.events[eventName] = this.events[eventName] || []; this.events[eventName].push(fn); }; EventBus.prototype.off = function (eventName, fn) { if (!fn) { delete this.events[eventName]; return; } if (this.events[eventName]) { for (var i = 0; i < this.events[eventName].length; i++) { if (this.events[eventName][i] === fn) { this.events[eventName].splice(i, 1); break; } } } }; return EventBus; }(); export { EventBus };