reactjrx 2.1.1 → 2.2.0
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.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/queries/createObservableQueryFn.d.ts +8 -9
- package/dist/lib/queries/lockedLiveQueryOptions.d.ts +11 -0
- package/dist/lib/queries/useLiveQueries$.d.ts +12 -0
- package/dist/lib/queries/useLiveQuery$.d.ts +15 -0
- package/dist/lib/queries/useLiveQuery$.test.d.ts +1 -0
- package/dist/lib/queries/useQueries$.d.ts +7 -6
- package/dist/lib/queries/useQuery$.d.ts +7 -2
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ export * from './lib/binding/useObserve';
|
|
|
4
4
|
export * from './lib/binding/useSubscribe';
|
|
5
5
|
export * from './lib/binding/useSubscribeEffect';
|
|
6
6
|
export * from './lib/queries/useConcatMutation$';
|
|
7
|
+
export * from './lib/queries/useLiveQueries$';
|
|
8
|
+
export * from './lib/queries/useLiveQuery$';
|
|
7
9
|
export * from './lib/queries/useMutation$';
|
|
8
10
|
export * from './lib/queries/useQueries$';
|
|
9
11
|
export * from './lib/queries/useQuery$';
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{c as e}from"react/compiler-runtime";import{createContext as t,memo as r,useCallback as n,useContext as s,useEffect as o,useMemo as a,useRef as i,useState as c,useSyncExternalStore as u}from"react";import{BehaviorSubject as l,EMPTY as f,NEVER as d,Observable as p,Subscription as v,asyncScheduler as m,catchError as y,defaultIfEmpty as g,defer as b,distinctUntilChanged as h,filter as w,finalize as S,first as I,from as V,fromEvent as x,ignoreElements as F,isObservable as E,map as j,merge as A,noop as O,of as k,retry as $,scan as C,share as D,skip as _,switchMap as N,take as q,tap as T,throttleTime as P,throwError as M,timer as H}from"rxjs";import{catchError as J,first as K,mergeMap as R,retry as U,tap as L}from"rxjs/operators";import{CancelledError as Y,skipToken as z,useMutation as G,useQueries as Q,useQuery as W,useQueryClient as B}from"@tanstack/react-query";import{jsx as X}from"react/jsx-runtime";var Z=Symbol("UNSET"),ee=e=>{const t=i(Z);return t.current===Z&&(t.current=e()),t},te=e=>ee(e).current,re=t=>{const r=e(6);let n;r[0]!==t?(n=()=>new l(t),r[0]=t,r[1]=n):n=r[1];const s=te(n);let a,i;return r[2]!==t||r[3]!==s?(a=()=>{Object.is(s.getValue(),t)||s.next(t)},i=[t,s],r[2]=t,r[3]=s,r[4]=a,r[5]=i):(a=r[4],i=r[5]),o(a,i),s},ne=t=>{const r=e(12);let n;r[0]!==t?(n=()=>new l(t),r[0]=t,r[1]=n):n=r[1];const s=te(n);let o;r[2]!==s?(o=e=>{const t="function"==typeof(r=e)?r(s.getValue()):r;var r;t!==s.getValue()&&s.next(t)},r[2]=s,r[3]=o):o=r[3];const a=o;let i;r[4]!==s?(i=e=>{const t=s.pipe(_(1)).subscribe(e);return()=>{t.unsubscribe()}},r[4]=s,r[5]=i):i=r[5];const c=i;let f;r[6]!==s?(f=()=>s.getValue(),r[6]=s,r[7]=f):f=r[7];const d=u(c,f,f);let p;return r[8]!==a||r[9]!==s||r[10]!==d?(p=[d,a,s],r[8]=a,r[9]=s,r[10]=d,r[11]=p):p=r[11],p},se=(e,t)=>e.length===t.length&&e.every((e,r)=>e===t[r]);function oe(e){return null!=e}function ae(e){return e instanceof Promise||e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then&&"catch"in e&&"function"==typeof e.catch}var ie="undefined"==typeof window||"Deno"in window;function ce(e,t){return Math.min(e,t)}function ue(e,t){return 2**e*t}function le(e){const{retry:t=()=>!0,retryAfterDelay:r,retryAfter:n=()=>k(!0),initialInterval:s=100,maxInterval:o=Number.POSITIVE_INFINITY,resetOnSuccess:a=!1,backoffDelay:i=ue}=e;return c=>b(()=>{let u=0;return c.pipe(J(r=>{if(u++,!t(u-1,r))throw r;const n=e.caughtError?.(u,r);if(!n)throw r;return n.pipe(R(e=>A(k(e),M(()=>r))))}),U({delay:e=>{const a=u-1;return n().pipe(K(),R(()=>t(a,e)?H(ce(i(a,s),o)).pipe(R(t=>r&&!r(a,e)?M(()=>e):k(t))):M(()=>e)))}}),J(t=>{if(e.catchError)return e.catchError(u,t);throw t}),L(()=>{a&&(u=0)}))})}var fe=t=>{const r=e(1);let n;r[0]===Symbol.for("react.memo_cache_sentinel")?(n=[],r[0]=n):n=r[0],o(t,n)},de=e=>{const t=i(e);t.current=e,fe(()=>()=>t.current())},pe=(e,t,r={})=>{const{cancelOnUnmount:s=!1}=r,o=i(null),a=n(r=>{null!==o.current&&clearTimeout(o.current),o.current=setTimeout(()=>e(r),t)},[e,t]);return de(()=>{s&&o.current&&clearTimeout(o.current)}),a},ve=e=>{const t=i(e);return a(()=>{t.current=e},[e]),t},me=(e,t)=>{const r=i({value:e});return a(()=>t(e,r.current.value)?r.current.value:(r.current={value:e},e),[e,t])},ye=t=>{const r=e(2);let n;r[0]!==t?(n=()=>{t()},r[0]=t,r[1]=n):n=r[1],fe(n)};function ge(e,t){if(null==e||void 0===t)return e===t;if("object"!=typeof e||"object"!=typeof t)return e===t;if(e.constructor!==t?.constructor)return!1;const r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(const s of r)if(!t.hasOwnProperty(s)||e[s]!==t[s])return!1;return!0}var be=class{state;source$;sub;constructor({source$:e,defaultValue:t,compareFn:r}){const n="function"==typeof e?e():e,s=void 0===n;if(this.state={data:n instanceof l?n.value:t,status:s?"success":"pending",observableState:s?"complete":"live",error:void 0},s)return this.source$=d,void(this.sub=v.EMPTY);this.source$=n.pipe(h(r),T({complete:()=>{this.state={...this.state,status:"success",observableState:"complete"}},error:e=>{this.state={...this.state,observableState:"error",status:"error",error:e}},next:e=>{this.state={...this.state,data:e}}}),D()),this.sub=this.source$.subscribe({error:()=>{}})}subscribe=e=>{if("live"!==this.state.observableState)return()=>{};const t=this.source$.subscribe({complete:e,error:e,next:e});return()=>{t.unsubscribe()}};getSnapshot=()=>this.state};function he(t,r,n){const s=e(6);let a;s[0]!==r?(a=null==r||Array.isArray(r)?{defaultValue:void 0,compareFn:void 0}:r,s[0]=r,s[1]=a):a=s[1];const c=a;let l;s[2]!==n||s[3]!==r||s[4]!==t?(l=!n&&Array.isArray(r)?r:"function"==typeof t?n??[]:[t],s[2]=n,s[3]=r,s[4]=t,s[5]=l):l=s[5];const f=((e,t,r)=>{const n=ve(t),s=i(void 0);s.current&&se(r,s.current.deps)||(s.current={deps:r,store:new be({source$:e,defaultValue:n.current.defaultValue,compareFn:(e,t)=>n.current?.compareFn?.(e,t)??e===t})});const a=s.current.store;return o(()=>()=>{a.sub.unsubscribe()},[a]),a})(t,c,l);return u(f.subscribe,f.getSnapshot,f.getSnapshot)}function we(e){if(E(e))return()=>e;if(ae(e))return()=>V(e);if("function"!=typeof e)return()=>k(e);const t=e;return e=>b(()=>{const r=t(e);return ae(r)?V(r):E(r)?r:k(r)})}function Se(t){const r=e(3);let n,s;r[0]!==t?(n=()=>{const e=we(t)().subscribe();return()=>{e.unsubscribe()}},s=[t],r[0]=t,r[1]=n,r[2]=s):(n=r[1],s=r[2]),o(n,s)}var Ie=e=>ce(ue(e,1e3),3e4);function Ve(e,t){const r=ve(t);Se(n(()=>we(e)().pipe(T({error:e=>{r.current?.onError?.(e)}}),$({resetOnSuccess:!0,delay:(e,t)=>{const n=t-1,{retry:s,retryDelay:o=Ie}=r.current??{};return((e,t,r)=>"function"==typeof e?e(t,r):"number"==typeof e?t<e:!0===e)(s,n,e)?H("function"==typeof o?o(n,e):o):M(()=>e)}})),[e,r]))}function xe(e,t){return"function"==typeof e?e(t):e}function Fe({onMutate:e,onSuccess:t,onError:r,onSettled:n}){return{onMutate:e?({variables:t},...r)=>e(t,...r):void 0,onSuccess:(e,{variables:r},...n)=>t?.(e,r,...n),onError:(e,{variables:t},...n)=>r?.(e,t,...n),onSettled:(e,t,{variables:r},...s)=>n?.(e,t,r,...s)}}function Ee(t,r){const n=e(16),s=te(je);let a,i;n[0]!==t?(a=e=>{let r;return new Promise((n,s)=>{xe(t.mutationFn,e).pipe(q(1)).subscribe({next:e=>{r={value:e}},error:e=>{s(e)},complete:()=>{if(void 0===r)return s(/* @__PURE__ */new Error("Stream completed without any data"));n(r.value)}})})},n[0]=t,n[1]=a):a=n[1],n[2]!==t||n[3]!==a?(i={...t,mutationFn:a},n[2]=t,n[3]=a,n[4]=i):i=n[4];const c=G(i,r),{status:u,isPending:l,isError:f,isSuccess:d,isIdle:p}=c;let v,m,y;return n[5]!==f||n[6]!==p||n[7]!==l||n[8]!==d||n[9]!==s||n[10]!==u?(v=()=>{s.next({status:u,isPending:l,isError:f,isSuccess:d,isIdle:p})},m=[u,l,f,d,p,s],n[5]=f,n[6]=p,n[7]=l,n[8]=d,n[9]=s,n[10]=u,n[11]=v,n[12]=m):(v=n[11],m=n[12]),o(v,m),n[13]!==c||n[14]!==s?(y={...c,state$:s},n[13]=c,n[14]=s,n[15]=y):y=n[15],y}function je(){return new l({status:"idle",isPending:!1,isError:!1,isSuccess:!1,isIdle:!0})}function Ae(t,r){const n=e(21),s=B(r),o=t.mutationKey;let a,i,c;n[0]!==t?(a=Fe(t),n[0]=t,n[1]=a):a=n[1],n[2]!==t.mutationFn?(i=e=>{const{ready$:r,variables:n}=e,s=xe(t.mutationFn,n);return r.pipe(w(ke),I(),N(()=>s))},n[2]=t.mutationFn,n[3]=i):i=n[3],n[4]!==t||n[5]!==a||n[6]!==i?(c={...t,...a,mutationFn:i},n[4]=t,n[5]=a,n[6]=i,n[7]=c):c=n[7];const u=Ee(c,r);let f,d,p;n[8]!==u?(({mutateAsync:f,...d}=u),n[8]=u,n[9]=f,n[10]=d):(f=n[9],d=n[10]),n[11]!==s||n[12]!==f||n[13]!==o?(p=async e=>{const t=s.getMutationCache().findAll({mutationKey:o,exact:!0}),r=new l(!1),n=f({variables:e,ready$:r});return await Promise.all(t.map(Oe)),r.next(!0),await n.finally(()=>{r.complete()})},n[11]=s,n[12]=f,n[13]=o,n[14]=p):p=n[14];const v=p;let m;n[15]!==v?(m=e=>{v(e).catch(O)},n[15]=v,n[16]=m):m=n[16];const y=m;let g;return n[17]!==v||n[18]!==y||n[19]!==d?(g={...d,mutate:y,mutateAsync:v},n[17]=v,n[18]=y,n[19]=d,n[20]=g):g=n[20],g}function Oe(e){return e.continue().catch(O)}function ke(e){return e}var $e=/* @__PURE__ */new WeakMap;function Ce(e){return e===z||void 0===e?e:t=>new Promise((r,n)=>{const s=t.client.getQueryCache(),o=s.getAll().find(e=>e.queryKey===t.queryKey),a=b(()=>"function"==typeof e?e(t):e),i={resolve:r,reject:n};if(!o)return void function(e,t,{resolve:r,reject:n}){const s=e.pipe(q(1)).subscribe({next:r,error:n,complete:()=>n(new Y)});t.addEventListener("abort",()=>{s.unsubscribe(),n(new Y)},{once:!0})}(a,t.signal,i);const c=$e.get(o),u={isFollow:c?.isStartingFollow??!1,...i};c?(c.isStartingFollow=!1,function(e,t){e.fetch=t,e.error?(t.reject(e.error.value),e.stop()):t.isFollow?e.isComplete&&(t.resolve(e.last?.value),e.stop()):e.last?(e.phase="resolved",t.resolve(e.last.value)):e.phase="loading"}(c,u)):function(e,t,r,n){const s=new v;let o=!1;const a={phase:"loading",last:void 0,uncommitted:void 0,error:void 0,isComplete:!1,fetch:n,isStartingFollow:!1,stop:({invalidate:t=!1}={})=>{o||(o=!0,s.unsubscribe(),u(),$e.get(e)===a&&$e.delete(e),t&&a.last&&e.invalidate())}},i=e=>{s.unsubscribe(),a.error={value:e},"resolved"===a.phase||a.isStartingFollow||(a.fetch?.reject(e),a.stop())},c=()=>{a.phase="live",a.fetch=void 0,a.uncommitted&&(e.setData(a.uncommitted.value,{manual:!0}),a.uncommitted=void 0),a.isComplete&&!a.error?a.stop():a.error||e.isActive()?(a.isStartingFollow=!0,e.fetch().catch(()=>{})):a.stop({invalidate:!0})},u=t.subscribe(t=>{t.query===e&&("updated"!==t.type||"resolved"!==a.phase||"success"!==t.action.type||t.action.manual||c(),("observerOptionsUpdated"===t.type||"observerRemoved"===t.type)&&"live"===a.phase&&e.getObserversCount()>0&&!e.isActive()&&(e.cancel({revert:!0}),a.stop({invalidate:!0})),("observerRemoved"===t.type&&!a.fetch&&0===e.getObserversCount()||"removed"===t.type)&&a.stop({invalidate:"observerRemoved"===t.type}))});$e.set(e,a),s.add(r.subscribe({next:t=>{if(void 0!==t){if(a.last={value:t},a.fetch||a.isStartingFollow){if("loading"===a.phase)return a.phase="resolved",void a.fetch?.resolve(t);e.setData(t,{manual:!0}),"resolved"===a.phase&&(a.uncommitted={value:t})}}else i(/* @__PURE__ */new Error(`${JSON.stringify(e.queryKey)} data is undefined`))},error:i,complete:()=>{a.isComplete=!0,"resolved"===a.phase||a.isStartingFollow||(a.last?a.fetch?.resolve(a.last.value):(console.warn(`cancelled due to stream completing without data for query ${JSON.stringify(e.queryKey)}`),a.fetch?.reject(new Y)),a.stop())}}))}(o,s,a,u);const l=$e.get(o);l?.fetch===u&&function(e,t,r){r.addEventListener("abort",()=>{e.fetch===t&&(e.fetch=void 0,t.reject(new Y),queueMicrotask(()=>{e.fetch||e.isStartingFollow||e.stop({invalidate:!0})}))},{once:!0})}(l,u,t.signal)})}function De(t,r){const n=e(9);let s,o,a;n[0]!==t?(({queries:o,...s}=t),n[0]=t,n[1]=s,n[2]=o):(s=n[1],o=n[2]),n[3]!==o?(a=o.map(_e),n[3]=o,n[4]=a):a=n[4];const i=a,c=s.combine;let u;return n[5]!==s.subscribed||n[6]!==i||n[7]!==c?(u={queries:i,combine:c,subscribed:s.subscribed},n[5]=s.subscribed,n[6]=i,n[7]=c,n[8]=u):u=n[8],Q(u,r)}function _e(e){return{...e,queryFn:Ce(e.queryFn)}}function Ne(t,r){const n=e(8);let s,o,a,i;return n[0]!==t?(({queryFn:o,...s}=t),n[0]=t,n[1]=s,n[2]=o):(s=n[1],o=n[2]),n[3]!==o?(a=Ce(o),n[3]=o,n[4]=a):a=n[4],n[5]!==s||n[6]!==a?(i={...s,queryFn:a},n[5]=s,n[6]=a,n[7]=i):i=n[7],W(i,r)}var qe=class extends Error{constructor(e="Mutation canceled"){super(e),this.name="SwitchMutationCancelError"}};function Te(t,r){const n=e(20),{mutationFn:s,...o}=t,a=ee(Me);let i;n[0]!==s?(i=e=>{const{variables:t,abort:r}=e;if(r.aborted)throw new qe;const n=xe(s,t);return A(n.pipe(g(null)),x(r,"abort").pipe(T(Pe),F())).pipe(I())},n[0]=s,n[1]=i):i=n[1];const c=i,u=Fe(o);let l;n[2]!==o||n[3]!==c||n[4]!==u?(l={...o,mutationFn:c,...u},n[2]=o,n[3]=c,n[4]=u,n[5]=l):l=n[5];const f=Ee(l,r);let d,p,v,m;n[6]!==f?(({mutate:d,mutateAsync:p,...v}=f),n[6]=f,n[7]=d,n[8]=p,n[9]=v):(d=n[7],p=n[8],v=n[9]),n[10]!==d||n[11]!==a?(m=e=>(a.current.abort(),a.current=new AbortController,d({variables:e,abort:a.current.signal})),n[10]=d,n[11]=a,n[12]=m):m=n[12];const y=m;let b;n[13]!==p||n[14]!==a?(b=e=>(a.current.abort(),a.current=new AbortController,p({variables:e,abort:a.current.signal})),n[13]=p,n[14]=a,n[15]=b):b=n[15];const h=b;let w;return n[16]!==h||n[17]!==y||n[18]!==v?(w={...v,mutate:y,mutateAsync:h},n[16]=h,n[17]=y,n[18]=v,n[19]=w):w=n[19],w}function Pe(){throw new qe}function Me(){return new AbortController}var He=Symbol("SIGNAL_RESET"),Je=e=>({getItem:async t=>{const r=await e.getItem(t);if(r)return JSON.parse(r)},setItem:async(t,r)=>{await e.setItem(t,JSON.stringify(r))},removeItem:async e=>{},clear:async()=>{}}),Ke=e=>{if(e&&"object"==typeof e)return e},Re=({key:e}={})=>e?(({adapter:e,key:t})=>({clear:async()=>await e.removeItem(t),removeItem:async r=>{const n=await e.getItem(t),{[r]:s,...o}=Ke(n)??{};await e.setItem(t,o)},getItem:async r=>{const n=await e.getItem(t),s=Ke(n)??{};if(r in s)return s[r]},setItem:async(r,n)=>{const s=await e.getItem(t),o=Ke(s)??{};await e.setItem(t,{...o,[r]:n})}}))({adapter:Re(),key:e}):{clear:async()=>{localStorage.clear()},removeItem:async e=>{localStorage.removeItem(e)},getItem:async e=>{const t=localStorage.getItem(e);if(t)return JSON.parse(t)},setItem:async(e,t)=>{localStorage.setItem(e,JSON.stringify(t))}},Ue=class extends l{config;constructor(e){super(e.default),this.config=e}update=e=>{if(e===He)super.next(this.config.default);else if("function"==typeof e){const t=e;super.next(t(this.value))}else super.next(e)};setValue=this.update.bind(this);get subject(){return this}get key(){return this.config.key}},Le=class{config;constructor(e){this.config=e}};function Ye(e={}){return new Ue({key:void 0,...e,default:e.default??void 0})}function ze(e){return new Le(e)}var Ge=class{signals=new l(/* @__PURE__ */new Map);isDestroyed=!1;getOrCreateSignal(e){const t=this.signals.value.get(e);if(t)return t;const r=new Ue({...e.config,key:void 0});return this.signals.value.set(e,r),this.signals.next(this.signals.value),r}destroy(){this.signals.value.forEach(e=>{e.complete()}),this.signals.value.clear(),this.signals.complete(),this.isDestroyed=!0}},Qe=t(new Ge),We=r(({children:e})=>{const t=ee(()=>new Ge),r=t.current,[n,s]=c(!1);n&&(t.current=new Ge,s(!1));const a=r;return o(()=>()=>{t.current?.destroy(),s(!0)},[t]),/* @__PURE__ */X(Qe.Provider,{value:a,children:e})}),Be=()=>s(Qe),Xe=t=>{const r=e(3),n=Be();let s;return r[0]!==n||r[1]!==t?(s=t?n.getOrCreateSignal(t):void 0,r[0]=n,r[1]=t,r[2]=s):s=r[2],s},Ze="__reactjrx";var et=({adapter:e,entry:t,resetToDefault:r,onHydrated:n})=>{const{signal:s}=t.config;let o;const a=()=>(o=s.getValue(),(({adapter:e,config:t})=>{const{signal:r,version:n}=t,s={value:r.getValue(),[Ze]:Ze,migrationVersion:n};return"development"===process.env.NODE_ENV&&console.log("[reactjrx][state][persistance]:","Persist value",s,`for signal ${r.config.key}`),V(e.setItem(r.config.key,s)).pipe(y(e=>(console.error(e),k(null))))})({adapter:e,config:t.config}));return function({adapter:e,config:t,resetToDefault:r=!1}){const{hydrate:n=({value:e})=>e,signal:s,version:o}=t,a=e=>(r&&s.update(He),k(e));return V(e.getItem(s.config.key)).pipe(N(e=>{const t=(e=>{if("object"==typeof e&&null!==e&&"__reactjrx"in e&&"__reactjrx"===e.__reactjrx)return e})(e);if(!t)return a(e);const r="number"!=typeof t.migrationVersion,i=void 0!==t.migrationVersion&&o>t.migrationVersion;if(r||i||void 0===t.value)return a(e);const c=t.value;return"development"===process.env.NODE_ENV&&console.log("[reactjrx][state][persistance]:","Hydrate value",t,`for signal ${s.config.key}`),s.setValue(n({value:c,version:o})),k(e)}))}({adapter:e,config:t.config,resetToDefault:r}).pipe(y(e=>(console.error(`Unable to hydrate signal ${s.config.key}`,e),f)),T(n),N(()=>s.pipe(P(500,m,{trailing:!0}),N(()=>a()),S(()=>{s.getValue()!==o&&a().subscribe()}))))};function tt({entries:e=[],onHydrated:t,adapter:r}){const n=ve(t),s=re(r),o=re(e);return he(()=>s.pipe(C((e,t)=>{const r=e.firstAdapter??t;return{adapter:t,firstAdapter:r,replacesAnother:e.replacesAnother||!!t&&t!==r}},{adapter:void 0,firstAdapter:void 0,replacesAnother:!1}),N(({adapter:e,replacesAnother:t})=>e?A(k({type:"reset"}),function({entries$:e,onHydrated:t,adapter:r,resetToDefault:n=!1}){return new p(s=>{const o=/* @__PURE__ */new Map,a=/* @__PURE__ */new Set;let i=!1,c=!1;const u=()=>{c||i||a.size>0||(c=!0,t?.(),s.next({type:"hydrated"}))},l=e=>{const t={config:e,subscription:new v};o.set(e.signal,t),a.add(e.signal),t.subscription.add(et({adapter:r,entry:t,resetToDefault:n,onHydrated:()=>{a.delete(e.signal),u()}}).subscribe())},f=e=>{const t=o.get(e);t&&(o.delete(e),a.delete(e),t.subscription.unsubscribe())},d=e.subscribe({next:e=>{i=!0;const t=new Set(e.map(({signal:e})=>e));for(const r of[...o.keys()])t.has(r)||f(r);for(const r of e){const e=o.get(r.signal);e?e.config=r:l(r)}i=!1,u()},error:e=>s.error(e)});return()=>{d.unsubscribe();for(const e of[...o.keys()])f(e)}})}({adapter:e,entries$:o,resetToDefault:t,onHydrated:()=>{n.current?.()}})):k({type:"reset"})),j(e=>({isHydrated:"hydrated"===e.type}))),{defaultValue:{isHydrated:!1},compareFn:ge},[s,o]).data}function rt(t){const r=e(3),n=Be();if(t instanceof Le&&!n)throw new Error("useSignalValue must be used within a SignalContextProvider");let s;return r[0]!==t||r[1]!==n?(s=t instanceof Le?n.getOrCreateSignal(t):t,r[0]=t,r[1]=n,r[2]=s):s=r[2],s}function nt(e){return rt(e).update}var st=Object.is;function ot(t,r,n){const s=e(7),o=void 0===n?st:n,a=rt(t);let c;s[0]===Symbol.for("react.memo_cache_sentinel")?(c={hasValue:!1,signal:void 0,selector:void 0,sourceValue:void 0,value:void 0},s[0]=c):c=s[0];const l=i(c);let f;s[1]!==a?(f=e=>{const t=a.pipe(_(1)).subscribe(()=>{e()});return()=>{t.unsubscribe()}},s[1]=a,s[2]=f):f=s[2];const d=f;let p;s[3]!==o||s[4]!==a||s[5]!==r?(p=()=>{const e=l.current,t=a.value;if(e.hasValue&&e.signal===a&&e.selector===r&&e.sourceValue===t)return e.value;const n=r?r(t):t;return e.hasValue&&e.signal===a&&o(e.value,n)?(l.current={hasValue:!0,signal:a,selector:r,sourceValue:t,value:e.value},e.value):(l.current={hasValue:!0,signal:a,selector:r,sourceValue:t,value:n},n)},s[3]=o,s[4]=a,s[5]=r,s[6]=p):p=s[6];return u(d,p,p)}function at(t){const r=e(4),n=rt(t),s=ot(n),o=nt(n);let a;return r[0]!==n||r[1]!==o||r[2]!==s?(a=[s,o,n],r[0]=n,r[1]=o,r[2]=s,r[3]=a):a=r[3],a}var it=t=>{const r=e(3),n=te(t),s=ot(n);let o;return r[0]!==n||r[1]!==s?(o=[s,n],r[0]=n,r[1]=s,r[2]=o):o=r[2],o};export{He as SIGNAL_RESET,Ue as Signal,We as SignalContextProvider,Qe as SignalReactContext,qe as SwitchMutationCancelError,Le as VirtualSignal,se as arrayEqual,Re as createLocalStorageAdapter,Je as createLocalforageAdapter,ue as exponentialBackoffDelay,ce as getDelay,oe as isDefined,ae as isPromiseLike,ie as isServer,ge as isShallowEqual,le as retryBackoff,Ye as signal,Ae as useConcatMutation$,te as useConstant,pe as useDebounced,fe as useEffectOnce,re as useLiveBehaviorSubject,ve as useLiveRef,Xe as useMakeOrRetrieveSignal,me as useMemoCompare,ye as useMount,Ee as useMutation$,ne as useObservableState,he as useObserve,tt as usePersistSignals,De as useQueries$,Ne as useQuery$,ee as useRefOnce,nt as useSetSignal,at as useSignal,Be as useSignalContext,it as useSignalState,ot as useSignalValue,Se as useSubscribe,Ve as useSubscribeEffect,Te as useSwitchMutation$,de as useUnmount,ze as virtualSignal};
|
|
1
|
+
import{c as e}from"react/compiler-runtime";import{createContext as t,memo as r,useCallback as n,useContext as s,useEffect as o,useMemo as a,useRef as c,useState as i,useSyncExternalStore as u}from"react";import{BehaviorSubject as l,EMPTY as f,NEVER as p,Observable as d,Subscription as v,asyncScheduler as m,catchError as y,defaultIfEmpty as g,defer as b,distinctUntilChanged as h,filter as w,finalize as S,first as I,from as V,fromEvent as x,ignoreElements as E,isObservable as F,map as j,merge as A,noop as O,of as k,retry as $,scan as C,share as D,skip as _,switchMap as q,take as N,tap as T,throttleTime as P,throwError as M,timer as H}from"rxjs";import{catchError as J,first as K,mergeMap as U,retry as L,tap as R}from"rxjs/operators";import{CancelledError as Y,skipToken as z,useMutation as G,useQueries as Q,useQuery as W,useQueryClient as B}from"@tanstack/react-query";import{jsx as X}from"react/jsx-runtime";var Z=Symbol("UNSET"),ee=e=>{const t=c(Z);return t.current===Z&&(t.current=e()),t},te=e=>ee(e).current,re=t=>{const r=e(6);let n;r[0]!==t?(n=()=>new l(t),r[0]=t,r[1]=n):n=r[1];const s=te(n);let a,c;return r[2]!==t||r[3]!==s?(a=()=>{Object.is(s.getValue(),t)||s.next(t)},c=[t,s],r[2]=t,r[3]=s,r[4]=a,r[5]=c):(a=r[4],c=r[5]),o(a,c),s},ne=t=>{const r=e(12);let n;r[0]!==t?(n=()=>new l(t),r[0]=t,r[1]=n):n=r[1];const s=te(n);let o;r[2]!==s?(o=e=>{const t="function"==typeof(r=e)?r(s.getValue()):r;var r;t!==s.getValue()&&s.next(t)},r[2]=s,r[3]=o):o=r[3];const a=o;let c;r[4]!==s?(c=e=>{const t=s.pipe(_(1)).subscribe(e);return()=>{t.unsubscribe()}},r[4]=s,r[5]=c):c=r[5];const i=c;let f;r[6]!==s?(f=()=>s.getValue(),r[6]=s,r[7]=f):f=r[7];const p=u(i,f,f);let d;return r[8]!==a||r[9]!==s||r[10]!==p?(d=[p,a,s],r[8]=a,r[9]=s,r[10]=p,r[11]=d):d=r[11],d},se=(e,t)=>e.length===t.length&&e.every((e,r)=>e===t[r]);function oe(e){return null!=e}function ae(e){return e instanceof Promise||e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then&&"catch"in e&&"function"==typeof e.catch}var ce="undefined"==typeof window||"Deno"in window;function ie(e,t){return Math.min(e,t)}function ue(e,t){return 2**e*t}function le(e){const{retry:t=()=>!0,retryAfterDelay:r,retryAfter:n=()=>k(!0),initialInterval:s=100,maxInterval:o=Number.POSITIVE_INFINITY,resetOnSuccess:a=!1,backoffDelay:c=ue}=e;return i=>b(()=>{let u=0;return i.pipe(J(r=>{if(u++,!t(u-1,r))throw r;const n=e.caughtError?.(u,r);if(!n)throw r;return n.pipe(U(e=>A(k(e),M(()=>r))))}),L({delay:e=>{const a=u-1;return n().pipe(K(),U(()=>t(a,e)?H(ie(c(a,s),o)).pipe(U(t=>r&&!r(a,e)?M(()=>e):k(t))):M(()=>e)))}}),J(t=>{if(e.catchError)return e.catchError(u,t);throw t}),R(()=>{a&&(u=0)}))})}var fe=t=>{const r=e(1);let n;r[0]===Symbol.for("react.memo_cache_sentinel")?(n=[],r[0]=n):n=r[0],o(t,n)},pe=e=>{const t=c(e);t.current=e,fe(()=>()=>t.current())},de=(e,t,r={})=>{const{cancelOnUnmount:s=!1}=r,o=c(null),a=n(r=>{null!==o.current&&clearTimeout(o.current),o.current=setTimeout(()=>e(r),t)},[e,t]);return pe(()=>{s&&o.current&&clearTimeout(o.current)}),a},ve=e=>{const t=c(e);return a(()=>{t.current=e},[e]),t},me=(e,t)=>{const r=c({value:e});return a(()=>t(e,r.current.value)?r.current.value:(r.current={value:e},e),[e,t])},ye=t=>{const r=e(2);let n;r[0]!==t?(n=()=>{t()},r[0]=t,r[1]=n):n=r[1],fe(n)};function ge(e,t){if(null==e||void 0===t)return e===t;if("object"!=typeof e||"object"!=typeof t)return e===t;if(e.constructor!==t?.constructor)return!1;const r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(const s of r)if(!t.hasOwnProperty(s)||e[s]!==t[s])return!1;return!0}var be=class{state;source$;sub;constructor({source$:e,defaultValue:t,compareFn:r}){const n="function"==typeof e?e():e,s=void 0===n;if(this.state={data:n instanceof l?n.value:t,status:s?"success":"pending",observableState:s?"complete":"live",error:void 0},s)return this.source$=p,void(this.sub=v.EMPTY);this.source$=n.pipe(h(r),T({complete:()=>{this.state={...this.state,status:"success",observableState:"complete"}},error:e=>{this.state={...this.state,observableState:"error",status:"error",error:e}},next:e=>{this.state={...this.state,data:e}}}),D()),this.sub=this.source$.subscribe({error:()=>{}})}subscribe=e=>{if("live"!==this.state.observableState)return()=>{};const t=this.source$.subscribe({complete:e,error:e,next:e});return()=>{t.unsubscribe()}};getSnapshot=()=>this.state};function he(t,r,n){const s=e(6);let a;s[0]!==r?(a=null==r||Array.isArray(r)?{defaultValue:void 0,compareFn:void 0}:r,s[0]=r,s[1]=a):a=s[1];const i=a;let l;s[2]!==n||s[3]!==r||s[4]!==t?(l=!n&&Array.isArray(r)?r:"function"==typeof t?n??[]:[t],s[2]=n,s[3]=r,s[4]=t,s[5]=l):l=s[5];const f=((e,t,r)=>{const n=ve(t),s=c(void 0);s.current&&se(r,s.current.deps)||(s.current={deps:r,store:new be({source$:e,defaultValue:n.current.defaultValue,compareFn:(e,t)=>n.current?.compareFn?.(e,t)??e===t})});const a=s.current.store;return o(()=>()=>{a.sub.unsubscribe()},[a]),a})(t,i,l);return u(f.subscribe,f.getSnapshot,f.getSnapshot)}function we(e){if(F(e))return()=>e;if(ae(e))return()=>V(e);if("function"!=typeof e)return()=>k(e);const t=e;return e=>b(()=>{const r=t(e);return ae(r)?V(r):F(r)?r:k(r)})}function Se(t){const r=e(3);let n,s;r[0]!==t?(n=()=>{const e=we(t)().subscribe();return()=>{e.unsubscribe()}},s=[t],r[0]=t,r[1]=n,r[2]=s):(n=r[1],s=r[2]),o(n,s)}var Ie=e=>ie(ue(e,1e3),3e4);function Ve(e,t){const r=ve(t);Se(n(()=>we(e)().pipe(T({error:e=>{r.current?.onError?.(e)}}),$({resetOnSuccess:!0,delay:(e,t)=>{const n=t-1,{retry:s,retryDelay:o=Ie}=r.current??{};return((e,t,r)=>"function"==typeof e?e(t,r):"number"==typeof e?t<e:!0===e)(s,n,e)?H("function"==typeof o?o(n,e):o):M(()=>e)}})),[e,r]))}function xe(e,t){return"function"==typeof e?e(t):e}function Ee({onMutate:e,onSuccess:t,onError:r,onSettled:n}){return{onMutate:e?({variables:t},...r)=>e(t,...r):void 0,onSuccess:(e,{variables:r},...n)=>t?.(e,r,...n),onError:(e,{variables:t},...n)=>r?.(e,t,...n),onSettled:(e,t,{variables:r},...s)=>n?.(e,t,r,...s)}}function Fe(t,r){const n=e(16),s=te(je);let a,c;n[0]!==t?(a=e=>{let r;return new Promise((n,s)=>{xe(t.mutationFn,e).pipe(N(1)).subscribe({next:e=>{r={value:e}},error:e=>{s(e)},complete:()=>{if(void 0===r)return s(/* @__PURE__ */new Error("Stream completed without any data"));n(r.value)}})})},n[0]=t,n[1]=a):a=n[1],n[2]!==t||n[3]!==a?(c={...t,mutationFn:a},n[2]=t,n[3]=a,n[4]=c):c=n[4];const i=G(c,r),{status:u,isPending:l,isError:f,isSuccess:p,isIdle:d}=i;let v,m,y;return n[5]!==f||n[6]!==d||n[7]!==l||n[8]!==p||n[9]!==s||n[10]!==u?(v=()=>{s.next({status:u,isPending:l,isError:f,isSuccess:p,isIdle:d})},m=[u,l,f,p,d,s],n[5]=f,n[6]=d,n[7]=l,n[8]=p,n[9]=s,n[10]=u,n[11]=v,n[12]=m):(v=n[11],m=n[12]),o(v,m),n[13]!==i||n[14]!==s?(y={...i,state$:s},n[13]=i,n[14]=s,n[15]=y):y=n[15],y}function je(){return new l({status:"idle",isPending:!1,isError:!1,isSuccess:!1,isIdle:!0})}function Ae(t,r){const n=e(21),s=B(r),o=t.mutationKey;let a,c,i;n[0]!==t?(a=Ee(t),n[0]=t,n[1]=a):a=n[1],n[2]!==t.mutationFn?(c=e=>{const{ready$:r,variables:n}=e,s=xe(t.mutationFn,n);return r.pipe(w(ke),I(),q(()=>s))},n[2]=t.mutationFn,n[3]=c):c=n[3],n[4]!==t||n[5]!==a||n[6]!==c?(i={...t,...a,mutationFn:c},n[4]=t,n[5]=a,n[6]=c,n[7]=i):i=n[7];const u=Fe(i,r);let f,p,d;n[8]!==u?(({mutateAsync:f,...p}=u),n[8]=u,n[9]=f,n[10]=p):(f=n[9],p=n[10]),n[11]!==s||n[12]!==f||n[13]!==o?(d=async e=>{const t=s.getMutationCache().findAll({mutationKey:o,exact:!0}),r=new l(!1),n=f({variables:e,ready$:r});return await Promise.all(t.map(Oe)),r.next(!0),await n.finally(()=>{r.complete()})},n[11]=s,n[12]=f,n[13]=o,n[14]=d):d=n[14];const v=d;let m;n[15]!==v?(m=e=>{v(e).catch(O)},n[15]=v,n[16]=m):m=n[16];const y=m;let g;return n[17]!==v||n[18]!==y||n[19]!==p?(g={...p,mutate:y,mutateAsync:v},n[17]=v,n[18]=y,n[19]=p,n[20]=g):g=n[20],g}function Oe(e){return e.continue().catch(O)}function ke(e){return e}var $e={staleTime:0,refetchOnMount:"always"},Ce=/* @__PURE__ */new WeakMap;function De(e){return e===z||void 0===e?e:t=>new Promise((r,n)=>{const s=t.client.getQueryCache(),o=s.getAll().find(e=>e.queryKey===t.queryKey),a=b(()=>"function"==typeof e?e(t):e),c={resolve:r,reject:n};if(!o)return void function(e,t,{resolve:r,reject:n}){const s=e.pipe(N(1)).subscribe({next:r,error:n,complete:()=>n(new Y)});t.addEventListener("abort",()=>{s.unsubscribe(),n(new Y)},{once:!0})}(a,t.signal,c);const i=Ce.get(o);i?.isStartingFollow?(i.isStartingFollow=!1,function(e,t){e.fetch=t,e.error?(t.reject(e.error.value),e.stop()):e.isComplete&&(t.resolve(e.last?.value),e.stop())}(i,c)):(i?.stop(),function(e,t,r,n){const s=new v;let o=!1;const a={phase:"loading",last:void 0,uncommitted:void 0,error:void 0,isComplete:!1,fetch:n,isStartingFollow:!1,stop:()=>{o||(o=!0,s.unsubscribe(),u(),Ce.get(e)===a&&Ce.delete(e))}},c=e=>{s.unsubscribe(),a.error={value:e},"resolved"===a.phase||a.isStartingFollow||(a.fetch?.reject(e),a.stop())},i=()=>{a.phase="live",a.fetch=void 0,a.uncommitted&&(e.setData(a.uncommitted.value,{manual:!0}),a.uncommitted=void 0),a.isComplete&&!a.error?a.stop():a.error||e.isActive()?(a.isStartingFollow=!0,e.fetch().catch(()=>{}),a.isStartingFollow&&e.promise?.catch(()=>{a.isStartingFollow&&a.stop()})):a.stop()},u=t.subscribe(t=>{t.query===e&&("updated"!==t.type||"resolved"!==a.phase||"success"!==t.action.type||t.action.manual||i(),("observerOptionsUpdated"===t.type||"observerRemoved"===t.type)&&"live"===a.phase&&e.getObserversCount()>0&&!e.isActive()&&(e.cancel({revert:!0}),a.stop()),("observerRemoved"===t.type&&!a.fetch&&0===e.getObserversCount()||"removed"===t.type)&&a.stop())});Ce.set(e,a),s.add(r.subscribe({next:t=>{if(void 0!==t){if(a.last={value:t},"loading"===a.phase)return a.phase="resolved",void a.fetch?.resolve(t);e.setData(t,{manual:!0}),"resolved"===a.phase&&(a.uncommitted={value:t})}else c(/* @__PURE__ */new Error(`${JSON.stringify(e.queryKey)} data is undefined`))},error:c,complete:()=>{a.isComplete=!0,"resolved"===a.phase||a.isStartingFollow||(a.last?a.fetch?.resolve(a.last.value):(console.warn(`cancelled due to stream completing without data for query ${JSON.stringify(e.queryKey)}`),a.fetch?.reject(new Y)),a.stop())}}))}(o,s,a,c));const u=Ce.get(o);u?.fetch===c&&function(e,t,r){r.addEventListener("abort",()=>{e.fetch===t&&(t.reject(new Y),e.stop())},{once:!0})}(u,c,t.signal)})}function _e(t,r){const n=e(9);let s,o,a;n[0]!==t?(({queries:o,...s}=t),n[0]=t,n[1]=s,n[2]=o):(s=n[1],o=n[2]),n[3]!==o?(a=o.map(qe),n[3]=o,n[4]=a):a=n[4];const c=a,i=s.combine;let u;return n[5]!==s.subscribed||n[6]!==c||n[7]!==i?(u={queries:c,combine:i,subscribed:s.subscribed},n[5]=s.subscribed,n[6]=c,n[7]=i,n[8]=u):u=n[8],Q(u,r)}function qe(e){return{...e,queryFn:De(e.queryFn)}}function Ne(t,r){const n=e(8);let s,o,a;n[0]!==t?(({queries:o,...s}=t),n[0]=t,n[1]=s,n[2]=o):(s=n[1],o=n[2]),n[3]!==o?(a=o.map(Te),n[3]=o,n[4]=a):a=n[4];const c=a;let i;return n[5]!==s||n[6]!==c?(i={...s,queries:c},n[5]=s,n[6]=c,n[7]=i):i=n[7],_e(i,r)}function Te(e){return{...e,...$e}}function Pe(t,r){const n=e(8);let s,o,a,c;return n[0]!==t?(({queryFn:o,...s}=t),n[0]=t,n[1]=s,n[2]=o):(s=n[1],o=n[2]),n[3]!==o?(a=De(o),n[3]=o,n[4]=a):a=n[4],n[5]!==s||n[6]!==a?(c={...s,queryFn:a},n[5]=s,n[6]=a,n[7]=c):c=n[7],W(c,r)}function Me(t,r){const n=e(2);let s;return n[0]!==t?(s={...t,...$e},n[0]=t,n[1]=s):s=n[1],Pe(s,r)}var He=class extends Error{constructor(e="Mutation canceled"){super(e),this.name="SwitchMutationCancelError"}};function Je(t,r){const n=e(20),{mutationFn:s,...o}=t,a=ee(Ue);let c;n[0]!==s?(c=e=>{const{variables:t,abort:r}=e;if(r.aborted)throw new He;const n=xe(s,t);return A(n.pipe(g(null)),x(r,"abort").pipe(T(Ke),E())).pipe(I())},n[0]=s,n[1]=c):c=n[1];const i=c,u=Ee(o);let l;n[2]!==o||n[3]!==i||n[4]!==u?(l={...o,mutationFn:i,...u},n[2]=o,n[3]=i,n[4]=u,n[5]=l):l=n[5];const f=Fe(l,r);let p,d,v,m;n[6]!==f?(({mutate:p,mutateAsync:d,...v}=f),n[6]=f,n[7]=p,n[8]=d,n[9]=v):(p=n[7],d=n[8],v=n[9]),n[10]!==p||n[11]!==a?(m=e=>(a.current.abort(),a.current=new AbortController,p({variables:e,abort:a.current.signal})),n[10]=p,n[11]=a,n[12]=m):m=n[12];const y=m;let b;n[13]!==d||n[14]!==a?(b=e=>(a.current.abort(),a.current=new AbortController,d({variables:e,abort:a.current.signal})),n[13]=d,n[14]=a,n[15]=b):b=n[15];const h=b;let w;return n[16]!==h||n[17]!==y||n[18]!==v?(w={...v,mutate:y,mutateAsync:h},n[16]=h,n[17]=y,n[18]=v,n[19]=w):w=n[19],w}function Ke(){throw new He}function Ue(){return new AbortController}var Le=Symbol("SIGNAL_RESET"),Re=e=>({getItem:async t=>{const r=await e.getItem(t);if(r)return JSON.parse(r)},setItem:async(t,r)=>{await e.setItem(t,JSON.stringify(r))},removeItem:async e=>{},clear:async()=>{}}),Ye=e=>{if(e&&"object"==typeof e)return e},ze=({key:e}={})=>e?(({adapter:e,key:t})=>({clear:async()=>await e.removeItem(t),removeItem:async r=>{const n=await e.getItem(t),{[r]:s,...o}=Ye(n)??{};await e.setItem(t,o)},getItem:async r=>{const n=await e.getItem(t),s=Ye(n)??{};if(r in s)return s[r]},setItem:async(r,n)=>{const s=await e.getItem(t),o=Ye(s)??{};await e.setItem(t,{...o,[r]:n})}}))({adapter:ze(),key:e}):{clear:async()=>{localStorage.clear()},removeItem:async e=>{localStorage.removeItem(e)},getItem:async e=>{const t=localStorage.getItem(e);if(t)return JSON.parse(t)},setItem:async(e,t)=>{localStorage.setItem(e,JSON.stringify(t))}},Ge=class extends l{config;constructor(e){super(e.default),this.config=e}update=e=>{if(e===Le)super.next(this.config.default);else if("function"==typeof e){const t=e;super.next(t(this.value))}else super.next(e)};setValue=this.update.bind(this);get subject(){return this}get key(){return this.config.key}},Qe=class{config;constructor(e){this.config=e}};function We(e={}){return new Ge({key:void 0,...e,default:e.default??void 0})}function Be(e){return new Qe(e)}var Xe=class{signals=new l(/* @__PURE__ */new Map);isDestroyed=!1;getOrCreateSignal(e){const t=this.signals.value.get(e);if(t)return t;const r=new Ge({...e.config,key:void 0});return this.signals.value.set(e,r),this.signals.next(this.signals.value),r}destroy(){this.signals.value.forEach(e=>{e.complete()}),this.signals.value.clear(),this.signals.complete(),this.isDestroyed=!0}},Ze=t(new Xe),et=r(({children:e})=>{const t=ee(()=>new Xe),r=t.current,[n,s]=i(!1);n&&(t.current=new Xe,s(!1));const a=r;return o(()=>()=>{t.current?.destroy(),s(!0)},[t]),/* @__PURE__ */X(Ze.Provider,{value:a,children:e})}),tt=()=>s(Ze),rt=t=>{const r=e(3),n=tt();let s;return r[0]!==n||r[1]!==t?(s=t?n.getOrCreateSignal(t):void 0,r[0]=n,r[1]=t,r[2]=s):s=r[2],s},nt="__reactjrx";var st=({adapter:e,entry:t,resetToDefault:r,onHydrated:n})=>{const{signal:s}=t.config;let o;const a=()=>(o=s.getValue(),(({adapter:e,config:t})=>{const{signal:r,version:n}=t,s={value:r.getValue(),[nt]:nt,migrationVersion:n};return"development"===process.env.NODE_ENV&&console.log("[reactjrx][state][persistance]:","Persist value",s,`for signal ${r.config.key}`),V(e.setItem(r.config.key,s)).pipe(y(e=>(console.error(e),k(null))))})({adapter:e,config:t.config}));return function({adapter:e,config:t,resetToDefault:r=!1}){const{hydrate:n=({value:e})=>e,signal:s,version:o}=t,a=e=>(r&&s.update(Le),k(e));return V(e.getItem(s.config.key)).pipe(q(e=>{const t=(e=>{if("object"==typeof e&&null!==e&&"__reactjrx"in e&&"__reactjrx"===e.__reactjrx)return e})(e);if(!t)return a(e);const r="number"!=typeof t.migrationVersion,c=void 0!==t.migrationVersion&&o>t.migrationVersion;if(r||c||void 0===t.value)return a(e);const i=t.value;return"development"===process.env.NODE_ENV&&console.log("[reactjrx][state][persistance]:","Hydrate value",t,`for signal ${s.config.key}`),s.setValue(n({value:i,version:o})),k(e)}))}({adapter:e,config:t.config,resetToDefault:r}).pipe(y(e=>(console.error(`Unable to hydrate signal ${s.config.key}`,e),f)),T(n),q(()=>s.pipe(P(500,m,{trailing:!0}),q(()=>a()),S(()=>{s.getValue()!==o&&a().subscribe()}))))};function ot({entries:e=[],onHydrated:t,adapter:r}){const n=ve(t),s=re(r),o=re(e);return he(()=>s.pipe(C((e,t)=>{const r=e.firstAdapter??t;return{adapter:t,firstAdapter:r,replacesAnother:e.replacesAnother||!!t&&t!==r}},{adapter:void 0,firstAdapter:void 0,replacesAnother:!1}),q(({adapter:e,replacesAnother:t})=>e?A(k({type:"reset"}),function({entries$:e,onHydrated:t,adapter:r,resetToDefault:n=!1}){return new d(s=>{const o=/* @__PURE__ */new Map,a=/* @__PURE__ */new Set;let c=!1,i=!1;const u=()=>{i||c||a.size>0||(i=!0,t?.(),s.next({type:"hydrated"}))},l=e=>{const t={config:e,subscription:new v};o.set(e.signal,t),a.add(e.signal),t.subscription.add(st({adapter:r,entry:t,resetToDefault:n,onHydrated:()=>{a.delete(e.signal),u()}}).subscribe())},f=e=>{const t=o.get(e);t&&(o.delete(e),a.delete(e),t.subscription.unsubscribe())},p=e.subscribe({next:e=>{c=!0;const t=new Set(e.map(({signal:e})=>e));for(const r of[...o.keys()])t.has(r)||f(r);for(const r of e){const e=o.get(r.signal);e?e.config=r:l(r)}c=!1,u()},error:e=>s.error(e)});return()=>{p.unsubscribe();for(const e of[...o.keys()])f(e)}})}({adapter:e,entries$:o,resetToDefault:t,onHydrated:()=>{n.current?.()}})):k({type:"reset"})),j(e=>({isHydrated:"hydrated"===e.type}))),{defaultValue:{isHydrated:!1},compareFn:ge},[s,o]).data}function at(t){const r=e(3),n=tt();if(t instanceof Qe&&!n)throw new Error("useSignalValue must be used within a SignalContextProvider");let s;return r[0]!==t||r[1]!==n?(s=t instanceof Qe?n.getOrCreateSignal(t):t,r[0]=t,r[1]=n,r[2]=s):s=r[2],s}function ct(e){return at(e).update}var it=Object.is;function ut(t,r,n){const s=e(7),o=void 0===n?it:n,a=at(t);let i;s[0]===Symbol.for("react.memo_cache_sentinel")?(i={hasValue:!1,signal:void 0,selector:void 0,sourceValue:void 0,value:void 0},s[0]=i):i=s[0];const l=c(i);let f;s[1]!==a?(f=e=>{const t=a.pipe(_(1)).subscribe(()=>{e()});return()=>{t.unsubscribe()}},s[1]=a,s[2]=f):f=s[2];const p=f;let d;s[3]!==o||s[4]!==a||s[5]!==r?(d=()=>{const e=l.current,t=a.value;if(e.hasValue&&e.signal===a&&e.selector===r&&e.sourceValue===t)return e.value;const n=r?r(t):t;return e.hasValue&&e.signal===a&&o(e.value,n)?(l.current={hasValue:!0,signal:a,selector:r,sourceValue:t,value:e.value},e.value):(l.current={hasValue:!0,signal:a,selector:r,sourceValue:t,value:n},n)},s[3]=o,s[4]=a,s[5]=r,s[6]=d):d=s[6];return u(p,d,d)}function lt(t){const r=e(4),n=at(t),s=ut(n),o=ct(n);let a;return r[0]!==n||r[1]!==o||r[2]!==s?(a=[s,o,n],r[0]=n,r[1]=o,r[2]=s,r[3]=a):a=r[3],a}var ft=t=>{const r=e(3),n=te(t),s=ut(n);let o;return r[0]!==n||r[1]!==s?(o=[s,n],r[0]=n,r[1]=s,r[2]=o):o=r[2],o};export{Le as SIGNAL_RESET,Ge as Signal,et as SignalContextProvider,Ze as SignalReactContext,He as SwitchMutationCancelError,Qe as VirtualSignal,se as arrayEqual,ze as createLocalStorageAdapter,Re as createLocalforageAdapter,ue as exponentialBackoffDelay,ie as getDelay,oe as isDefined,ae as isPromiseLike,ce as isServer,ge as isShallowEqual,le as retryBackoff,We as signal,Ae as useConcatMutation$,te as useConstant,de as useDebounced,fe as useEffectOnce,re as useLiveBehaviorSubject,Ne as useLiveQueries$,Me as useLiveQuery$,ve as useLiveRef,rt as useMakeOrRetrieveSignal,me as useMemoCompare,ye as useMount,Fe as useMutation$,ne as useObservableState,he as useObserve,ot as usePersistSignals,_e as useQueries$,Pe as useQuery$,ee as useRefOnce,ct as useSetSignal,lt as useSignal,tt as useSignalContext,ft as useSignalState,ut as useSignalValue,Se as useSubscribe,Ve as useSubscribeEffect,Je as useSwitchMutation$,pe as useUnmount,Be as virtualSignal};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|