UNPKG

ixfx

Version:

Bundle of ixfx libraries

1 lines 1.01 kB
import{n as e}from"./chunk-BKBlUVio.js";var t=class{#e=new Map;get(e){let t=this.#e.get(e);return t?[...t]:[]}size(e){let t=this.#e.get(e);return t?t.length:0}*iterateKey(e){let t=this.#e.get(e);t&&(yield*t.values())}*iterateValues(){for(let e of this.#e.keys())yield*this.iterateKey(e)}*iterateKeys(){yield*this.#e.keys()}addKeyedValues(e,...t){let n=this.#e.get(e);n||(n=[],this.#e.set(e,n)),n.push(...t)}deleteKeyValue(e,t){let n=this.#e.get(e);if(!n)return!1;let r=n.filter(e=>e!==t);return r.length===n.length?!1:(this.#e.set(e,r),!0)}clear(){this.#e.clear()}},n=class{#e=new t;#t=!1;dispose(){this.#t||this.clearEventListeners()}get isDisposed(){return this.#t}fireEvent(e,t){if(this.#t)throw Error(`Disposed`);for(let n of this.#e.iterateKey(e))n(t,this)}addEventListener(e,t){if(this.#t)throw Error(`Disposed`);this.#e.addKeyedValues(e,t)}removeEventListener(e,t){this.#t||this.#e.deleteKeyValue(e,t)}clearEventListeners(){this.#t||this.#e.clear()}},r=e({SimpleEventEmitter:()=>n});export{n,r as t};