osmd-audio-player
Version:
OSMD audio player
18 lines (17 loc) • 450 B
JavaScript
export class EventEmitter {
constructor() {
this.subscribers = new Map();
}
on(event, callback) {
if (!this.subscribers.get(event)) {
this.subscribers.set(event, []);
}
this.subscribers.get(event).push(callback);
}
emit(event, ...args) {
const subscribers = this.subscribers.get(event) || [];
for (const sub of subscribers) {
sub(...args);
}
}
}