import{An as e,Cn as t,Dn as n,En as r,Fn as i,In as a,Ln as o,Mn as s,Nn as c,On as l,Pn as u,Rn as d,Sn as f,Tn as p,Vn as m,bn as h,jn as g,kn as _,qn as v,wn as y,xn as b,zn as x}from"./index-CjPx3lfT.js";var S,C,w,T,E,D,O,k,A,j,M,N,P,F,I,L=(S=new WeakMap,C=new WeakMap,w=new WeakMap,T=new WeakMap,E=new WeakMap,D=new WeakMap,O=new WeakMap,k=new WeakMap,A=new WeakMap,j=new WeakMap,M=new WeakMap,N=new WeakMap,P=new WeakMap,F=new WeakMap,I=new WeakSet,class extends y{constructor(e,t){super(),b(this,I),o(this,S,void 0),o(this,C,void 0),o(this,w,void 0),o(this,T,void 0),o(this,E,void 0),o(this,D,void 0),o(this,O,void 0),o(this,k,void 0),o(this,A,void 0),o(this,j,void 0),o(this,M,void 0),o(this,N,void 0),o(this,P,void 0),o(this,F,new Set),this.options=t,u(S,this,e),u(O,this,null),this.bindMethods(),this.setOptions(t)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(i(C,this).addObserver(this),J(i(C,this),this.options)?a(I,this,R).call(this):this.updateResult(),a(I,this,U).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Y(i(C,this),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Y(i(C,this),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,a(I,this,W).call(this),a(I,this,G).call(this),i(C,this).removeObserver(this)}setOptions(t){let n=this.options,r=i(C,this);if(this.options=i(S,this).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!=`boolean`&&typeof this.options.enabled!=`function`&&typeof _(this.options.enabled,i(C,this))!=`boolean`)throw Error(`Expected enabled to be a boolean or a callback that returns a boolean`);a(I,this,K).call(this),i(C,this).setOptions(this.options),n._defaulted&&!e(this.options,n)&&i(S,this).getQueryCache().notify({type:`observerOptionsUpdated`,query:i(C,this),observer:this});let o=this.hasListeners();o&&X(i(C,this),r,this.options,n)&&a(I,this,R).call(this),this.updateResult(),o&&(i(C,this)!==r||_(this.options.enabled,i(C,this))!==_(n.enabled,i(C,this))||_(this.options.staleTime,i(C,this))!==_(n.staleTime,i(C,this)))&&a(I,this,B).call(this);let s=a(I,this,V).call(this);o&&(i(C,this)!==r||_(this.options.enabled,i(C,this))!==_(n.enabled,i(C,this))||s!==i(P,this))&&a(I,this,H).call(this,s)}getOptimisticResult(t){let n=i(S,this).getQueryCache().build(i(S,this),t),r=this.createResult(n,t);return e(this.getCurrentResult(),r)||(u(T,this,r),u(D,this,this.options),u(E,this,i(C,this).state)),r}getCurrentResult(){return i(T,this)}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t==null||t(n),Reflect.get(e,n))})}trackProp(e){i(F,this).add(e)}getCurrentQuery(){return i(C,this)}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=i(S,this).defaultQueryOptions(e),n=i(S,this).getQueryCache().build(i(S,this),t),r=()=>{},a,o=new Promise(e=>{a=e,r=i(S,this).getQueryCache().subscribe(i=>{i.type===`updated`&&i.query.queryHash===n.queryHash&&n.state.data!==void 0&&(r(),e(this.createResult(n,t)))})});return Promise.race([n.fetch(t).then(()=>{let e=this.createResult(n,t);return a==null||a(e),e}).finally(()=>{r()}),o])}fetch(e){return a(I,this,R).call(this,{...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),i(T,this)))}createResult(e,t){let n=i(C,this),r=this.options,a=i(T,this),o=i(E,this),s=i(D,this),c=e===n?i(w,this):e.state,{state:d}=e,f={...d},p=!1,m;if(t._optimisticResults){let i=this.hasListeners(),a=!i&&J(e,t),o=i&&X(e,n,t,r);(a||o)&&(f={...f,...h(d.data,e.options)}),t._optimisticResults===`isRestoring`&&(f.fetchStatus=`idle`)}let{error:g,errorUpdatedAt:v,status:y}=f;m=f.data;let b=!1;if(t.placeholderData!==void 0&&m===void 0&&y===`pending`){var x;let e;a!=null&&a.isPlaceholderData&&t.placeholderData===(s==null?void 0:s.placeholderData)?(e=a.data,b=!0):e=typeof t.placeholderData==`function`?t.placeholderData((x=i(j,this))==null?void 0:x.state.data,i(j,this)):t.placeholderData,e!==void 0&&(y=`success`,m=l(a==null?void 0:a.data,e,t),p=!0)}if(t.select&&m!==void 0&&!b)if(a&&m===(o==null?void 0:o.data)&&t.select===i(k,this))m=i(A,this);else try{u(k,this,t.select),m=t.select(m),m=l(a==null?void 0:a.data,m,t),u(A,this,m),u(O,this,null)}catch(e){u(O,this,e)}else m===void 0&&u(O,this,null);i(O,this)&&(g=i(O,this),m=i(A,this),v=Date.now(),y=`error`,p=!1);let S=f.fetchStatus===`fetching`,M=y===`pending`,N=y===`error`,P=M&&S,F=m!==void 0;return{status:y,fetchStatus:f.fetchStatus,isPending:M,isSuccess:y===`success`,isError:N,isInitialLoading:P,isLoading:P,data:m,dataUpdatedAt:f.dataUpdatedAt,error:g,errorUpdatedAt:v,failureCount:f.fetchFailureCount,failureReason:f.fetchFailureReason,errorUpdateCount:f.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:f.dataUpdateCount>c.dataUpdateCount||f.errorUpdateCount>c.errorUpdateCount,isFetching:S,isRefetching:S&&!M,isLoadingError:N&&!F,isPaused:f.fetchStatus===`paused`,isPlaceholderData:p,isRefetchError:N&&F,isStale:Z(e,t),refetch:this.refetch,isEnabled:_(t.enabled,e)!==!1}}updateResult(){let t=i(T,this),n=this.createResult(i(C,this),this.options);if(u(E,this,i(C,this).state),u(D,this,this.options),i(E,this).data!==void 0&&u(j,this,i(C,this)),e(n,t))return;u(T,this,n);let r=(()=>{if(!t)return!0;let{notifyOnChangeProps:e}=this.options,n=typeof e==`function`?e():e;if(n===`all`||!n&&!i(F,this).size||this.options.throwOnError&&i(T,this).error!==t.error)return!0;for(let e of n??i(F,this))if(i(T,this)[e]!==t[e])return!0;return!1})();f.batch(()=>{r&&this.listeners.forEach(e=>{e(i(T,this))}),i(S,this).getQueryCache().notify({query:i(C,this),type:`observerResultsUpdated`})})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&a(I,this,U).call(this)}});function R(e){a(I,this,K).call(this);let t=i(C,this).fetch(this.options,e);return e!=null&&e.throwOnError||(t=t.catch(n)),t}function z(e){return!p()&&_(this.options.enabled,i(C,this))!==!1&&r(e)}function B(){a(I,this,W).call(this);let e=_(this.options.staleTime,i(C,this));if(i(T,this).isStale||!a(I,this,z).call(this,e))return;let t=s(i(T,this).dataUpdatedAt,e)+1;u(M,this,c.setTimeout(()=>{i(T,this).isStale||this.updateResult()},t))}function V(){return _(this.options.refetchInterval,i(C,this))??!1}function H(e){a(I,this,G).call(this),u(P,this,e),!(i(P,this)===0||!a(I,this,z).call(this,i(P,this)))&&u(N,this,c.setInterval(()=>{(this.options.refetchIntervalInBackground||t.isFocused())&&a(I,this,R).call(this)},i(P,this)))}function U(){a(I,this,B).call(this),a(I,this,H).call(this,a(I,this,V).call(this))}function W(){i(M,this)!==void 0&&(c.clearTimeout(i(M,this)),u(M,this,void 0))}function G(){i(N,this)!==void 0&&(c.clearInterval(i(N,this)),u(N,this,void 0))}function K(){let e=i(S,this).getQueryCache().build(i(S,this),this.options);if(e===i(C,this))return;let t=i(C,this);u(C,this,e),u(w,this,e.state),this.hasListeners()&&(t==null||t.removeObserver(this),e.addObserver(this))}function q(e,t){return _(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status===`error`&&_(t.retryOnMount,e)===!1)}function J(e,t){return q(e,t)||e.state.data!==void 0&&Y(e,t,t.refetchOnMount)}function Y(e,t,n){if(_(t.enabled,e)!==!1&&_(t.staleTime,e)!==`static`){let r=_(n,e);return r===`always`||r!==!1&&Z(e,t)}return!1}function X(e,t,n,r){return(e!==t||_(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&Z(e,n)}function Z(e,t){return _(t.enabled,e)!==!1&&e.isStaleByTime(_(t.staleTime,e))}var Q=v(m(),1),$=Q.createContext(!1),ee=()=>Q.useContext($);$.Provider,x();function te(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var ne=Q.createContext(te()),re=()=>Q.useContext(ne),ie=(e,t,n)=>{let r=(n==null?void 0:n.state.status)===`error`&&typeof e.throwOnError==`function`?g(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||r)&&(t.isReset()||(e.retryOnMount=!1))},ae=e=>{Q.useEffect(()=>{e.clearReset()},[e])},oe=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||g(n,[e.error,r])),se=e=>{if(e.suspense){let t=1e3,n=e=>e===`static`?e:Math.max(e??t,t),r=e.staleTime;e.staleTime=typeof r==`function`?(...e)=>n(r(...e)):n(r),typeof e.gcTime==`number`&&(e.gcTime=Math.max(e.gcTime,t))}},ce=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,le=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function ue(e,t,r){let i=ee(),a=re(),o=d(r),s=o.defaultQueryOptions(e),c=o.getQueryCache().get(s.queryHash),l=e.subscribed!==!1;s._optimisticResults=i?`isRestoring`:l?`optimistic`:void 0,se(s),ie(s,a,c),ae(a);let[u]=Q.useState(()=>new t(o,s)),p=u.getOptimisticResult(s),m=!i&&l;if(Q.useSyncExternalStore(Q.useCallback(e=>{let t=m?u.subscribe(f.batchCalls(e)):n;return u.updateResult(),t},[u,m]),()=>u.getCurrentResult(),()=>u.getCurrentResult()),Q.useEffect(()=>{u.setOptions(s)},[s,u]),ce(s,p))throw le(s,u,a);if(oe({result:p,errorResetBoundary:a,throwOnError:s.throwOnError,query:c,suspense:s.suspense}))throw p.error;return s.notifyOnChangeProps?p:u.trackResult(p)}function de(e,t){return ue(e,L,t)}export{de as t};