useQueries-B8Shr5vb.js 3.4 KB

1
  1. import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{k as t}from"./client-DSw2TdH4.js";import{C as n,E as r,P as i,c as a,k as o,n as s}from"./QueryClientProvider-B5vEWYBq.js";import{a as c,c as l,d as u,i as d,l as f,n as p,o as m,r as h,s as g,u as _}from"./useQuery-DfiorXB9.js";function v(e,t){let n=new Set(t);return e.filter(e=>!n.has(e))}function y(e,t,n){let r=e.slice(0);return r[t]=n,r}var b=class extends i{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l=[];constructor(e,t,n){super(),this.#e=e,this.#r=n,this.#n=[],this.#i=[],this.#t=[],this.setQueries(t)}onSubscribe(){this.listeners.size===1&&this.#i.forEach(e=>{e.subscribe(t=>{this.#p(e,t)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,this.#i.forEach(e=>{e.destroy()})}setQueries(e,t){this.#n=e,this.#r=t,a.batch(()=>{let e=this.#i,t=this.#f(this.#n);t.forEach(e=>e.observer.setOptions(e.defaultedQueryOptions));let n=t.map(e=>e.observer),r=n.map(e=>e.getCurrentResult()),i=e.length!==n.length,a=n.some((t,n)=>t!==e[n]),s=i||a,c=s?!0:r.some((e,t)=>{let n=this.#t[t];return!n||!o(e,n)});!s&&!c||(s&&(this.#l=t,this.#i=n),this.#t=r,this.hasListeners()&&(s&&(v(e,n).forEach(e=>{e.destroy()}),v(n,e).forEach(e=>{e.subscribe(t=>{this.#p(e,t)})})),this.#m()))})}getCurrentResult(){return this.#t}getQueries(){return this.#i.map(e=>e.getCurrentQuery())}getObservers(){return this.#i}getOptimisticResult(e,t){let n=this.#f(e),r=n.map(e=>e.observer.getOptimisticResult(e.defaultedQueryOptions)),i=n.map(e=>e.defaultedQueryOptions.queryHash);return[r,e=>this.#d(e??r,t,i),()=>this.#u(r,n)]}#u(e,t){return t.map((n,r)=>{let i=e[r];return n.defaultedQueryOptions.notifyOnChangeProps?i:n.observer.trackResult(i,e=>{t.forEach(t=>{t.observer.trackProp(e)})})})}#d(e,t,n){if(t){let i=this.#c,a=n!==void 0&&i!==void 0&&(i.length!==n.length||n.some((e,t)=>e!==i[t]));return(!this.#a||this.#t!==this.#s||a||t!==this.#o)&&(this.#o=t,this.#s=this.#t,n!==void 0&&(this.#c=n),this.#a=r(this.#a,t(e))),this.#a}return e}#f(e){let t=new Map;this.#i.forEach(e=>{let n=e.options.queryHash;if(!n)return;let r=t.get(n);r?r.push(e):t.set(n,[e])});let n=[];return e.forEach(e=>{let r=this.#e.defaultQueryOptions(e),i=t.get(r.queryHash)?.shift()??new u(this.#e,r);n.push({defaultedQueryOptions:r,observer:i})}),n}#p(e,t){let n=this.#i.indexOf(e);n!==-1&&(this.#t=y(this.#t,n,t),this.#m())}#m(){if(this.hasListeners()){let e=this.#a,t=this.#u(this.#t,this.#l);e!==this.#d(t,this.#r?.combine)&&a.batch(()=>{this.listeners.forEach(e=>{e(this.#t)})})}}},x=e(t(),1);function S({queries:e,...t},r){let i=s(r),o=_(),v=f(),y=x.useMemo(()=>e.map(e=>{let t=i.defaultQueryOptions(e);return t._optimisticResults=o?`isRestoring`:`optimistic`,t}),[e,i,o]);y.forEach(e=>{p(e);let t=i.getQueryCache().get(e.queryHash);m(e,v,t)}),l(v);let[S]=x.useState(()=>new b(i,y,t)),[C,w,T]=S.getOptimisticResult(y,t.combine),E=!o&&t.subscribed!==!1;x.useSyncExternalStore(x.useCallback(e=>E?S.subscribe(a.batchCalls(e)):n,[S,E]),()=>S.getCurrentResult(),()=>S.getCurrentResult()),x.useEffect(()=>{S.setQueries(y,t)},[y,t,S]);let D=C.some((e,t)=>d(y[t],e))?C.flatMap((e,t)=>{let n=y[t];if(n){let t=new u(i,n);if(d(n,e))return h(n,t,v);c(e,o)&&h(n,t,v)}return[]}):[];if(D.length>0)throw Promise.all(D);let O=C.find((e,t)=>{let n=y[t];return n&&g({result:e,errorResetBoundary:v,throwOnError:n.throwOnError,query:i.getQueryCache().get(n.queryHash),suspense:n.suspense})});if(O?.error)throw O.error;return w(T())}export{S as t};