@lunora/react 1.0.0-alpha.91 → 1.0.0-alpha.92

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{AuthLoading as o,Authenticated as t,Unauthenticated as u}from"./packem_shared/AuthLoading-dC08yqew.mjs";import{useAuthState as a}from"./packem_shared/useAuthState-CoOG9XdT.mjs";import{LunoraProvider as n,useLunora as f}from"./packem_shared/LunoraProvider-DC06S-p1.mjs";import{lunoraQueryOptions as m}from"./packem_shared/lunoraQueryOptions-BVgQsR9d.mjs";import{useAction as x}from"./packem_shared/useAction-CUSJu4yq.mjs";import{useAuthSessions as g,useAuthUsers as A,useImpersonate as h,useOrganizations as U,useSignUpInvitations as c}from"./packem_shared/useAuthSessions-gBDeNFnd.mjs";import{useAgent as C}from"./packem_shared/useAgent-DtQfMu4S.mjs";import{useAgentChat as S}from"./packem_shared/useAgentChat-g4ZNMq1B.mjs";import{useAgentState as P}from"./packem_shared/useAgentState-BuMYPWb2.mjs";import{useAgentToolEvents as R}from"./packem_shared/useAgentToolEvents-B1ItKmZi.mjs";import{default as I}from"./packem_shared/useAuth-x4boOoAR.mjs";import{default as v}from"./packem_shared/useClientQuery-DFs7trEf.mjs";import{default as z}from"./packem_shared/useConnectionStatus-XYsYGiT6.mjs";import{useFlag as T,useFlags as k}from"./packem_shared/useFlag-BDM923ke.mjs";import{useHttpStream as V}from"./packem_shared/useHttpStream-DWtB9sAr.mjs";import{default as q}from"./packem_shared/useInfiniteQuery-D6zw7PwB.mjs";import{useMutation as B}from"./packem_shared/useMutation-BnKec7bE.mjs";import{useMutator as G}from"./packem_shared/useMutator-BtUd-xEA.mjs";import{usePaginatedQuery as K}from"./packem_shared/usePaginatedQuery-hCSqOGFy.mjs";import{hydratePreloaded as W,default as X}from"./packem_shared/hydratePreloaded-DYvzkKqH.mjs";import{usePresence as Z}from"./packem_shared/usePresence-BVjZyltT.mjs";import{default as $}from"./packem_shared/useQuery-DIu5vJyH.mjs";import{useRateLimit as re}from"./packem_shared/useRateLimit-Cckxi8m9.mjs";import{useStream as te}from"./packem_shared/useStream-Cor62Cu-.mjs";import{default as se}from"./packem_shared/useSubscription-egFPCaGE.mjs";import{useVoiceAgent as pe}from"./packem_shared/useVoiceAgent-DHdUlo0G.mjs";import{createClientQuery as fe,getErrorCode as ie,getRetryAfterMs as me,isConflictError as de,isForbiddenError as xe,isRateLimitedError as le,isUnauthorizedError as ge}from"@lunora/client";import{RestrictionError as he,UploadControl as Ue,UploadError as ce}from"@visulima/storage-client";import{useChunkedRestUpload as Ce,useFileInput as Ee,useMultipartUpload as Se,usePasteUpload as Qe,useTusUpload as Pe,useUpload as Le}from"@visulima/storage-client/react";export{o as AuthLoading,t as Authenticated,n as LunoraProvider,he as RestrictionError,u as Unauthenticated,Ue as UploadControl,ce as UploadError,fe as createClientQuery,ie as getErrorCode,me as getRetryAfterMs,W as hydratePreloaded,de as isConflictError,xe as isForbiddenError,le as isRateLimitedError,ge as isUnauthorizedError,m as lunoraQueryOptions,x as useAction,C as useAgent,S as useAgentChat,P as useAgentState,R as useAgentToolEvents,I as useAuth,g as useAuthSessions,a as useAuthState,A as useAuthUsers,Ce as useChunkedRestUpload,v as useClientQuery,z as useConnectionStatus,Ee as useFileInput,T as useFlag,k as useFlags,V as useHttpStream,h as useImpersonate,q as useInfiniteQuery,f as useLunora,Se as useMultipartUpload,B as useMutation,G as useMutator,U as useOrganizations,K as usePaginatedQuery,Qe as usePasteUpload,X as usePreloadedQuery,Z as usePresence,$ as useQuery,re as useRateLimit,c as useSignUpInvitations,te as useStream,se as useSubscription,Pe as useTusUpload,Le as useUpload,pe as useVoiceAgent};
2
+ import{AuthLoading as o,Authenticated as t,Unauthenticated as u}from"./packem_shared/AuthLoading-dC08yqew.mjs";import{useAuthState as a}from"./packem_shared/useAuthState-CoOG9XdT.mjs";import{LunoraProvider as n,useLunora as f}from"./packem_shared/LunoraProvider-DC06S-p1.mjs";import{lunoraQueryOptions as m}from"./packem_shared/lunoraQueryOptions-BVgQsR9d.mjs";import{useAction as x}from"./packem_shared/useAction-CUSJu4yq.mjs";import{useAuthSessions as g,useAuthUsers as A,useImpersonate as h,useOrganizations as U,useSignUpInvitations as c}from"./packem_shared/useAuthSessions-gBDeNFnd.mjs";import{useAgent as C}from"./packem_shared/useAgent-DtQfMu4S.mjs";import{useAgentChat as S}from"./packem_shared/useAgentChat-g4ZNMq1B.mjs";import{useAgentState as P}from"./packem_shared/useAgentState-BuMYPWb2.mjs";import{useAgentToolEvents as R}from"./packem_shared/useAgentToolEvents-B1ItKmZi.mjs";import{default as I}from"./packem_shared/useAuth-x4boOoAR.mjs";import{default as v}from"./packem_shared/useClientQuery-DFs7trEf.mjs";import{default as z}from"./packem_shared/useConnectionStatus-XYsYGiT6.mjs";import{useFlag as T,useFlags as k}from"./packem_shared/useFlag-BDM923ke.mjs";import{useHttpStream as V}from"./packem_shared/useHttpStream-DWtB9sAr.mjs";import{default as q}from"./packem_shared/useInfiniteQuery-BnekI8ek.mjs";import{useMutation as B}from"./packem_shared/useMutation-BnKec7bE.mjs";import{useMutator as G}from"./packem_shared/useMutator-BtUd-xEA.mjs";import{usePaginatedQuery as K}from"./packem_shared/usePaginatedQuery-DhjOm3E5.mjs";import{hydratePreloaded as W,default as X}from"./packem_shared/hydratePreloaded-CB9ns38y.mjs";import{usePresence as Z}from"./packem_shared/usePresence-BVjZyltT.mjs";import{default as $}from"./packem_shared/useQuery-Dl68EkYb.mjs";import{useRateLimit as re}from"./packem_shared/useRateLimit-Cckxi8m9.mjs";import{useStream as te}from"./packem_shared/useStream-Cor62Cu-.mjs";import{default as se}from"./packem_shared/useSubscription-egFPCaGE.mjs";import{useVoiceAgent as pe}from"./packem_shared/useVoiceAgent-DHdUlo0G.mjs";import{createClientQuery as fe,getErrorCode as ie,getRetryAfterMs as me,isConflictError as de,isForbiddenError as xe,isRateLimitedError as le,isUnauthorizedError as ge}from"@lunora/client";import{RestrictionError as he,UploadControl as Ue,UploadError as ce}from"@visulima/storage-client";import{useChunkedRestUpload as Ce,useFileInput as Ee,useMultipartUpload as Se,usePasteUpload as Qe,useTusUpload as Pe,useUpload as Le}from"@visulima/storage-client/react";export{o as AuthLoading,t as Authenticated,n as LunoraProvider,he as RestrictionError,u as Unauthenticated,Ue as UploadControl,ce as UploadError,fe as createClientQuery,ie as getErrorCode,me as getRetryAfterMs,W as hydratePreloaded,de as isConflictError,xe as isForbiddenError,le as isRateLimitedError,ge as isUnauthorizedError,m as lunoraQueryOptions,x as useAction,C as useAgent,S as useAgentChat,P as useAgentState,R as useAgentToolEvents,I as useAuth,g as useAuthSessions,a as useAuthState,A as useAuthUsers,Ce as useChunkedRestUpload,v as useClientQuery,z as useConnectionStatus,Ee as useFileInput,T as useFlag,k as useFlags,V as useHttpStream,h as useImpersonate,q as useInfiniteQuery,f as useLunora,Se as useMultipartUpload,B as useMutation,G as useMutator,U as useOrganizations,K as usePaginatedQuery,Qe as usePasteUpload,X as usePreloadedQuery,Z as usePresence,$ as useQuery,re as useRateLimit,c as useSignUpInvitations,te as useStream,se as useSubscription,Pe as useTusUpload,Le as useUpload,pe as useVoiceAgent};
@@ -0,0 +1 @@
1
+ import{k as a}from"./query-key-By_ZIdza.mjs";class b{constructor(e){this.client=e}client;entries=new Map;pushes=new Map;samples=new Map;keyOf(e){return a(e)}hasConsumers(e){return this.entries.has(a(e))}openSnapshotSample(e){const t=a(e);return this.samples.set(t,(this.samples.get(t)??0)+1),{key:t,pushes:this.pushes.get(t)??0}}closeSnapshotSample(e){const t=(this.samples.get(e.key)??1)-1,h=(this.pushes.get(e.key)??0)===e.pushes;return t>0?(this.samples.set(e.key,t),h):(this.samples.delete(e.key),this.entries.has(e.key)||this.pushes.delete(e.key),h)}attach(e,t,h,p,f,k={}){const s=a(t);let r=this.entries.get(s);if(!r){r={errorCallbacks:new Set,refCount:0,unsubscribe:void 0},this.entries.set(s,r);const n=r;try{r.unsubscribe=this.client.subscribe(h,p,i=>{this.pushes.set(s,(this.pushes.get(s)??0)+1),e.setQueryData(t,i)},{onError:i=>{for(const y of n.errorCallbacks)y(i)},shardKey:f})}catch(i){throw this.entries.delete(s),i}}r.refCount+=1;const{onError:u}=k;u&&r.errorCallbacks.add(u);let c=!1;return()=>{if(c)return;c=!0;const n=this.entries.get(s);n&&(n.refCount-=1,u&&n.errorCallbacks.delete(u),n.refCount<=0&&(n.unsubscribe?.(),this.entries.delete(s)))}}}const l=new WeakMap,d=o=>{let e=l.get(o);return e||(e=new b(o),l.set(o,e)),e};export{d as g};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{c as _}from"react/compiler-runtime";import{useQueryClient as b,useQuery as q}from"@tanstack/react-query";import{useRef as K,useEffect as Q}from"react";import{g as P}from"./cache-C2UbTWee.mjs";import{useLunora as v}from"./LunoraProvider-DC06S-p1.mjs";import{l as N,s as S}from"./query-key-By_ZIdza.mjs";const T=function(a,e){const r=_(9);let o;r[0]!==e?(o=e===void 0?{}:e,r[0]=e,r[1]=o):o=r[1];const n=o,t=v(),s=b(),p=K(n.onError);let i;r[2]!==n.onError?(i=()=>{p.current=n.onError},r[2]=n.onError,r[3]=i):i=r[3],Q(i);let u;r[4]===Symbol.for("react.memo_cache_sentinel")?(u=I=>{p.current?.(I)},r[4]=u):u=r[4];const E=u,{args:l,functionPath:R,shardKey:f,value:g}=a,y={__lunoraRef:R},m=N(y,l,f),{data:h}=q({initialData:g,queryFn:()=>t.query(y,l,{shardKey:f}),queryKey:m,staleTime:Number.POSITIVE_INFINITY}),d=S(m);let c;return r[5]!==t||r[6]!==s||r[7]!==d?(c=[t,s,d,E],r[5]=t,r[6]=s,r[7]=d,r[8]=c):c=r[8],Q(()=>P(t).attach(s,m,y,l,f,{onError:E}),c),h===void 0?g:h},L=function(a,e={}){return T(a,e)};export{T as default,L as hydratePreloaded};
2
+ import{c as _}from"react/compiler-runtime";import{useQueryClient as b,useQuery as q}from"@tanstack/react-query";import{useRef as K,useEffect as Q}from"react";import{g as P}from"./cache-6yT0tWav.mjs";import{useLunora as v}from"./LunoraProvider-DC06S-p1.mjs";import{l as N,s as S}from"./query-key-By_ZIdza.mjs";const T=function(a,e){const r=_(9);let o;r[0]!==e?(o=e===void 0?{}:e,r[0]=e,r[1]=o):o=r[1];const n=o,t=v(),s=b(),p=K(n.onError);let i;r[2]!==n.onError?(i=()=>{p.current=n.onError},r[2]=n.onError,r[3]=i):i=r[3],Q(i);let u;r[4]===Symbol.for("react.memo_cache_sentinel")?(u=I=>{p.current?.(I)},r[4]=u):u=r[4];const E=u,{args:l,functionPath:R,shardKey:f,value:g}=a,y={__lunoraRef:R},m=N(y,l,f),{data:h}=q({initialData:g,queryFn:()=>t.query(y,l,{shardKey:f}),queryKey:m,staleTime:Number.POSITIVE_INFINITY}),d=S(m);let c;return r[5]!==t||r[6]!==s||r[7]!==d?(c=[t,s,d,E],r[5]=t,r[6]=s,r[7]=d,r[8]=c):c=r[8],Q(()=>P(t).attach(s,m,y,l,f,{onError:E}),c),h===void 0?g:h},L=function(a,e={}){return T(a,e)};export{T as default,L as hydratePreloaded};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{initialPages as N,rebalance as H,derivePaginationStatus as O,applyLoadMore as V}from"@lunora/client/pagination";import{useQueryClient as Y}from"@tanstack/react-query";import{useRef as p,useReducer as B,useState as T,useEffect as d,useCallback as G}from"react";import{g as J}from"./cache-6yT0tWav.mjs";import{useLunora as U}from"./LunoraProvider-DC06S-p1.mjs";import{s as u,l as I}from"./query-key-By_ZIdza.mjs";const W=function(i){const m=p(void 0);return m.current??=i(),m},ne=function(i,m,S){const y=U(),o=Y(),{initialNumItems:R,shardKey:h}=S,f=m==="skip",g=f?{}:m,[,z]=B(e=>e+1,0),[A,k]=T(()=>N(R)),[_,K]=T(void 0),P=p(S.onError);d(()=>{P.current=S.onError});const Q=`${u(I(i,g,h))}::${String(R)}`,x=p(Q);x.current!==Q&&(x.current=Q,k(N(R)),K(void 0));const b=A.map(e=>{const t={...g,paginationOpts:{cursor:e.lower,endCursor:e.upper,numItems:e.numItems}},r=I(i,t,h);return{args:t,key:r}}),D=b.map(({key:e})=>u(e)).join("|"),v=p({baseArgs:g,entries:[],fn:i,shardKey:h});d(()=>{v.current={baseArgs:g,entries:b,fn:i,shardKey:h}});const F=(e,t,r)=>{K(r),k(a=>{const s=v.current,n=a.at(-1);if(a.length<=1||!n||o.getQueryData(t)!==void 0)return a;const w={...s.baseArgs,paginationOpts:{cursor:n.lower,endCursor:n.upper,numItems:n.numItems}};return u(I(s.fn,w,s.shardKey))===e?a.slice(0,-1):a}),P.current?.(r)},q=W(()=>new Map),L=p(y);d(()=>{const e=q.current;if(L.current!==y){for(const s of e.values())s();e.clear(),L.current=y}if(f){for(const s of e.values())s();e.clear();return}const t=v.current,r=J(y),a=new Set(t.entries.map(({key:s})=>u(s)));for(const[s,n]of e)a.has(s)||(n(),e.delete(s));for(const s of t.entries){const n=u(s.key);if(e.has(n))continue;o.fetchQuery({gcTime:Number.POSITIVE_INFINITY,queryFn:async()=>{const c=r.openSnapshotSample(s.key),M=await y.query(t.fn,s.args,{shardKey:t.shardKey});return r.closeSnapshotSample(c)?M:o.getQueryData(s.key)??M},queryKey:s.key,staleTime:0}).catch(c=>{F(n,s.key,c instanceof Error?{code:c.code,message:c.message}:{message:String(c)})});const l=r.attach(o,s.key,t.fn,s.args,t.shardKey,{onError:c=>{F(n,s.key,c)}}),C=s.key;e.set(n,()=>{l(),r.hasConsumers(C)||o.removeQueries({exact:!0,queryKey:C})})}},[y,o,D,f]),d(()=>()=>{for(const e of q.current.values())e();q.current.clear()},[]),d(()=>o.getQueryCache().subscribe(r=>{if(r.type!=="updated")return;const a=u(r.query.queryKey);b.some(({key:s})=>u(s)===a)&&(K(void 0),z())}),[o,D]);const E=f?[]:b.map(({key:e})=>o.getQueryData(e));d(()=>{if(f)return;const e=H(A,E);e&&k(e)});const{status:$}=O(f,E),j=G(e=>{K(void 0),k(t=>{const r=v.current,a=t.map(l=>{const C={...r.baseArgs,paginationOpts:{cursor:l.lower,endCursor:l.upper,numItems:l.numItems}};return o.getQueryData(I(r.fn,C,r.shardKey))}),{nextCursor:s,status:n}=O(!1,a);return V(t,n==="CanLoadMore"?s:void 0,e)??t})},[o]);return{error:_,loadMore:j,pageResults:E,status:$}};export{ne as u};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{c as M}from"react/compiler-runtime";import{useRef as R,useEffect as y}from"react";import{u as C}from"./use-paginated-core-BZaJ5Xam.mjs";const v=(x,c,N)=>{const e=M(16),{initialNumItems:s}=N,{error:u,loadMore:o,pageResults:m,status:a}=C(x,c==="skip"?"skip":c,N),P=c==="skip";let t;if(e[0]!==m){t=[];for(const f of m)f&&t.push(f.page);e[0]=m,e[1]=t}else t=e[1];let i;e[2]!==s||e[3]!==o?(i={defaultNumItems:s,loadMore:o},e[2]=s,e[3]=o,e[4]=i):i=e[4];const h=R(i);let n;e[5]!==s||e[6]!==o?(n=()=>{h.current={defaultNumItems:s,loadMore:o}},e[5]=s,e[6]=o,e[7]=n):n=e[7],y(n);let r;e[8]===Symbol.for("react.memo_cache_sentinel")?(r=f=>{const{defaultNumItems:k,loadMore:L}=h.current;L(f??k)},e[8]=r):r=e[8];const I=r,d=a==="CanLoadMore",p=!P&&a==="LoadingMore",g=!P&&a==="LoadingFirstPage";let l;return e[9]!==u||e[10]!==t||e[11]!==a||e[12]!==d||e[13]!==p||e[14]!==g?(l={error:u,fetchNextPage:I,hasNextPage:d,isFetchingNextPage:p,isLoading:g,pages:t,status:a},e[9]=u,e[10]=t,e[11]=a,e[12]=d,e[13]=p,e[14]=g,e[15]=l):l=e[15],l};export{v as default};
2
+ import{c as M}from"react/compiler-runtime";import{useRef as R,useEffect as y}from"react";import{u as C}from"./use-paginated-core-DHtDp4dj.mjs";const v=(x,c,N)=>{const e=M(16),{initialNumItems:s}=N,{error:u,loadMore:o,pageResults:m,status:a}=C(x,c==="skip"?"skip":c,N),P=c==="skip";let t;if(e[0]!==m){t=[];for(const f of m)f&&t.push(f.page);e[0]=m,e[1]=t}else t=e[1];let i;e[2]!==s||e[3]!==o?(i={defaultNumItems:s,loadMore:o},e[2]=s,e[3]=o,e[4]=i):i=e[4];const h=R(i);let n;e[5]!==s||e[6]!==o?(n=()=>{h.current={defaultNumItems:s,loadMore:o}},e[5]=s,e[6]=o,e[7]=n):n=e[7],y(n);let r;e[8]===Symbol.for("react.memo_cache_sentinel")?(r=f=>{const{defaultNumItems:k,loadMore:L}=h.current;L(f??k)},e[8]=r):r=e[8];const I=r,d=a==="CanLoadMore",p=!P&&a==="LoadingMore",g=!P&&a==="LoadingFirstPage";let l;return e[9]!==u||e[10]!==t||e[11]!==a||e[12]!==d||e[13]!==p||e[14]!==g?(l={error:u,fetchNextPage:I,hasNextPage:d,isFetchingNextPage:p,isLoading:g,pages:t,status:a},e[9]=u,e[10]=t,e[11]=a,e[12]=d,e[13]=p,e[14]=g,e[15]=l):l=e[15],l};export{v as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{c}from"react/compiler-runtime";import{u as f}from"./use-paginated-core-BZaJ5Xam.mjs";const L=(d,i,l)=>{const e=c(8),{error:r,loadMore:p,pageResults:n,status:t}=f(d,i==="skip"?"skip":i,l);let s;if(e[0]!==n){s=[];for(const u of n)u&&s.push(...u.page);e[0]=n,e[1]=s}else s=e[1];const a=!(i==="skip")&&(t==="LoadingFirstPage"||t==="LoadingMore");let o;return e[2]!==r||e[3]!==p||e[4]!==s||e[5]!==t||e[6]!==a?(o={error:r,isLoading:a,loadMore:p,results:s,status:t},e[2]=r,e[3]=p,e[4]=s,e[5]=t,e[6]=a,e[7]=o):o=e[7],o};export{L as usePaginatedQuery};
2
+ import{c}from"react/compiler-runtime";import{u as f}from"./use-paginated-core-DHtDp4dj.mjs";const L=(d,i,l)=>{const e=c(8),{error:r,loadMore:p,pageResults:n,status:t}=f(d,i==="skip"?"skip":i,l);let s;if(e[0]!==n){s=[];for(const u of n)u&&s.push(...u.page);e[0]=n,e[1]=s}else s=e[1];const a=!(i==="skip")&&(t==="LoadingFirstPage"||t==="LoadingMore");let o;return e[2]!==r||e[3]!==p||e[4]!==s||e[5]!==t||e[6]!==a?(o={error:r,isLoading:a,loadMore:p,results:s,status:t},e[2]=r,e[3]=p,e[4]=s,e[5]=t,e[6]=a,e[7]=o):o=e[7],o};export{L as usePaginatedQuery};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{useQueryClient as E,useQuery as b}from"@tanstack/react-query";import{useRef as I,useEffect as y,useCallback as k,useState as q}from"react";import{g as f}from"./cache-6yT0tWav.mjs";import{useLunora as K}from"./LunoraProvider-DC06S-p1.mjs";import{l as C,s as D}from"./query-key-By_ZIdza.mjs";const H=(a,c,h={})=>{const e=K(),u=E(),{onError:l,shardKey:o}=h,p=I(l);y(()=>{p.current=l});const d=k(s=>{p.current?.(s)},[]),r=c==="skip",n=r?{}:c,t=C(a,n,o),[i,Q]=q(e.isReady);y(()=>{i||e.whenReady().then(()=>{Q(!0)})},[e,i]);const g=r?void 0:e.peekHydratedQuery(a.__lunoraRef,n,o),{data:R}=b({enabled:!r&&i,initialData:g,queryFn:async()=>{const s=f(e),S=s.openSnapshotSample(t),m=await e.query(a,n,{shardKey:o});return s.closeSnapshotSample(S)?m:u.getQueryData(t)??m},queryKey:t,staleTime:Number.POSITIVE_INFINITY});return y(()=>r?()=>{}:f(e).attach(u,t,a,n,o,{onError:d}),[e,u,D(t),r,d]),r?void 0:R};export{H as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lunora/react",
3
- "version": "1.0.0-alpha.91",
3
+ "version": "1.0.0-alpha.92",
4
4
  "description": "React hooks for Lunora: useQuery, useMutation, useSubscription, and useAuth",
5
5
  "keywords": [
6
6
  "cloudflare",
@@ -57,9 +57,9 @@
57
57
  "access": "public"
58
58
  },
59
59
  "dependencies": {
60
- "@lunora/client": "1.0.0-alpha.86",
61
- "@lunora/errors": "1.0.0-alpha.34",
62
- "@lunora/ratelimit": "1.0.0-alpha.43",
60
+ "@lunora/client": "1.0.0-alpha.87",
61
+ "@lunora/errors": "1.0.0-alpha.35",
62
+ "@lunora/ratelimit": "1.0.0-alpha.44",
63
63
  "@visulima/storage-client": "1.0.2"
64
64
  },
65
65
  "peerDependencies": {
@@ -1 +0,0 @@
1
- import{k as a}from"./query-key-By_ZIdza.mjs";class d{constructor(e){this.client=e}client;entries=new Map;keyOf(e){return a(e)}hasConsumers(e){return this.entries.has(a(e))}attach(e,c,f,b,h,k={}){const s=a(c);let r=this.entries.get(s);if(!r){r={errorCallbacks:new Set,refCount:0,unsubscribe:void 0},this.entries.set(s,r);const t=r;try{r.unsubscribe=this.client.subscribe(f,b,n=>{e.setQueryData(c,n)},{onError:n=>{for(const C of t.errorCallbacks)C(n)},shardKey:h})}catch(n){throw this.entries.delete(s),n}}r.refCount+=1;const{onError:o}=k;o&&r.errorCallbacks.add(o);let u=!1;return()=>{if(u)return;u=!0;const t=this.entries.get(s);t&&(t.refCount-=1,o&&t.errorCallbacks.delete(o),t.refCount<=0&&(t.unsubscribe?.(),this.entries.delete(s)))}}}const l=new WeakMap,y=i=>{let e=l.get(i);return e||(e=new d(i),l.set(i,e)),e};export{y as g};
@@ -1,2 +0,0 @@
1
- 'use client';
2
- import{initialPages as N,rebalance as j,derivePaginationStatus as O,applyLoadMore as H}from"@lunora/client/pagination";import{useQueryClient as V}from"@tanstack/react-query";import{useRef as h,useReducer as Y,useState as T,useEffect as d,useCallback as B}from"react";import{g as G}from"./cache-C2UbTWee.mjs";import{useLunora as J}from"./LunoraProvider-DC06S-p1.mjs";import{s as c,l as I}from"./query-key-By_ZIdza.mjs";const U=function(u){const m=h(void 0);return m.current??=u(),m},te=function(u,m,R){const i=J(),a=V(),{initialNumItems:Q,shardKey:g}=R,y=m==="skip",p=y?{}:m,[,D]=Y(e=>e+1,0),[A,K]=T(()=>N(Q)),[z,k]=T(void 0),P=h(R.onError);d(()=>{P.current=R.onError});const q=`${c(I(u,p,g))}::${String(Q)}`,x=h(q);x.current!==q&&(x.current=q,K(N(Q)),k(void 0));const b=A.map(e=>{const r={...p,paginationOpts:{cursor:e.lower,endCursor:e.upper,numItems:e.numItems}},t=I(u,r,g);return{args:r,key:t}}),F=b.map(({key:e})=>c(e)).join("|"),v=h({baseArgs:p,entries:[],fn:u,shardKey:g});d(()=>{v.current={baseArgs:p,entries:b,fn:u,shardKey:g}});const L=(e,r,t)=>{k(t),K(o=>{const s=v.current,n=o.at(-1);if(o.length<=1||!n||a.getQueryData(r)!==void 0)return o;const w={...s.baseArgs,paginationOpts:{cursor:n.lower,endCursor:n.upper,numItems:n.numItems}};return c(I(s.fn,w,s.shardKey))===e?o.slice(0,-1):o}),P.current?.(t)},E=U(()=>new Map),M=h(i);d(()=>{const e=E.current;if(M.current!==i){for(const s of e.values())s();e.clear(),M.current=i}if(y){for(const s of e.values())s();e.clear();return}const r=v.current,t=G(i),o=new Set(r.entries.map(({key:s})=>c(s)));for(const[s,n]of e)o.has(s)||(n(),e.delete(s));for(const s of r.entries){const n=c(s.key);if(e.has(n))continue;a.fetchQuery({gcTime:Number.POSITIVE_INFINITY,queryFn:()=>i.query(r.fn,s.args,{shardKey:r.shardKey}),queryKey:s.key,staleTime:0}).catch(f=>{L(n,s.key,f instanceof Error?{code:f.code,message:f.message}:{message:String(f)})});const l=t.attach(a,s.key,r.fn,s.args,r.shardKey,{onError:f=>{L(n,s.key,f)}}),C=s.key;e.set(n,()=>{l(),t.hasConsumers(C)||a.removeQueries({exact:!0,queryKey:C})})}},[i,a,F,y]),d(()=>()=>{for(const e of E.current.values())e();E.current.clear()},[]),d(()=>a.getQueryCache().subscribe(t=>{if(t.type!=="updated")return;const o=c(t.query.queryKey);b.some(({key:s})=>c(s)===o)&&(k(void 0),D())}),[a,F]);const S=y?[]:b.map(({key:e})=>a.getQueryData(e));d(()=>{if(y)return;const e=j(A,S);e&&K(e)});const{status:_}=O(y,S),$=B(e=>{k(void 0),K(r=>{const t=v.current,o=r.map(l=>{const C={...t.baseArgs,paginationOpts:{cursor:l.lower,endCursor:l.upper,numItems:l.numItems}};return a.getQueryData(I(t.fn,C,t.shardKey))}),{nextCursor:s,status:n}=O(!1,o);return H(r,n==="CanLoadMore"?s:void 0,e)??r})},[a]);return{error:z,loadMore:$,pageResults:S,status:_}};export{te as u};
@@ -1,2 +0,0 @@
1
- 'use client';
2
- import{useQueryClient as h,useQuery as E}from"@tanstack/react-query";import{useRef as b,useEffect as n,useCallback as g,useState as I}from"react";import{g as k}from"./cache-C2UbTWee.mjs";import{useLunora as q}from"./LunoraProvider-DC06S-p1.mjs";import{l as K,s as C}from"./query-key-By_ZIdza.mjs";const F=(t,i,p={})=>{const e=q(),y=h(),{onError:c,shardKey:s}=p,d=b(c);n(()=>{d.current=c});const l=g(m=>{d.current?.(m)},[]),r=i==="skip",o=r?{}:i,a=K(t,o,s),[u,f]=I(e.isReady);n(()=>{u||e.whenReady().then(()=>{f(!0)})},[e,u]);const Q=r?void 0:e.peekHydratedQuery(t.__lunoraRef,o,s),{data:R}=E({enabled:!r&&u,initialData:Q,queryFn:()=>e.query(t,o,{shardKey:s}),queryKey:a,staleTime:Number.POSITIVE_INFINITY});return n(()=>r?()=>{}:k(e).attach(y,a,t,o,s,{onError:l}),[e,y,C(a),r,l]),r?void 0:R};export{F as default};