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)

25 lines (24 loc) 736 B
'use strict'; 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) { if (!this.subscribers.has(e)) return; const subs = Array.from(this.subscribers.get(e)); for (const sub of subs) sub(data); } kill() { this.subscribers = new Map(); } __getSize(e) { return e ? this.subscribers.get(e)?.size ?? 0 : this.subscribers.size; } } exports.EventEmitter = EventEmitter; //# sourceMappingURL=emitter.js.map