import{r as n,j as Q}from"../react-D4HIU6wz.js";import{n as E,i as b,Q as w}from"./query-core-B0xktSGg.js";var R=n.createContext(void 0),q=e=>{const r=n.useContext(R);if(!r)throw new Error("No QueryClient set, use QueryClientProvider to set one");return r},L=({client:e,children:r})=>(n.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),Q.jsx(R.Provider,{value:e,children:r})),m=n.createContext(!1),P=()=>n.useContext(m);m.Provider;function T(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var S=n.createContext(T()),_=()=>n.useContext(S);function B(e,r){return typeof e=="function"?e(...r):!!e}function O(){}var d=(e,r)=>{(e.suspense||e.throwOnError)&&(r.isReset()||(e.retryOnMount=!1))},H=e=>{n.useEffect(()=>{e.clearReset()},[e])},j=({result:e,errorResetBoundary:r,throwOnError:c,query:u})=>e.isError&&!r.isReset()&&!e.isFetching&&u&&B(c,[e.error,u]),F=e=>{e.suspense&&(e.staleTime===void 0&&(e.staleTime=1e3),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3)))},I=(e,r)=>e.isLoading&&e.isFetching&&!r,M=(e,r)=>(e==null?void 0:e.suspense)&&r.isPending,h=(e,r,c)=>r.fetchOptimistic(e).catch(()=>{c.clearReset()});function k(e,r,c){var y,C,f,v,g;const u=q(),l=P(),o=_(),t=u.defaultQueryOptions(e);(C=(y=u.getDefaultOptions().queries)==null?void 0:y._experimental_beforeQuery)==null||C.call(y,t),t._optimisticResults=l?"isRestoring":"optimistic",F(t),d(t,o),H(o);const p=!u.getQueryCache().get(t.queryHash),[s]=n.useState(()=>new r(u,t)),i=s.getOptimisticResult(t);if(n.useSyncExternalStore(n.useCallback(a=>{const x=l?()=>{}:s.subscribe(E.batchCalls(a));return s.updateResult(),x},[s,l]),()=>s.getCurrentResult(),()=>s.getCurrentResult()),n.useEffect(()=>{s.setOptions(t,{listeners:!1})},[t,s]),M(t,i))throw h(t,s,o);if(j({result:i,errorResetBoundary:o,throwOnError:t.throwOnError,query:u.getQueryCache().get(t.queryHash)}))throw i.error;if((v=(f=u.getDefaultOptions().queries)==null?void 0:f._experimental_afterQuery)==null||v.call(f,t,i),t.experimental_prefetchInRender&&!b&&I(i,l)){const a=p?h(t,s,o):(g=u.getQueryCache().get(t.queryHash))==null?void 0:g.promise;a==null||a.catch(O).finally(()=>{s.updateResult()})}return t.notifyOnChangeProps?i:s.trackResult(i)}function V(e,r){return k(e,w)}export{L as Q,V as u};