feat(#10): remove redundancy

This commit is contained in:
Juan Sebastián Montoya 2024-09-17 23:16:36 -05:00
parent 9f1d83bf45
commit 37a7b76d38
5 changed files with 22 additions and 45 deletions

View file

@ -1,32 +1,27 @@
class EventEmitterSingleton {
export class EventEmitter {
static instance;
eventEmitter;
events;
constructor() {
this.eventEmitter = {};
}
static getInstance() {
if (!EventEmitterSingleton.instance) {
EventEmitterSingleton.instance = new EventEmitterSingleton();
if (!EventEmitter.instance) {
EventEmitter.instance = this;
this.events = {};
}
return EventEmitterSingleton.instance;
return EventEmitter.instance;
}
on(eventName, callback) {
if (!this.eventEmitter[eventName]) {
this.eventEmitter[eventName] = [];
if (!this.events[eventName]) {
this.events[eventName] = [];
}
this.eventEmitter[eventName].push(callback);
this.events[eventName].push(callback);
}
emit(eventName, ...args) {
if (this.eventEmitter[eventName]) {
this.eventEmitter[eventName].forEach((callback) => {
if (this.events[eventName]) {
this.events[eventName].forEach((callback) => {
callback(...args);
});
}
}
}
export const eventEmitter = EventEmitterSingleton.getInstance();