{"version":3,"file":"imm_evt.mjs","sources":["../code/imm_utils.mjs","../code/imm_evt_core.mjs","../code/imm_async.mjs"],"sourcesContent":["export const\n _I_ = x=>x,\n _dash_name = s => s?.replace(/_/g, '-'),\n _prop_name = s => s?.replace(/-/g, '_'),\n _pairs = o => Object.entries(o),\n _is_obj = a => 'object' === typeof a && null !== a,\n _is_iter = a => _is_obj(a) && Symbol.iterator in a,\n _is_attr_dict = a => _is_obj(a)\n && !a.nodeType && !a.toDOM\n && !_is_iter(a)\n\nexport const\n _imm_cp = (tgt, src, key) =>\n Object.assign(tgt, key ? {[key]:src} : src),\n _ce = /* #__PURE__ */ _I_(customElements),\n\n _el_on = (el, ...z) => ( el.addEventListener(...z), el ),\n _el_get = (el,k) => (k=el.getAttribute(k), ''==k || k),\n _el_has = (el,k) => el.hasAttribute(k),\n _el_set = (el,k,v) => (\n (null == v || false === v\n ? el.removeAttribute(k) // false or nullish is semantically removeAttribute()\n : _is_obj(v) == {style: 1}[k] ? _imm_cp(el[k], v) // use object assign for known keys: style; note true==1 but false!=undefined\n : el.setAttribute(k, true === v ? '' : v)\n ), 1)\n\n","import { _el_on, _pairs } from './imm_utils.mjs'\n \n\nexport function imm_emit0(tgt, evt, opt) {\n return tgt.dispatchEvent(new CustomEvent(evt, opt)) }\n\nexport function imm_emit_at(tgt, evt, detail, opt) {\n return imm_emit0(tgt, evt, {...opt, detail}) }\n\nexport function imm_emit(tgt, evt, detail, opt) {\n return imm_emit0(tgt, evt, {bubbles: true, cancelable: true, ...opt, detail}) }\n\nexport function imm_wcemit(tgt, evt, detail, opt) {\n return imm_emit(tgt, evt, detail, {composed: true, ...opt}) }\n\n\nexport function imm_on(el, ns, xfn=f=>f) {\n ns = ns[0] ? ns : _pairs(ns)\n for (let [n,f,o] of ns)\n _el_on(el, n, xfn(f), o)\n return el\n}\n\nexport const with_emit0 = ImmKlass =>\n class extends ImmKlass {\n emit0(evt, detail) {\n return imm_emit0(this, evt, {detail})\n }\n on(... ns) {\n ns = ns[1] ? [ns] : ns[0]\n return imm_on(this, ns, f => e => f(e.detail))\n }\n }\n\n","\nexport function imm_defer_ctx(as_res=((...args) => args)) {\n let y,n,_pset = (a,b) => { y=a, n=b }\n return p => (p = new Promise(_pset), as_res(p, y, n))\n}\n\nexport const imm_defer_v = /* #__PURE__ */\n imm_defer_ctx()\n\nexport const imm_defer = /* #__PURE__ */\n imm_defer_ctx((p,y,n) =>\n ({promise: p, resolve: y, reject: n}))\n\n"],"names":[],"mappings":"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"}