mframejs
Version:
simple framework
39 lines • 1.39 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
var EventAggregator = (function () {
function EventAggregator() {
this.channels = {};
}
EventAggregator.prototype.publish = function (channel) {
var args = [];
for (var _i = 1; _i < arguments.length; _i++) {
args[_i - 1] = arguments[_i];
}
if (Array.isArray(this.channels[channel])) {
for (var i = 0, len = this.channels[channel].length; i < len; i++) {
this.channels[channel][i].apply(this, args);
}
}
else {
}
};
EventAggregator.prototype.unsubscribe = function (channel, func) {
if (Array.isArray(this.channels[channel])) {
for (var i = 0, len = this.channels[channel].length; i < len; i++) {
if (this.channels[channel][i] === func) {
this.channels[channel].splice(i, 1);
}
}
}
else {
}
};
EventAggregator.prototype.subscribe = function (channel, func) {
if (!Array.isArray(this.channels[channel])) {
this.channels[channel] = [];
}
this.channels[channel].push(func);
};
return EventAggregator;
}());
exports.EventAggregator = EventAggregator;
//# sourceMappingURL=eventAggregator.js.map