<!-- SOLID-PLAYTIME · part 12 -->
ns),this.state=t.state??this.#e,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#t}get promise(){return this.#s?.promise}setOptions(t){if(this.options={...this.#o,...t},t?._type)this.#t=t._type;if(this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let e=vg(this.options);if(e.data!==void 0)this.setState(gg(e.data,e.dataUpdatedAt)),this.#e=e}}optionalRemove(){if(!this.observers.length&&this.state.fetchStatus==="idle")this.#i.remove(this)}setData(t,e){let n=ol(this.state.data,t,this.options);return this.#l({data:n,type:"success",dataUpdatedAt:e?.updatedAt,manual:e?.manual}),n}setState(t){this.#l({type:"setState",state:t})}cancel(t){let e=this.#s?.promise;return this.#s?.cancel(t),e?e.then(qe).catch(qe):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#e}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some((t)=>Fn(t.options.enabled,this)!==!1)}isDisabled(){if(this.getObserversCount()>0)return!this.isActive();return this.options.queryFn===_r||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){if(this.getObserversCount()>0)return this.observers.some((t)=>wi(t.options.staleTime,this)==="static");return!1}isStale(){if(this.getObserversCount()>0)return this.observers.some((t)=>t.getCurrentResult().isStale);return this.state.data===void 0||this.state.isInvalidated}isStaleByTime(t=0){if(this.state.data===void 0)return!0;if(t==="static")return!1;if(this.state.isInvalidated)return!0;return!Qc(this.state.dataUpdatedAt,t)}onFocus(){this.observers.find((e)=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#s?.continue()}onOnline(){this.observers.find((e)=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#s?.continue()}addObserver(t){if(!this.observers.includes(t))this.observers.push(t),this.clearGcTimeout(),this.#i.notify({type:"observerAdded",query:this,observer:t})}removeObserver(t){if(this.observers.includes(t)){if(this.observers=this.observers.filter((e)=>e!==t),!this.observers.length){if(this.#s)if(this.#r||this.#u())this.#s.cancel({revert:!0});else this.#s.cancelRetry();this.scheduleGc()}this.#i.notify({type:"observerRemoved",query:this,observer:t})}}getObserversCount(){return this.observers.length}#u(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"}invalidate(){if(!this.state.isInvalidated)this.#l({type:"invalidate"})}async fetch(t,e){if(this.state.fetchStatus!=="idle"&&this.#s?.status()!=="rejected"){if(this.state.data!==void 0&&e?.cancelRefetch)this.cancel({silent:!0});else if(this.#s)return this.#s.continueRetry(),this.#s.promise}if(t)this.setOptions(t);if(!this.options.queryFn){let l=this.observers.find((c)=>c.options.queryFn);if(l)this.setOptions(l.options)}let n=new AbortController,i=(l)=>{Object.defineProperty(l,"signal",{enumerable:!0,get:()=>(this.#r=!0,n.signal)})},s=()=>{let l=Kc(this.options,e),u=(()=>{let f={client:this.#a,queryKey:this.queryKey,meta:this.meta};return i(f),f})();if(this.#r=!1,this.options.persister)return this.options.persister(l,u,this);return l(u)},r=(()=>{let l={fetchOptions:e,options:this.options,queryKey:this.queryKey,client:this.#a,state:this.state,fetchFn:s};return i(l),l})();if((this.#t==="infinite"?Ug(this.options.pages):this.options.behavior)?.onFetch(r,this),this.#n=this.state,this.state.fetchStatus==="idle"||this.state.fetchMeta!==r.fetchOptions?.meta)this.#l({type:"fetch",meta:r.fetchOptions?.meta});this.#s=tu({initialPromise:e?.initialPromise,fn:r.fetchFn,onCancel:(l)=>{if(l instanceof jc&&l.revert)this.setState({...this.#n,fetchStatus:"idle"});n.abort()},onFail:(l,c)=>{this.#l({type:"failed",failureCount:l,error:c})},onPause:()=>{this.#l({type:"pause"})},onContinue:()=>{this.#l({type:"continue"})},retry:r.options.retry,retryDelay:r.options.retryDelay,networkMode:r.options.networkMode,canRun:()=>!0});try{let l=await this.#s.start();if(l===void 0)throw Error(`${this.queryHash} data is undefined`);return this.setData(l),this.#i.config.onSuccess?.(l,this),this.#i.config.onSettled?.(l,this.state.error,this),l}catch(l){if(l instanceof jc){if(l.silent)return this.#s.promise;else if(l.revert){if(this.state.data===void 0)throw l;return this.state.data}}throw this.#l({type:"error",error:l}),this.#i.config.onError?.(l,this),this.#i.config.onSettled?.(this.state.data,l,this),l}finally{this.scheduleGc()}}#l(t){let e=(n)=>{switch(t.type){case"failed":return{...n,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...n,fetchStatus:"paused"};case"continue":return{...n,fetchStatus:"fetching"};case"fetch":return{...n,...sd(n.data,this.options),fetchMeta:t.meta??null};case"success":let i={...n,...gg(t.data,t.dataUpdatedAt),dataUpdateCount:n.dataUpdateCount+1,...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#n=t.manual?i:void 0,i;case"