/** * Eventlet supports a minimal typed event pattern. It is designed to be used as either a standalone object * which emits events, or as a member property of a class that emits events. It should not be used as a superclass * for a class which will emit events. */ export class Eventlet { listeners = new Set(); emit = (...args) => { // Set is specified to iterate in insertion order for (const listener of this.listeners) { listener(...args); } }; add = (listener) => { this.listeners.add(listener); }; remove = (listener) => { this.listeners.delete(listener); }; } //# sourceMappingURL=eventlet.js.map