Ребят, всем привет. Есть такой вот EventEmmitor
class EventEmitter {
constructor(events = {}) {
this.events = {};
}
on(event, listener) {
if (typeof this.events[event] !== 'object') {
this.events[event] = [];
}
this.events[event].push(listener);
return () => this.off(event, listener);
}
off(event, listener) {
if (typeof this.events[event] === 'object') {
const idx = this.events[event].indexOf(listener);
if (idx > -1) {
this.events[event].splice(idx, 1);
}
}
}
emit(event, ...args) {
if (typeof this.events[event] === 'object') {
this.events[event].forEach((listener) => listener.apply(this, args));
}
}
once(event, listener) {
const remove = this.on(event, (...args) => {
remove();
listener.apply(this, args);
});
}
}
Задача в том чтобы расширить EventEmitter классом BroadcastEventEmitter так, чтобы была возможность вызвать все обработчики всех событий:
Пример вызова: emit("*", [...arg]) - вызвать все обработчики событий, можно передать аргументы.
Помогите, пожалуйста.