@dark-engine/core
Version:
The lightweight and powerful UI rendering engine without dependencies and written in TypeScript (Browser, Node.js, Android, iOS, Windows, Linux, macOS)
23 lines (22 loc) • 637 B
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
exports.EventEmitter = void 0;
class EventEmitter {
subscribers = new Map();
on(e, fn) {
!this.subscribers.has(e) && this.subscribers.set(e, new Set());
this.subscribers.get(e).add(fn);
return () => this.subscribers.has(e) && this.subscribers.get(e).delete(fn);
}
emit(e, data) {
this.subscribers.has(e) && this.subscribers.get(e).forEach(x => x(data));
}
kill() {
this.subscribers = new Map();
}
__getSize() {
return this.subscribers.size;
}
}
exports.EventEmitter = EventEmitter;
//# sourceMappingURL=emitter.js.map