UNPKG

@egalteam/framework

Version:

Egal

41 lines (40 loc) 1.66 kB
"use strict"; 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;