import{j as e,f as t}from"./p-9b6cc562.js";const s=e=>!("isConnected"in e)||e.isConnected,n=(()=>{let e;return(...t)=>{e&&clearTimeout(e),e=setTimeout((()=>{e=0,(e=>{for(let t of e.keys())e.set(t,e.get(t).filter(s))})(...t)}),2e3)}})(),o=e=>"function"==typeof e?e():e,r=(s,r)=>{const c=((e,t=((e,t)=>e!==t))=>{const s=o(e);let n=new Map(Object.entries(null!=s?s:{}));const r={dispose:[],get:[],set:[],reset:[]},c=()=>{var t;n=new Map(Object.entries(null!==(t=o(e))&&void 0!==t?t:{})),r.reset.forEach((e=>e()))},u=e=>(r.get.forEach((t=>t(e))),n.get(e)),i=(e,s)=>{const o=n.get(e);t(s,o,e)&&(n.set(e,s),r.set.forEach((t=>t(e,s,o))))},p="undefined"==typeof Proxy?{}:new Proxy(s,{get:(e,t)=>u(t),ownKeys:()=>Array.from(n.keys()),getOwnPropertyDescriptor:()=>({enumerable:!0,configurable:!0}),has:(e,t)=>n.has(t),set:(e,t,s)=>(i(t,s),!0)}),a=(e,t)=>(r[e].push(t),()=>{((e,t)=>{const s=e.indexOf(t);s>=0&&(e[s]=e[e.length-1],e.length--)})(r[e],t)});return{state:p,get:u,set:i,on:a,onChange:(t,s)=>{const n=a("set",((e,n)=>{e===t&&s(n)})),r=a("reset",(()=>s(o(e)[t])));return()=>{n(),r()}},use:(...e)=>{const t=e.reduce(((e,t)=>(t.set&&e.push(a("set",t.set)),t.get&&e.push(a("get",t.get)),t.reset&&e.push(a("reset",t.reset)),t.dispose&&e.push(a("dispose",t.dispose)),e)),[]);return()=>t.forEach((e=>e()))},dispose:()=>{r.dispose.forEach((e=>e())),c()},reset:c,forceUpdate:e=>{const t=n.get(e);r.set.forEach((s=>s(e,t,t)))}}})(s,r);return c.use((()=>{if("function"!=typeof e)return{};const s=new Map;return{dispose:()=>s.clear(),get:t=>{const n=e();n&&((e,t,s)=>{const n=e.get(t);n?n.includes(s)||n.push(s):e.set(t,[s])})(s,t,n)},set:e=>{const o=s.get(e);o&&s.set(e,o.filter(t)),n(s)},reset:()=>{s.forEach((e=>e.forEach(t))),n(s)}}})()),c};export{r as c}