import{u as P,a as v}from"./chunk-893bf84a.js";import{q as O,c as m,n as f}from"./chunk-449c23a2.js";function Q(r){return typeof r=="function"?r():O(r)}var g=Object.defineProperty,d=Object.defineProperties,w=Object.getOwnPropertyDescriptors,y=Object.getOwnPropertySymbols,b=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable,c=(r,e,t)=>e in r?g(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,a=(r,e)=>{for(var t in e||(e={}))b.call(e,t)&&c(r,t,e[t]);if(y)for(var t of y(e))q.call(e,t)&&c(r,t,e[t]);return r},j=(r,e)=>d(r,w(e));let p={};function x(r,e,t={}){const{mode:n="replace",route:u=P(),router:s=v(),transform:_=o=>o}=t;return m({get(){var o;const l=(o=u.query[r])!=null?o:e;return _(l)},set(o){p[r]=o===e||o===null?void 0:o,f(()=>{s[Q(n)](j(a({},u),{query:a(a({},u.query),p)})),f(()=>p={})})}})}const i={number:{fromQuery:r=>Number(r),toQuery:r=>String(r)},string:{fromQuery:r=>r,toQuery:r=>r},boolean:{fromQuery:r=>r.toLowerCase()==="true",toQuery:r=>r?"true":"false"}};function h({name:r,defaultValue:e}){const n=i[typeof e]??i.string,u=x(r,n.toQuery(e));return m({get(){return n.fromQuery(u.value)},set(s){u.value=n.toQuery(s)}})}export{h as u};