UNPKG

@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
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