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