import{i as n,j as p,k as o,p as u,l as d,m as l,h as m,n as _,o as v,t as b}from"./a9_IrBSG.js";class y{anchor;#t=new Map;#s=new Map;#e=new Map;#i=!0;constructor(e,s=!0){this.anchor=e,this.#i=s}#a=()=>{var e=n;if(this.#t.has(e)){var s=this.#t.get(e),t=this.#s.get(s);if(t)p(t);else{var i=this.#e.get(s);i&&(this.#s.set(s,i.effect),this.#e.delete(s),i.fragment.lastChild.remove(),this.anchor.before(i.fragment),t=i.effect)}for(const[a,f]of this.#t){if(this.#t.delete(a),a===e)break;const r=this.#e.get(f);r&&(o(r.effect),this.#e.delete(f))}for(const[a,f]of this.#s){if(a===s)continue;const r=()=>{if(Array.from(this.#t.values()).includes(a)){var h=document.createDocumentFragment();v(f,h),h.append(d()),this.#e.set(a,{effect:f,fragment:h})}else o(f);this.#s.delete(a)};this.#i||!t?u(f,r,!1):r()}}};#f=e=>{this.#t.delete(e);const s=Array.from(this.#t.values());for(const[t,i]of this.#e)s.includes(t)||(o(i.effect),this.#e.delete(t))};ensure(e,s){var t=n,i=b();if(s&&!this.#s.has(e)&&!this.#e.has(e))if(i){var a=document.createDocumentFragment(),f=d();a.append(f),this.#e.set(e,{effect:l(()=>s(f)),fragment:a})}else this.#s.set(e,l(()=>s(this.anchor)));if(this.#t.set(t,e),i){for(const[r,c]of this.#s)r===e?t.skipped_effects.delete(c):t.skipped_effects.add(c);for(const[r,c]of this.#e)r===e?t.skipped_effects.delete(c.effect):t.skipped_effects.add(c.effect);t.oncommit(this.#a),t.ondiscard(this.#f)}else m&&(this.anchor=_),this.#a()}}export{y as B};