import{S as V,p as L,r as l,m as T,n as g,o as Q,q as w,v as k,w as W,x as O,y as G,z as K,A as N,B as j,E as J,G as X}from"./index-YIaDEtYb.js";import{r as p}from"./vendor-react-f9GpqhU8.js";var Y=class extends V{constructor(t,e){super(),this.options=e,this.#s=t,this.#r=null,this.#i=L(),this.bindMethods(),this.setOptions(e)}#s;#t=void 0;#p=void 0;#e=void 0;#a;#c;#i;#r;#b;#l;#d;#o;#h;#n;#f=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),B(this.#t,this.options)?this.#u():this.updateResult(),this.#g())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return x(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return x(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#y(),this.#S(),this.#t.removeObserver(this)}setOptions(t){const e=this.options,s=this.#t;if(this.options=this.#s.defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof l(this.options.enabled,this.#t)!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#O(),this.#t.setOptions(this.options),e._defaulted&&!T(this.options,e)&&this.#s.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#t,observer:this});const i=this.hasListeners();i&&A(this.#t,s,this.options,e)&&this.#u(),this.updateResult(),i&&(this.#t!==s||l(this.options.enabled,this.#t)!==l(e.enabled,this.#t)||g(this.options.staleTime,this.#t)!==g(e.staleTime,this.#t))&&this.#v();const r=this.#R();i&&(this.#t!==s||l(this.options.enabled,this.#t)!==l(e.enabled,this.#t)||r!==this.#n)&&this.#m(r)}getOptimisticResult(t){const e=this.#s.getQueryCache().build(this.#s,t),s=this.createResult(e,t);return $(this,s)&&(this.#e=s,this.#c=this.options,this.#a=this.#t.state),s}getCurrentResult(){return this.#e}trackResult(t,e){return new Proxy(t,{get:(s,i)=>(this.trackProp(i),e?.(i),i==="promise"&&!this.options.experimental_prefetchInRender&&this.#i.status==="pending"&&this.#i.reject(new Error("experimental_prefetchInRender feature flag is not enabled")),Reflect.get(s,i))})}trackProp(t){this.#f.add(t)}getCurrentQuery(){return this.#t}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const e=this.#s.defaultQueryOptions(t),s=this.#s.getQueryCache().build(this.#s,e);return s.fetch().then(()=>this.createResult(s,e))}fetch(t){return this.#u({...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#e))}#u(t){this.#O();let e=this.#t.fetch(this.options,t);return t?.throwOnError||(e=e.catch(Q)),e}#v(){this.#y();const t=g(this.options.staleTime,this.#t);if(w||this.#e.isStale||!k(t))return;const s=W(this.#e.dataUpdatedAt,t)+1;this.#o=O.setTimeout(()=>{this.#e.isStale||this.updateResult()},s)}#R(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#m(t){this.#S(),this.#n=t,!(w||l(this.options.enabled,this.#t)===!1||!k(this.#n)||this.#n===0)&&(this.#h=O.setInterval(()=>{(this.options.refetchIntervalInBackground||G.isFocused())&&this.#u()},this.#n))}#g(){this.#v(),this.#m(this.#R())}#y(){this.#o&&(O.clearTimeout(this.#o),this.#o=void 0)}#S(){this.#h&&(O.clearInterval(this.#h),this.#h=void 0)}createResult(t,e){const s=this.#t,i=this.options,r=this.#e,u=this.#a,n=this.#c,o=t!==s?t.state:this.#p,{state:d}=t;let a={...d},m=!1,h;if(e._optimisticResults){const c=this.hasListeners(),y=!c&&B(t,e),R=c&&A(t,s,e,i);(y||R)&&(a={...a,...K(d.data,t.options)}),e._optimisticResults==="isRestoring"&&(a.fetchStatus="idle")}let{error:_,errorUpdatedAt:P,status:b}=a;h=a.data;let U=!1;if(e.placeholderData!==void 0&&h===void 0&&b==="pending"){let c;r?.isPlaceholderData&&e.placeholderData===n?.placeholderData?(c=r.data,U=!0):c=typeof e.placeholderData=="function"?e.placeholderData(this.#d?.state.data,this.#d):e.placeholderData,c!==void 0&&(b="success",h=N(r?.data,c,e),m=!0)}if(e.select&&h!==void 0&&!U)if(r&&h===u?.data&&e.select===this.#b)h=this.#l;else try{this.#b=e.select,h=e.select(h),h=N(r?.data,h,e),this.#l=h,this.#r=null}catch(c){this.#r=c}this.#r&&(_=this.#r,h=this.#l,P=Date.now(),b="error");const C=a.fetchStatus==="fetching",E=b==="pending",I=b==="error",F=E&&C,D=h!==void 0,f={status:b,fetchStatus:a.fetchStatus,isPending:E,isSuccess:b==="success",isError:I,isInitialLoading:F,isLoading:F,data:h,dataUpdatedAt:a.dataUpdatedAt,error:_,errorUpdatedAt:P,failureCount:a.fetchFailureCount,failureReason:a.fetchFailureReason,errorUpdateCount:a.errorUpdateCount,isFetched:a.dataUpdateCount>0||a.errorUpdateCount>0,isFetchedAfterMount:a.dataUpdateCount>o.dataUpdateCount||a.errorUpdateCount>o.errorUpdateCount,isFetching:C,isRefetching:C&&!E,isLoadingError:I&&!D,isPaused:a.fetchStatus==="paused",isPlaceholderData:m,isRefetchError:I&&D,isStale:M(t,e),refetch:this.refetch,promise:this.#i,isEnabled:l(e.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){const c=S=>{f.status==="error"?S.reject(f.error):f.data!==void 0&&S.resolve(f.data)},y=()=>{const S=this.#i=f.promise=L();c(S)},R=this.#i;switch(R.status){case"pending":t.queryHash===s.queryHash&&c(R);break;case"fulfilled":(f.status==="error"||f.data!==R.value)&&y();break;case"rejected":(f.status!=="error"||f.error!==R.reason)&&y();break}}return f}updateResult(){const t=this.#e,e=this.createResult(this.#t,this.options);if(this.#a=this.#t.state,this.#c=this.options,this.#a.data!==void 0&&(this.#d=this.#t),T(e,t))return;this.#e=e;const s=()=>{if(!t)return!0;const{notifyOnChangeProps:i}=this.options,r=typeof i=="function"?i():i;if(r==="all"||!r&&!this.#f.size)return!0;const u=new Set(r??this.#f);return this.options.throwOnError&&u.add("error"),Object.keys(this.#e).some(n=>{const v=n;return this.#e[v]!==t[v]&&u.has(v)})};this.#C({listeners:s()})}#O(){const t=this.#s.getQueryCache().build(this.#s,this.options);if(t===this.#t)return;const e=this.#t;this.#t=t,this.#p=t.state,this.hasListeners()&&(e?.removeObserver(this),t.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#g()}#C(t){j.batch(()=>{t.listeners&&this.listeners.forEach(e=>{e(this.#e)}),this.#s.getQueryCache().notify({query:this.#t,type:"observerResultsUpdated"})})}};function Z(t,e){return l(e.enabled,t)!==!1&&t.state.data===void 0&&!(t.state.status==="error"&&e.retryOnMount===!1)}function B(t,e){return Z(t,e)||t.state.data!==void 0&&x(t,e,e.refetchOnMount)}function x(t,e,s){if(l(e.enabled,t)!==!1&&g(e.staleTime,t)!=="static"){const i=typeof s=="function"?s(t):s;return i==="always"||i!==!1&&M(t,e)}return!1}function A(t,e,s,i){return(t!==e||l(i.enabled,t)===!1)&&(!s.suspense||t.state.status!=="error")&&M(t,s)}function M(t,e){return l(e.enabled,t)!==!1&&t.isStaleByTime(g(e.staleTime,t))}function $(t,e){return!T(t.getCurrentResult(),e)}var z=p.createContext(!1),q=()=>p.useContext(z);z.Provider;function tt(){let t=!1;return{clearReset:()=>{t=!1},reset:()=>{t=!0},isReset:()=>t}}var et=p.createContext(tt()),st=()=>p.useContext(et),it=(t,e)=>{(t.suspense||t.throwOnError||t.experimental_prefetchInRender)&&(e.isReset()||(t.retryOnMount=!1))},rt=t=>{p.useEffect(()=>{t.clearReset()},[t])},nt=({result:t,errorResetBoundary:e,throwOnError:s,query:i,suspense:r})=>t.isError&&!e.isReset()&&!t.isFetching&&i&&(r&&t.data===void 0||J(s,[t.error,i])),at=t=>{if(t.suspense){const s=r=>r==="static"?r:Math.max(r??1e3,1e3),i=t.staleTime;t.staleTime=typeof i=="function"?(...r)=>s(i(...r)):s(i),typeof t.gcTime=="number"&&(t.gcTime=Math.max(t.gcTime,1e3))}},ot=(t,e)=>t.isLoading&&t.isFetching&&!e,ht=(t,e)=>t?.suspense&&e.isPending,H=(t,e,s)=>e.fetchOptimistic(t).catch(()=>{s.clearReset()});function ut(t,e,s){const i=q(),r=st(),u=X(),n=u.defaultQueryOptions(t);u.getDefaultOptions().queries?._experimental_beforeQuery?.(n),n._optimisticResults=i?"isRestoring":"optimistic",at(n),it(n,r),rt(r);const v=!u.getQueryCache().get(n.queryHash),[o]=p.useState(()=>new e(u,n)),d=o.getOptimisticResult(n),a=!i&&t.subscribed!==!1;if(p.useSyncExternalStore(p.useCallback(m=>{const h=a?o.subscribe(j.batchCalls(m)):Q;return o.updateResult(),h},[o,a]),()=>o.getCurrentResult(),()=>o.getCurrentResult()),p.useEffect(()=>{o.setOptions(n)},[n,o]),ht(n,d))throw H(n,o,r);if(nt({result:d,errorResetBoundary:r,throwOnError:n.throwOnError,query:u.getQueryCache().get(n.queryHash),suspense:n.suspense}))throw d.error;return u.getDefaultOptions().queries?._experimental_afterQuery?.(n,d),n.experimental_prefetchInRender&&!w&&ot(d,i)&&(v?H(n,o,r):u.getQueryCache().get(n.queryHash)?.promise)?.catch(Q).finally(()=>{o.updateResult()}),n.notifyOnChangeProps?d:o.trackResult(d)}function ft(t,e){return ut(t,Y)}export{ft as u};