{"version":3,"sources":["jsdelivr-header.js","/npm/simpler-emitter@0.1.0/mod.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACFA,OAAO,QAAQ,cAAgB,KAC3B,MACI,EAAY,CAAC,EAMb,EAAK,CAAC,EAAO,KACL,EAAU,KACV,EAAU,GAAS,IACnB,EAAU,GAAO,SAAS,IAC1B,EAAU,GAAO,KAAK,EAAS,EAOvC,EAAM,CAAC,EAAO,KACV,MAAM,GAAS,EAAU,IAAU,IAAI,QAAQ,IACjC,IAAX,GACC,EAAU,GAAO,OAAO,EAAO,EAAE,EAE7C,MAAO,CACH,KACA,MAMA,KAAM,CAAC,EAAO,KACV,MAAM,EAAY,IACd,EAAS,GACT,EAAI,EAAO,EAAU,EAEzB,EAAG,EAAO,EAAU,EAOxB,KAAM,CAAC,EAAO,KAAU,EAAU,IAAU,IAAI,SAAQ,GAAY,EAAS,KAChF","file":"/npm/simpler-emitter@0.1.0/mod.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/simpler-emitter@0.1.0/mod.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/**\n * Create emitter\n * @returns {{on: function, off: function, once: function, emit: function}}\n */\nmodule.exports.createEmitter = () => {\n    const\n        listeners = {},\n        /**\n         * Add listener\n         * @param {string} event - Event name\n         * @param {function} listener - Event listener\n         */\n        on = (event, listener) => {\n            if(!listeners[event])\n                listeners[event] = [];\n            if(!listeners[event].includes(listener))\n                listeners[event].push(listener);\n        },\n        /**\n         * Remove listener\n         * @param {string} event - Event name\n         * @param {function} listener - Event listener\n         */\n        off = (event, listener) => {\n            const index = (listeners[event] || []).indexOf(listener);\n            if(index !== -1)\n                listeners[event].splice(index, 1);\n        };\n    return {\n        on,\n        off,\n        /**\n         * Add one-time listener\n         * @param {string} event - Event name\n         * @param {function} listener - Event listener\n         */\n        once: (event, listener) => {\n            const _listener = data => {\n                listener(data);\n                off(event, _listener);\n            };\n            on(event, _listener);\n        },\n        /**\n         * Call listeners\n         * @param {string} event - Event name\n         * @param [data] - Event data\n         */\n        emit: (event, data) => (listeners[event] || []).forEach(listener => listener(data))\n    };\n};"]}