@levimc-lse/scaffold
Version:
A utility for assisting in the development of Legacy Script Engine plugins.
25 lines (24 loc) • 715 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.BaseSocketEventable = void 0;
class BaseSocketEventable {
constructor() {
this.eventListeners = new Map();
}
emit(event, ...args) {
const listeners = this.eventListeners.get(event);
if (listeners) {
listeners.forEach((listener) => {
listener(...args);
});
}
}
on(event, listener) {
if (!this.eventListeners.has(event)) {
this.eventListeners.set(event, []);
}
const listeners = this.eventListeners.get(event);
listeners.push(listener);
}
}
exports.BaseSocketEventable = BaseSocketEventable;