@navetacandra/guerrillamail
Version:
Guerrillamail API Wrapper
31 lines (26 loc) • 656 B
JavaScript
class EventEmitter {
#events = {};
constructor() {}
on(eventName = "", listener = (data) => {}) {
if (!this.#events[eventName]) {
this.#events[eventName] = [];
}
this.#events[eventName].push(listener);
}
off(eventName = "", listener = (data) => {}) {
if (!!this.#events[eventName]) {
this.#events[eventName].splice(
this.#events[eventName].indexOf(listener),
1,
);
}
}
emit(eventName = "", data = undefined) {
if (!!this.#events[eventName]) {
this.#events[eventName].forEach((listener) => {
listener(data);
});
}
}
}
exports.EventEmitter = EventEmitter;