@egalteam/framework
Version:
Egal
41 lines (40 loc) • 1.66 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.EventObserver = exports.observers = void 0;
exports.observers = [];
var EventObserver = /** @class */ (function () {
function EventObserver() {
}
EventObserver.prototype.subscribe = function (modelName, fn) {
return (exports.observers.findIndex(function (item) { return item.modelName === modelName; }) === -1 &&
exports.observers.push({ modelName: modelName, fn: fn }));
};
EventObserver.prototype.unsubscribe = function (modelName) {
return (exports.observers = exports.observers.filter(function (subscriber) { return subscriber.modelName !== modelName; }));
};
EventObserver.prototype.broadcast = function (data, actionName, receivedModelName, actionMessage) {
exports.observers.forEach(function (subscriber) {
if (subscriber.modelName === receivedModelName) {
subscriber.fn(data, actionName, receivedModelName, actionMessage);
}
});
};
EventObserver.prototype.broadcastSocketDisconnect = function (modelName) {
exports.observers.forEach(function (subscriber) {
if (subscriber.modelName === modelName) {
subscriber.fn(modelName);
}
});
};
EventObserver.prototype.checkObservers = function () {
console.log(exports.observers);
};
EventObserver.getInstance = function () {
if (!this.instance) {
this.instance = new EventObserver();
}
return this.instance;
};
return EventObserver;
}());
exports.EventObserver = EventObserver;