@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)
20 lines (19 loc) • 517 B
JavaScript
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;
}
}
export { EventEmitter };
//# sourceMappingURL=emitter.js.map