@storesjs/stores 0.8.3 β 0.8.5
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/config.d.ts +31 -4
- package/dist/createBaseStore.d.ts +1 -0
- package/dist/createDerivedStore.d.ts +1 -0
- package/dist/createQueryStore.d.ts +1 -0
- package/dist/createVirtualStore.d.ts +1 -0
- package/dist/derivedStore/deriveProxy.d.ts +1 -0
- package/dist/derivedStore/globalDeriveScheduler.d.ts +1 -0
- package/dist/env.native.d.ts +1 -0
- package/dist/env.web.d.ts +1 -0
- package/dist/hooks/compareHooks.d.ts +1 -0
- package/dist/hooks/useLazyRef.d.ts +1 -0
- package/dist/hooks/useListen.d.ts +1 -0
- package/dist/hooks/useStableValue.d.ts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/logger.d.ts +4 -3
- package/dist/middleware/createHydrationGate.d.ts +1 -0
- package/dist/native/index.js +1 -1
- package/dist/native/index.mjs +1 -1
- package/dist/plugins/chrome/chromeExtensionSyncEngine.d.ts +4 -7
- package/dist/plugins/chrome/chromeStorageAdapter.d.ts +4 -5
- package/dist/plugins/chrome/createSyncedChromeStorage.d.ts +3 -5
- package/dist/plugins/chrome/index.d.ts +1 -0
- package/dist/queryStore/classes/SubscriptionManager.d.ts +1 -0
- package/dist/queryStore/types.d.ts +1 -0
- package/dist/signal.d.ts +1 -0
- package/dist/storage/storageCreators.d.ts +1 -0
- package/dist/storage/storageTypes.d.ts +1 -0
- package/dist/storesStorage.native.d.ts +2 -1
- package/dist/storesStorage.web.d.ts +2 -1
- package/dist/sync/browserSyncEngine.d.ts +1 -0
- package/dist/sync/noopSyncEngine.d.ts +1 -0
- package/dist/sync/syncEnhancer.d.ts +1 -0
- package/dist/sync/syncUtils.d.ts +1 -0
- package/dist/sync/transport.d.ts +1 -0
- package/dist/sync/types.d.ts +1 -0
- package/dist/types/functions.d.ts +1 -0
- package/dist/types/objects.d.ts +1 -0
- package/dist/types/utils.d.ts +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/utils/core.d.ts +1 -0
- package/dist/utils/createAsyncMicrotaskScheduler.d.ts +1 -0
- package/dist/utils/createMicrotaskScheduler.d.ts +1 -0
- package/dist/utils/createStoreActions.d.ts +1 -0
- package/dist/utils/debounce.d.ts +1 -0
- package/dist/utils/equality.d.ts +1 -0
- package/dist/utils/hydrationCoordinator.d.ts +1 -0
- package/dist/utils/persistUtils.d.ts +1 -0
- package/dist/utils/promiseUtils.d.ts +1 -0
- package/dist/utils/serialization.d.ts +1 -0
- package/dist/utils/storeUtils.d.ts +1 -0
- package/dist/utils/stringUtils.d.ts +1 -0
- package/dist/utils/time.d.ts +1 -0
- package/dist/web/chrome.js +1 -1
- package/dist/web/chrome.mjs +1 -1
- package/dist/web/chunk-B3GRBY25.mjs +1 -0
- package/dist/web/index.js +1 -1
- package/dist/web/index.mjs +1 -1
- package/package.json +17 -1
- package/dist/env.d.ts +0 -7
- package/dist/storesStorage.d.ts +0 -2
- package/dist/utils/factoryUtils.d.ts +0 -21
- package/dist/web/chunk-YWUZUTPH.mjs +0 -1
package/dist/web/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{hasOwn as e,isPromiseLike as t,reviver as n,replacer as r}from"./chunk-YWUZUTPH.mjs";export{replacer,reviver}from"./chunk-YWUZUTPH.mjs";import{subscribeWithSelector as o,persist as s}from"zustand/middleware";import{createWithEqualityFn as i}from"zustand/traditional";import{useSyncExternalStoreWithSelector as c}from"use-sync-external-store/shim/with-selector";import{useLayoutEffect as a,useRef as u}from"react";var l="undefined"!=typeof window&&"undefined"!=typeof document,f="stores-storage";function d(){return"undefined"!=typeof window?window.localStorage:null}var y={clearAll(){try{const e=d();if(!e)return;const t=[],n=`${f}:`;for(let r=0;r<e.length;r++){const o=e.key(r);o?.startsWith(n)&&t.push(o)}for(const n of t)e.removeItem(n)}catch(e){}},contains(e){const t=d();return null!==t?.getItem(`${f}:${e}`)},delete(e){try{const t=d();t?.removeItem(`${f}:${e}`)}catch(e){}},getAllKeys(){try{const e=d();return e?Array.from(e.keys()):[]}catch(e){return[]}},get(e){try{const t=d();return t?t.getItem(`${f}:${e}`)??void 0:void 0}catch(e){return}},set(e,t){try{const n=d();n?.setItem(`${f}:${e}`,t)}catch(e){}}},h=class extends Error{constructor(e,t){super(e),this.name="StoresError",this.cause=g(t)}},p={debug:(e,t)=>{},error:(e,t)=>{},info:(e,t)=>{},warn:(e,t)=>{}};function g(e){return e instanceof Error?e:new Error(String(e))}var b="stores/core/sync-channel",m=`${b}:storage:`;function v(){try{return"undefined"!=typeof window?window.localStorage:null}catch{return null}}var S,w,j,O=class{constructor(e){this.broadcast=e.broadcast,this.origin=e.origin,this.storeKey=e.storeKey,this.teardown=e.teardown}destroy(){this.teardown()}publish(e){const t=Object.create(null);for(const n of Object.entries(e.values))t[n[0]]=n[1];const n={origin:this.origin,replace:e.replace,sessionId:e.sessionId,storeKey:this.storeKey,timestamp:e.timestamp,values:t};this.broadcast(n)}},q=class{constructor(){this.listeners=new Map,this.origin="undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`${Math.random().toString(36).slice(2)}:${Date.now().toString(36)}`,this.onChannelMessage=e=>{e.data&&this.dispatch(e.data)},this.onStorageEvent=e=>{if(e.key&&e.newValue&&e.key.startsWith(m))try{const t=JSON.parse(e.newValue);this.dispatch(t)}catch(e){p.error(new h("[sync] Failed to parse storage event payload"),{error:e})}},this.channel="undefined"==typeof BroadcastChannel?null:new BroadcastChannel(b),this.storage=v(),this.channel&&this.channel.addEventListener("message",this.onChannelMessage),l&&window.addEventListener("storage",this.onStorageEvent)}get sessionId(){return this.origin}register(e){const t=t=>{if(t.origin===this.origin||t.storeKey!==e.key)return;const n=Object.create(null);for(const r of e.fields)Object.prototype.hasOwnProperty.call(t.values,r)&&(n[r]=t.values[r]);Object.keys(n).length&&e.apply({replace:t.replace,sessionId:t.sessionId,timestamp:t.timestamp,values:n})};let n=this.listeners.get(e.key);return n||(n=new Set,this.listeners.set(e.key,n)),n.add(t),new O({broadcast:e=>this.broadcast(e),origin:this.origin,storeKey:e.key,teardown:()=>this.removeListener(e.key,t)})}broadcast(e){try{this.channel&&this.channel.postMessage(e),this.writeToStorage(e)}catch(e){p.error(new h("[sync] Failed to broadcast update"),{error:e})}}dispatch(e){if(!e.storeKey)return;const t=this.listeners.get(e.storeKey);if(t&&t.size)for(const n of t)n(e)}removeListener(e,t){const n=this.listeners.get(e);n&&(n.delete(t),n.size||this.listeners.delete(e))}writeToStorage(e){if(this.storage||(this.storage=v()),!this.storage)return;const t=`${m}${e.storeKey}`;try{this.storage.setItem(t,JSON.stringify(e))}catch(e){p.error(new h("[sync] Failed to write broadcast payload to storage"),{error:e})}}},I=class{destroy(){}publish(){}},F=class{constructor(){this.sessionId="noop"}register(e){return new I}};function k(e){var t;j??(j=C()),e.logger&&(t=e.logger,p=t),e.storage&&(j.storage=e.storage),e.syncEngine&&(j.syncEngine=e.syncEngine)}function A(){return j??(j=C())}function C(){return{storage:y,syncEngine:l?(S||(S=new q),S):(w||(w=new F),w)}}function T(){let e,t,n=!1;return{complete:function(){!n&&e&&(n=!0,e(),e=void 0,t=void 0)},isHydrated:function(){return n},fail:function(r){!n&&t&&(n=!0,t(r),t=void 0,e=void 0)},promise:new Promise((n,r)=>{e=n,t=r})}}var z=Math.max,K=Math.min;function M(e,t=0,n={}){let r,o,s,i,c,a,u=0,l=!1,f=!1,d=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function y(t){const n=r,s=o;return r=o=void 0,u=t,i=n?e.apply(s,n):e.apply(s),i}function h(e){const n=e-(a??0);return void 0===a||n>=t||n<0||f&&void 0!==s&&e-u>=s}function p(){const e=E();if(h(e))return g(e);c=setTimeout(p,function(e){const n=t-(e-(a??0));return f&&void 0!==s?K(n,s-(e-u)):n}(e))}function g(e){return c=void 0,d&&r?y(e):(r=o=void 0,i)}function b(...e){const n=E(),s=h(n);if(r=e,o=this,a=n,s){if(void 0===c)return function(e){return u=e,c=setTimeout(p,t),l?y(e):i}(a);if(f)return clearTimeout(c),c=setTimeout(p,t),y(a)}return void 0===c&&(c=setTimeout(p,t)),i}return t=D(t)||0,function(e){const t=typeof e;return null!==e&&("object"===t||"function"===t)}(n)&&(l=!!n.leading,f="maxWait"in n,s=f?z(D(n.maxWait)||0,t):void 0,d="trailing"in n?!!n.trailing:d),b.cancel=function(){void 0!==c&&clearTimeout(c),u=0,r=a=o=c=void 0},b.flush=function(){return void 0===c?i:g(E())},b}function E(){return"undefined"!=typeof performance&&"function"==typeof performance.now?performance.now():Date.now()}function D(e){if("number"==typeof e)return e;if("symbol"==typeof e||void 0===e)return NaN;if("object"==typeof e&&null!==e){const t="function"==typeof e.valueOf?e.valueOf():e;e="object"==typeof t?t+"":t}return"string"!=typeof e?0===e?e:+e:(e=e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),/^0b[01]+$/i.test(e)?parseInt(e.slice(2),2):/^0o[0-7]+$/i.test(e)?parseInt(e.slice(2),8):/^[-+]0x[0-9a-f]+$/i.test(e)?NaN:+e)}function L(e){if(null!==e&&"object"==typeof e){const t={};for(const[n,r]of Object.entries(e))"function"!=typeof r&&(t[n]=r);return t}return e}var P={ms:e=>e,seconds:e=>1e3*e,minutes:e=>P.seconds(60*e),hours:e=>P.minutes(60*e),days:e=>P.hours(24*e),weeks:e=>P.days(7*e),infinity:1/0,zero:0},x=l?P.ms(200):P.seconds(5);function R(e){return t=>{if("string"!=typeof t)throw new h("[createBaseStore]: Received non-string serialized state without a custom deserializer. Provide a deserializer on the store or storage adapter.");return function(e,t){try{return JSON.parse(e,t?n:void 0)}catch(e){throw p.error(new h("[createBaseStore]: Failed to deserialize persisted Rainbow store data"),{error:e}),e}}(t,e)}}function $(e){return t=>function(e,t){try{return JSON.stringify(e,t?r:void 0)}catch(e){throw p.error(new h("[createBaseStore]: Failed to serialize Rainbow store data"),{error:e}),e}}(t,e)}var W=Object.freeze({shouldClear:!1});function U(e,t,n){if(!t||!e)return W;const r=e.getFieldTimestampSnapshot();return function(e,t){const n=e.getSessionId(),r=e.getTimestamp();void 0!==n&&void 0!==r&&(t.syncMetadata={origin:n,timestamp:r})}(e,n),n.syncMetadata?r&&Object.keys(r).length>0?(n.syncMetadata.fields=r,{fieldSnapshot:r,shouldClear:!0}):(delete n.syncMetadata.fields,{fieldSnapshot:r,shouldClear:!1}):{fieldSnapshot:r,shouldClear:!1}}function B(e,t){e&&t.shouldClear&&t.fieldSnapshot&&Object.keys(t.fieldSnapshot).length&&e.clearFieldTimestamps(t.fieldSnapshot)}function V(e){return!!e&&!!e.getIsApplyingRemote()}function Q(e,...t){return!0===t[1]?ee(t[0])?t[0](e):t[0]:{...e,...ee(t[0])?t[0](e):t[0]}}function H(e,t){Y(e)?e.getState().reset(t?.clearQueryCache):function(e){return"destroy"in e}(e)&&e.destroy()}function N(e,t){for(const n of Array.isArray(e)?e:Object.values(e))n&&!t?.skipDestroy?.(n)&&H(n,t)}function _(e){return G(e)?e.persist.getOptions().name??e.name:e.name}function J(e){return"getSnapshot"in e}function Y(e){return"_queryStore"in e}function Z(e){return"flushUpdates"in e}function G(e){return"persist"in e}function X(e){return"_virtualStore"in e}function ee(e){return"function"==typeof e}var[te,ne]=[0,1];function re(e,t,n){if(!e)return!0;const r=e[te],o=e[ne];return!(t<r)&&(t>r||n>o)}function oe(e,t){return Object.prototype.hasOwnProperty.call(t,e)}function se(e,t){return!0}function ie(e){if(null===e)return"null";const t=typeof e;return"object"===t?Object.prototype.toString.call(e):t}function ce(e,n){const r=void 0!==n&&"string"==typeof n.storageKey,c=r?n.storageKey:void 0,a=n?.sync?function(e,t){if(!e)return null;if(!0===e){if(!t)throw new h("[createBaseStore]: sync: true requires a storageKey to inherit the key from");return{key:t}}if("string"==typeof e)return{key:e};const n=e,r=n.key??t;if(!r)throw new h("[createBaseStore]: sync requires either a key in the config or a storageKey to inherit from");return{...n,key:r}}(n.sync,c):void 0,u=r?n.storage??A().storage:void 0,l=a?function(e,n,r){const o=n.engine??A().syncEngine,s=function(e){let t,n,r,o=!1;return{isAsync:e,clearFieldTimestamps:function(e){if(e&&r){for(const t of Object.entries(e)){const e=t[0],n=t[1];r[e]===n&&delete r[e]}Object.keys(r).length||(r=void 0)}},getFieldTimestampSnapshot:function(){if(r)return{...r}},getIsApplyingRemote:()=>o,getSessionId:()=>t,getTimestamp:()=>n,mergeFieldTimestamps:function(e){if(r)for(const t of Object.entries(e)){const e=t[0],n=t[1],o=r[e];(void 0===o||n>o)&&(r[e]=n)}else r={...e}},onHydrationComplete:void 0,onHydrationFlushEnd:void 0,setIsApplyingRemote:e=>o=e,setSessionId:e=>t=e,setTimestamp:e=>n=e,setWithoutPersist:void 0}}(r);return{stateCreator:(i,c,a)=>{const u=new Map,l=[],f=[];let d=null,y=!1,g=!1,b=0,m=null,v=[],S=Promise.resolve(),w=!r;const j=(e,t)=>{if(s?.setSessionId&&s?.setTimestamp&&o.sessionId&&(s.setSessionId(o.sessionId),s.setTimestamp(e),s.mergeFieldTimestamps&&t.length>0)){const n=Object.create(null);for(const r of t)n[String(r)]=e;s.mergeFieldTimestamps(n)}},O=function(e,n){if(y||!m)return n?i(e,n):i(e);const r=(()=>{const e=Date.now(),t=e>b?e:b+1;return b=t,t})();let s=[],c=Object.create(null);const a=t=>{const o=Q(t,e,n);for(const e of v)Object.is(o[e],t[e])||(s.push(e),c[e]=o[e]);return s.length&&j(r,s),o},l=n?i(a,!0):i(a),h=()=>{s.length&&(e=>{const t=o.sessionId;for(const n of e.keys)u.set(n,[e.timestamp,t]);d&&g?d.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values}):f.push(e)})({keys:s,replace:n??!1,values:c,timestamp:r})};return t(l)?l.finally(h):(h(),l)},q=a.setState;a.setState=O;const I=e(O,c,a);if(v=n.fields??function(e){const t=[];for(const n of Object.entries(e)){if("function"==typeof n[1])continue;const e=n[0];t.push(e)}return t}(I),!v.length)return I;m=new Set(v);const F=async e=>{b=Math.max(b,e.timestamp);const t=Object.create(null),r=c(),o=e.timestamp;let i;if(e.replace)for(const t of v)oe(t,e.values)||re(u.get(t),o,e.sessionId)&&(i??(i=[])).push(t);for(const s of v){if(!oe(s,e.values))continue;if(!m?.has(s))continue;if(!re(u.get(s),o,e.sessionId))continue;const i=n.merge?.[s];if(i){const n=e.values[s],c=r[s];if(void 0!==n){const a=i(n,c,r,e.values),l=void 0!==c?c:n;if(!se())return void p.error(new h(`[sync] Merge function for field "${String(s)}" returned ${ie(a)} but expected ${ie(l)}`));t[s]=a,u.set(s,[o,e.sessionId])}}else t[s]=e.values[s],u.set(s,[o,e.sessionId])}if(Object.keys(t).length>0||i?.length){y=!0,s&&s.setIsApplyingRemote(!0);try{if(e.replace){const e={...r};let n=!1;if(i?.length){n=!0;for(const t of i)delete e[t],u.delete(t)}for(const r in t){if(!Object.prototype.hasOwnProperty.call(t,r))continue;const o=t[r];void 0!==o&&(Object.is(e[r],o)||(n=!0),e[r]=o)}if(!n)return;await(s.setWithoutPersist??q)(e,!0)}else await(s.setWithoutPersist??q)(t)}finally{y=!1,s&&s.setIsApplyingRemote(!1)}}},k=e=>{r?S=S.then(()=>F(e)):F(e)};d=o.register({apply:e=>{w?k(e):l.push(e)},delta:n.delta,fields:v,getState:c,key:n.key});const A=()=>{g=!0,(()=>{if(d&&f.length){for(const e of f){const t=o.sessionId;for(const n of e.keys)u.set(n,[e.timestamp,t]);j(e.timestamp,e.keys),d.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values})}f.length=0}})()},C=()=>{w=!0,(()=>{if(!l.length)return;const e=l.slice();l.length=0;for(const t of e)k(t)})()};return r&&s?(s.onHydrationComplete=A,s.onHydrationFlushEnd=C):d.onHydrated?(d.onHydrated(A),C()):(A(),C()),I},syncContext:s}}(e,a,u?.async??!1):void 0,f=l?.stateCreator??e;if(!r)return i()(o(f),Object.is);const d=u?.async?function(e){let t,n,r,o=!1;return{hydrationPromise:()=>o?t?.promise??n??(n=Promise.resolve()):(t||(t=T()),t.promise),stateCreator:(n,s,i)=>{let c;return r=()=>{if(c?.length){for(const e of c)e[1]?i.setState(e[0],e[1]):i.setState(e[0]);c=void 0}},e((...e)=>o?!0===e[1]?n(e[0],e[1]):n(e[0]):(t||(t=T()),c||(c=[]),c.push(e),t.promise),s,i)},wrapOnRehydrateStorage:(e,n)=>s=>{const i=e?.(s);return(e,s)=>{o=!0,n?.onHydrationComplete?.(),r&&r(),n?.onHydrationFlushEnd?.(),s?t?.fail(g(s)):t?.complete(),i?.(e,s)}}}}(f):null,y=function(e,t,n){const r=t??e.storage??A().storage,o=(e.sync?void 0:e.persistThrottleMs??x)||void 0,s=e.version??0,i=r.async?function(e,t,n,r){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),s="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),i=t.partialize??L,c=t.deserializer??e.deserializer??R(o),a=t.serializer??e.serializer??$(o);async function u(t,n){try{if(V(r))return;n.state=i(n.state);const o=U(r,s,n),c=a(n);try{await e.set(t,c),B(r,o)}catch(e){p.error(new h("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){p.error(new h("[createBaseStore]: Failed to serialize persisted store data"),{error:e})}}const l=void 0!==n?M(u,n,{leading:!1,maxWait:n,trailing:!0}):function(e){let t,n=null;return function(...r){return t=r,n||(n=new Promise(r=>{queueMicrotask(async()=>{try{await e(...t)}finally{n=null,r()}})})),n}}(u);return{getItem:async t=>{const n=await e.get(t);return void 0===n?null:c(n)},setItem:async(e,t)=>{if(!r?.getIsApplyingRemote())return await l(e,t)},removeItem:async t=>{try{await e.delete(t)}catch(e){p.error(new h("[createBaseStore]: Failed to delete persisted store data"),{error:e})}}}}(r,e,o,n):function(e,t,n,r){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),s="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),i=t.partialize??L,c=t.deserializer??e.deserializer??R(o),a=t.serializer??e.serializer??$(o);function u(t,n){try{if(V(r))return;n.state=i(n.state);const o=U(r,s,n),c=a(n);try{e.set(t,c),B(r,o)}catch(e){p.error(new h("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){p.error(new h("[createBaseStore]: Failed to persist store data"),{error:e})}}const l=void 0!==n?M(u,n,{leading:!1,maxWait:n,trailing:!0}):u;return{getItem:t=>{const n=e.get(t);return void 0===n?null:c(n)},setItem:(e,t)=>{r?.getIsApplyingRemote()||l(e,t)},removeItem:t=>{try{e.delete(t)}catch(e){p.error(new h("[createBaseStore]: Failed to delete persisted store data"),{error:e})}}}}(r,e,o,n);return{persistStorage:i,version:s}}(n,u,l?.syncContext),b=d?d.wrapOnRehydrateStorage(n.onRehydrateStorage,l?.syncContext):n.onRehydrateStorage,m=d?(e,t,n)=>(l&&(l.syncContext.setWithoutPersist=n.setState),d.stateCreator(e,t,n)):f,v=i()(o(s(m,function(e,t,n){const r={name:e.storageKey,onRehydrateStorage:n,storage:t.persistStorage,version:t.version};return void 0!==e.merge&&(r.merge=e.merge),void 0!==e.migrate&&(r.migrate=e.migrate),r}(n,y,b))),Object.is);return d?Object.assign(v,{persist:Object.assign(v.persist,{hydrationPromise:d.hydrationPromise})}):v}function ae(e,t,n){const r=t.get(e);if(!r){const r=function(e,t,n,r=[]){return e&&"object"==typeof e?ue(e,r,t,n,new WeakSet,new WeakMap):(n(t,r,!0),e)}(J(e)?e.getSnapshot():e.getState(),e,n);return t.set(e,r),r}return r}function ue(e,t,n,r,o,s){return new Proxy(e,{get(i,c,a){if(o.has(i))return Reflect.get(i,c,a);if("__proto__"===c||"symbol"==typeof c)return c===Symbol.iterator&&(r(n,t,!0),o.add(i)),Reflect.get(i,c,a);const u=Reflect.get(i,c,i),l=String(c),f=t.concat(l);if("function"==typeof u)return Object.prototype.hasOwnProperty.call(i,c)?function(...e){return r(n,f,!0,{method:l,args:e.length?e:void 0}),Reflect.apply(u,i,e)}:(r(n,t,!0),u.bind(e));const d=!!u&&"object"==typeof u;return r(n,f,!d),d?(s.has(u)||s.set(u,ue(u,f,n,r,o,s)),s.get(u)):u},getOwnPropertyDescriptor:(e,s)=>(r(n,t,!0),o.add(e),Reflect.getOwnPropertyDescriptor(e,s)),has:(e,o)=>(r(n,t,!0),Reflect.has(e,o)),ownKeys:e=>(r(n,t,!0),o.add(e),Reflect.ownKeys(e))})}function le(e){return t=>de(t,e)}function fe(e,t){const n=e.slice(0,-1);return e=>{const r=de(e,n),o=r?.[t.method];return"function"==typeof o?o.apply(r,t.args):void 0}}function de(e,t){let n=e;for(const e of t){if(!n||"object"!=typeof n)return n;n=n[e]}return n}function ye(){const e=new Map;return{buildProxySubscriptions(t,n){const r=new Set;for(const[t,n]of e)ge(n,t,[],0,r);!function(e,t,n){for(const n of e)t(n.store,n.invocation?fe(n.path,n.invocation):le(n.path));n&&e.size}(r,t,n)},trackPath(t,n,r,o){let s=e.get(t);s||(s=he(),e.set(t,s)),pe(s,n,0,r,o)}}}function he(){return Object.create(null)}function pe(e,t,n,r,o){if(n===t.length)return r&&(e.isLeaf=!0),void(o&&(e.invocation=o));e.children||(e.children=he());const s=t[n];let i=e.children?.[s];i||(i=he(),e.children[s]=i),pe(i,t,n+1,r,o)}function ge(e,t,n,r,o,s=1){const i=e.children;if(!i)return void o.add({store:t,path:n,invocation:e.invocation,isLeaf:e.isLeaf??!1});const c=Object.keys(i),a=c.length;if(0!==a)if(e.isLeaf||r>=s&&a>1){o.add({store:t,path:n,invocation:e.invocation,isLeaf:e.isLeaf??!1});for(const e of c){const c=i[e];c.invocation&&ge(c,t,[...n,e],r+1,o,s)}}else if(r<s&&a>1&&!e.isLeaf)for(const e of c)ge(i[e],t,[...n,e],r+1,o,s);else{if(1===a){const e=c[0];return void ge(i[e],t,[...n,e],r+1,o,s)}o.add({store:t,path:n,invocation:e.invocation,isLeaf:e.isLeaf??!1})}else o.add({store:t,path:n,invocation:e.invocation,isLeaf:e.isLeaf??!1})}var be=!1,me=!1,ve=new Map,Se=new Map,we=new Map,je=null,Oe=1/0;function qe(){return be}function Ie(){return je}function Fe(){be||(be=!0,me||(me=!0,queueMicrotask(()=>{me=!1,(()=>{for(;Se.size>0;){const e=Oe,t=we.get(e);if(t){we.delete(e);for(const e of t)Se.delete(e);je=e;for(const e of t)e();if(je=null,we.size>0){Oe=1/0;for(const e of we.keys())e<Oe&&(Oe=e)}else Oe=1/0}else{Oe=1/0;for(const e of we.keys())e<Oe&&(Oe=e)}}for(;ve.size>0;){const e=Array.from(ve.values());ve.clear();for(const t of e)t()}})(),be=!1,je=null,Se.clear(),we.clear(),Oe=1/0})))}function ke(e,t){be&&ve.set(e,t)}var Ae=e=>e;function Ce(e,t=Object.is){return n=function(e,t=Object.is){const{debounceOptions:n,debugMode:r,equalityFn:o,keepAlive:s,lockDependencies:i}="function"==typeof(u=t)?{debounceOptions:void 0,debugMode:!1,equalityFn:u,keepAlive:!1,lockDependencies:!1}:{debounceOptions:u.debounce,debugMode:false,equalityFn:u.equalityFn??Object.is,keepAlive:u.keepAlive??!1,lockDependencies:u.lockDependencies??!1},c=String(ze+=1),a=new Set;var u;s&&a.add(Ke);const l=new Set;let f,d,y=Te,h=!1,p=!0,g=!0,b=!0,m=0,v=!1,S=null,w=Te;function j(e,t,n){if(!b||!a.size)return(t??Ae)(J(e)?e.getSnapshot():e.getState());if(!t)return f||(f=new WeakMap),d||(d=ye()),ae(e,f,d.trackPath);const r=e.subscribe(t,K,{equalityFn:n??Object.is,isDerivedStore:!0});return l.add(r),t(J(e)?e.getSnapshot():e.getState())}function O(e){for(const t of l)t(e);l.clear()}function q(){if(!g&&Me(y))return y;g=!1,b&&O(!0);const t=y,n=Me(t);y=function(t){p=!0;const n=y,r=e(t);return Me(n)&&o(n,r)?(p=!1,n):r}(j);const s=r&&(!n||"verbose"===r&&b);return s&&l.size,d&&b&&(d.buildProxySubscriptions((e,t)=>{const n=e.subscribe(t,K,{equalityFn:Object.is,isDerivedStore:!0});l.add(n)},s),f=void 0,d=void 0),p&&n&&function(e,t){const n=function(){const e=a.has(Ke)?a.size-1:a.size;return m>0&&m<e}(),r=!m||n,o=n||null!==Ie()||qe()&&r;n&&Fe();for(const t of a){if("function"==typeof t||!t.isDerivedWatcher)continue;const n=t.selector(e);if(!t.equalityFn(t.currentSlice,n)){const e=t.currentSlice;t.currentSlice=n,t.listener(n,e)}}o?v||(v=!0,Me(w)||(w=t),ke(c,F)):I(e,t)}(y,t),i&&(b=!1),y}function I(e,t){for(const n of a)if("function"==typeof n)n(e,t);else if(!n.isDerivedWatcher){const t=n.selector(e);if(!n.equalityFn(n.currentSlice,t)){const e=n.currentSlice;n.currentSlice=t,n.listener(t,e)}}}function F(){a.size&&(v&&function(){if(g&&!m&&q(),!Me(y))return;const e=Me(w)?w:y;I(y,e)}(),v=!1,w=Te)}const k=n?M(C,"number"==typeof n?n:n.delay,"number"==typeof n?{leading:!1,maxWait:n,trailing:!0}:n):void 0,A=k??(()=>{h||(h=!0,queueMicrotask(C))});function C(){a.size&&(h=!1,g&&q())}function T(e){e?queueMicrotask(()=>{a.size||D()}):D()}function z(){C(),S=null}function K(){if(!g){if(g=!0,!k){if(m){Fe();const e=Ie(),t=null===e?0:e+1;if(null!==S&&t<=S)return;return S=t,void function(e,t){if(!be)return;const n=t<0?0:0|t,r=Se.get(e);if(void 0===r){Se.set(e,n);let t=we.get(n);return t||(t=new Set,we.set(n,t)),t.add(e),void(n<Oe&&(Oe=n))}if(n>r){const t=we.get(r);if(t&&(t.delete(e),0===t.size&&(we.delete(r),r===Oe))){Oe=1/0;for(const e of we.keys())e<Oe&&(Oe=e)}Se.set(e,n);let o=we.get(n);o||(o=new Set,we.set(n,o)),o.add(e),n<Oe&&(Oe=n)}}(z,t)}if(qe())return void(v||(v=!0,Me(y)&&(w=y),ke(c,F)))}S=null,m&&!n?q():A()}}function E(){return g||!Me(y)?a.size>0?q():e(j):y}function D(e=!0){s&&e||(k?.cancel(),O(),a.clear(),m=0,d=void 0,f=void 0,b=!0,h=!1,g=!0,y=Te,v=!1,w=Te,S=null)}return{destroy:()=>D(!1),flushUpdates:function(){a.size&&(k?k.flush():g&&q())},getSnapshot:function(){if(!Me(y)){a.add(Ke);const e=q();return a.delete(Ke),e}return h&&C(),y},getState:E,subscribe:function(...e){if(1===e.length){const t=e[0];return a.add(t),1!==a.size||Me(y)||E(),()=>{a.delete(t),a.size||T(!1)}}const[t,n,r]=e,o=r?.equalityFn??Object.is,s=r?.isDerivedStore??!1,i={currentSlice:void 0,equalityFn:o,isDerivedWatcher:s,listener:n,selector:t};return a.add(i),i.currentSlice=t(E()),s&&(m+=1),r?.fireImmediately&&n(i.currentSlice,i.currentSlice),()=>{a.delete(i),s&&(m-=1),a.size||T(s)}},getInitialState:()=>{throw new Error("[createDerivedStore]: getInitialState() is not available on derived stores.")},setState:()=>{throw new Error("[createDerivedStore]: setState() is not available on derived stores.")}}}(e,t),Object.assign(function(e=Ae,t=void 0){return c(n.subscribe,n.getSnapshot,void 0,e,t)},n);var n}var Te=Symbol(),ze=0;function Ke(){}function Me(e){return e!==Te}var Ee=class{constructor({disableAutoRefetching:e,initialEnabled:t}){this.count=0,this.enabled=!1,this.lastSubscriptionTime=null,this.fetchThrottleMs=null,this.onSubscribe=null,this.onLastUnsubscribe=null,this.enabled=t,e&&(this.fetchThrottleMs=P.seconds(5))}init({onSubscribe:e,onLastUnsubscribe:t}){this.onSubscribe=e,this.onLastUnsubscribe=t}get(){return{enabled:this.enabled,lastSubscriptionTime:this.lastSubscriptionTime,subscriptionCount:this.count}}setEnabled(e){this.enabled=e}subscribe(){const e=0===this.count,t=null!==this.fetchThrottleMs&&null!==this.lastSubscriptionTime&&!e&&Date.now()-this.lastSubscriptionTime<=this.fetchThrottleMs;return this.onSubscribe?.(this.enabled,e,t),this.count+=1,this.lastSubscriptionTime=Date.now(),e=>{const t=1===this.count;this.count=Math.max(this.count-1,0),t&&(this.onLastUnsubscribe?.(e),this.lastSubscriptionTime=null)}}},De={Error:"error",Idle:"idle",Loading:"loading",Success:"success"};function Le(e,t){if("object"!=typeof e||null==e||"object"!=typeof t||null==t)return e===t;if(Object.is(e,t))return!0;const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!(r in t)||!Le(e[r],t[r]))return!1;return!0}function Pe(e,t){if("object"!=typeof e||null==e||"object"!=typeof t||null==t)return e===t;if(Object.is(e,t))return!0;const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!Object.is(e[r],t[r]))return!1;return!0}function xe(e,t){const n=Object.prototype.hasOwnProperty;function r(e,t){for(const n of e.keys())if(xe(n,t))return n}let o,s,i;if(e===t)return!0;if(e&&t&&(o=e.constructor)===t.constructor){if(o===Date)return e.getTime()===t.getTime();if(o===RegExp)return e.toString()===t.toString();if(o===Array){if((s=e.length)===t.length)for(;s--&&xe(e[s],t[s]););return-1===s}if(o===Set){if(e.size!==t.size)return!1;for(let n of e){if(i=n,i&&"object"==typeof i&&(i=r(t,i),!i))return!1;if(!t.has(i))return!1}return!0}if(o===Map){if(e.size!==t.size)return!1;for(let n of e){if(i=n[0],i&&"object"==typeof i&&(i=r(t,i),!i))return!1;if(!xe(n[1],t.get(i)))return!1}return!0}if(o===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(o===DataView){if((s=e.byteLength)===t.byteLength)for(;s--&&e.getInt8(s)===t.getInt8(s););return-1===s}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){const n=e,r=t;if((s=n.byteLength)===r.byteLength)for(;s--&&n[s]===r[s];);return-1===s}if(!o||"object"==typeof e){s=0;for(const r in e){if(n.call(e,r)&&++s&&!n.call(t,r))return!1;if(!(r in t)||!xe(e[r],t[r]))return!1}return Object.keys(t).length===s}}return e!=e&&t!=t}var Re=new WeakMap,$e=new WeakMap;function We(e,t=Ue,n=xe){return function(e,t,n){let r=$e.get(e);r||(r=new Map,$e.set(e,r));let o=r.get(t);o||(o=new Map,r.set(t,o));const s=o.get(n);if(s)return s;const[i,c,a]=Ve(e,t,n),u=new Map,l=e=>{const t={get(t,n){if("value"===n){let t=c();const n=e.split(".");for(const e of n)e&&(t=t[e]);return t}const r="string"==typeof n?n:n.toString(),o=e?`${e}.${r}`:r,s=u.get(o);if(s)return s;const a=l(o);return Re.set(a,i),u.set(o,a),a},set(t,n,r){const o=e.split(".");return""===o[0]&&o.shift(),a(o,r),!0}};return new Proxy(Object.create(null),t)},f=l("");return i(()=>{}),Re.set(f,i),o.set(n,f),f}(e,t,n)}var Ue=e=>e,Be=(e,t,n)=>{if(!t.length)return n;const[r,...o]=t,s=e[r],i=Be(s,o,n);if(xe(s,i))return e;const c=Array.isArray(e)?e.slice():{...e};return c[r]=i,c},Ve=(e,t,n)=>{const r=new Set,o=J(e);let s,i=t(o?e.getSnapshot():e.getState());return[c=>(r.size||(s=e.subscribe(t,e=>{i=e,r.forEach(e=>e())},{equalityFn:n,isDerivedStore:o})),r.add(c),()=>{r.delete(c),!r.size&&s&&(s(),s=void 0)}),()=>(r.size||(i=t(e.getState())),i),(n,r)=>{if(t!==Ue)throw new Error("Cannot set a value with a selector");e.setState(e=>Be(e,n,r),!0)}]},[Qe,He]=[!0,!1],Ne={error:Qe,lastFetchedAt:Qe,queryCache:Qe,queryKey:Qe,status:Qe,enabled:He,fetch:He,getCacheEntry:He,getData:He,getStatus:He,isDataExpired:He,isStale:He,reset:He};function _e(t,n,r){const o="function"==typeof n?n:nt,s="object"==typeof n?n:r,i=s&&"storageKey"in s?s:void 0,{fetcher:c,onError:a,onFetched:u,setData:l,transform:f,abortInterruptedFetches:d=!0,cacheTime:y=P.days(7),debugMode:b=!1,disableAutoRefetching:m=!1,disableCache:v=!1,enabled:S=!0,keepPreviousData:w=!1,maxRetries:j=5,paramChangeThrottle:O=!1,params:q,retryDelay:I=Je,suppressStaleTimeWarning:F=!1,useParsableQueryKeys:k=!0}=t;let A="function"==typeof t.staleTime?P.minutes(2):t.staleTime??P.minutes(2);const C=k?Ze:Ye,T=new Error("[createQueryStore: AbortError] Fetch interrupted"),z="function"==typeof y,K=Object.keys(t.params??Object.create(null));let E=null,D=null,L=null,x=[],R=!1,$=!1,W=null,U=null,B=null,V=null,Q=null;const H={enabled:"function"!=typeof S&&S,error:null,lastFetchedAt:null,queryCache:{},queryKey:"",status:De.Idle},N=new Ee({disableAutoRefetching:m,initialEnabled:H.enabled}),_=()=>{W&&(U=null,W.abort(),W=null)},J=(e,n,r)=>{const s=r.setState,b=(e,t)=>{const n="function"==typeof e;if(n||void 0!==e.enabled){let t;const o=s(o=>{const s=n?e(o):e,i=void 0!==s.enabled?s.enabled:o.enabled;return i!==o.enabled&&(t=()=>((e,t)=>{e!==t&&Q!==t&&(Q=t,N.setEnabled(t),t?queueMicrotask(()=>r.getState().fetch(void 0,{updateQueryKey:!0})):(B||d)&&(d&&_(),B&&(clearTimeout(B),B=null)))})(o.enabled,i)),s});return t?.(),o}return s(e)};r.setState=b,N.init({onSubscribe:(r,o,s)=>{if(D||E||!q&&"function"!=typeof t.enabled&&"function"!=typeof t.staleTime){if(r)if(o){const t=tt(E,D),r=C(t),o=n();o.queryKey!==r&&e(e=>({...e,queryKey:r})),o.isStale()?O.fetch(t,void 0,!0):S(t,void 0)}else m&&!s&&O.fetch(void 0,void 0,!0)}else R=!0},onLastUnsubscribe:e=>{B&&(clearTimeout(B),B=null),d&&!e&&_()}});const S=(e,t)=>{if(m||t?.skipStoreUpdates)return;if(A<=0||A===1/0)return;B&&(clearTimeout(B),B=null);const r=C(e),o=n(),s=(v?V===r&&o.lastFetchedAt:o.queryCache[r]?.lastFetchedAt)||null,i=s?A-(Date.now()-s):A;B=setTimeout(()=>{const t=N.get();t.enabled&&t.subscriptionCount>0&&O.fetch(e,{force:!0},!0)},i)},O={...o(b,n,r),...H,async fetch(t,r,o=!1){const s=N.get();if(!r?.force&&!r?.skipStoreUpdates&&!s.enabled)return null;const m=n(),q=m.error,F=m.queryKey,k=m.status,M=et(E,D,K,t),L=C(M),P=r?.staleTime??A,x=k===De.Loading,R=!!r?.skipStoreUpdates,$="boolean"==typeof r?.updateQueryKey?r.updateQueryKey:o?w:!R,Q=o||!R&&($||F===L);if(U?.promise&&U.key===L&&x)return U.promise;if(d&&!R&&!1!==r?.updateQueryKey&&_(),!r?.force){const t=m.lastFetchedAt,n=m.queryCache[L],o=n?.lastFetchedAt,i=n?.errorInfo,c=i&&i.retryCount>=j,a=(v?V===L&&t:o)||null;if(a&&!(Date.now()-a>=P)&&(!i||c||R))return Q&&!R&&!B&&s.subscriptionCount>0&&0!==A&&A!==1/0&&S(M,r),$&&e(e=>e.queryKey!==L?{...e,queryKey:L}:e),n?.data??null}!R&&Q&&(B&&(clearTimeout(B),B=null),!q&&x||e(e=>({...e,error:null,status:De.Loading})),U={key:L});const H=r?.cacheTime??(z?y(M):y),J=async()=>{try{const t=await(d&&!R&&Q?(async e=>{const t=new AbortController;W=t;try{return await new Promise((n,r)=>{t.signal.addEventListener("abort",()=>r(T),{once:!0}),Promise.resolve(c(e,t)).then(n,r)})}finally{W===t&&(W=null)}})(M):c(M,null)),n=Date.now();let o;try{o=f?f(t,M):t}catch(e){throw new h(`[createQueryStore: ${i?.storageKey||L}]: transform failed`,e)}if(R)return"withCache"===r.skipStoreUpdates&&e(e=>{if(!l)return v?{...e,queryCache:{...e.queryCache,[L]:{cacheTime:H,data:o,errorInfo:null,lastFetchedAt:n}}}:e;let t=e;const r=t.queryCache[L];return l({data:o,params:M,queryKey:L,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!v&&Object.is(r,t.queryCache[L])&&(t={...t,queryCache:{...t.queryCache,[L]:{cacheTime:H,data:o,errorInfo:null,lastFetchedAt:n}}}),t}),o;if((l?b:e)(e=>{let t={...e,error:null,lastFetchedAt:n,queryKey:$?L:e.queryKey,status:De.Success};if(l||v){if(l){const e=t.queryCache[L];l({data:o,params:M,queryKey:L,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!v&&Object.is(e,t.queryCache[L])&&(t.queryCache={...t.queryCache,[L]:{cacheTime:H,data:null,errorInfo:null,lastFetchedAt:n}})}}else t.queryCache={...t.queryCache,[L]:{cacheTime:H,data:o,errorInfo:null,lastFetchedAt:n}};return v||y===1/0?t:rt(w,L,t)}),Q&&(V=L,S(M,r)),u)try{u({data:o,fetch:O.fetch,params:M,set:b})}catch(e){p.error(new h(`[createQueryStore: ${i?.storageKey||L}]: onFetched callback failed`,e))}return o??null}catch(s){if(s===T)return null;const c=!o&&!0===r?.throwOnError,u=g(s);if(R||!Q){if(p.error(new h(`[createQueryStore: ${i?.storageKey||L}]: Failed to fetch data`,u)),c)throw u;return null}const l=v?void 0:n().queryCache[L],f=l?.errorInfo?.retryCount??0,d=f+1;if(a?.(u,f),f<j){if(N.get().subscriptionCount>0){const e="function"==typeof I?I(d,u):I;e!==1/0&&(B&&clearTimeout(B),B=setTimeout(()=>{const{enabled:e,subscriptionCount:n}=N.get();e&&n>0&&O.fetch(t,{force:!0},!0)},e))}e(e=>({...e,error:u,queryCache:{...e.queryCache,[L]:{cacheTime:l?.cacheTime??H,data:l?.data??null,lastFetchedAt:l?.lastFetchedAt??null,errorInfo:{error:u,lastFailedAt:Date.now(),retryCount:d}}},queryKey:$?L:e.queryKey,status:De.Error}))}else e(e=>({...e,error:u,queryCache:{...e.queryCache,[L]:{cacheTime:l?.cacheTime??H,data:l?.data??null,lastFetchedAt:l?.lastFetchedAt??null,errorInfo:{error:u,lastFailedAt:Date.now(),retryCount:j}}},queryKey:$?L:e.queryKey,status:De.Error}));if(p.error(new h(`[createQueryStore: ${i?.storageKey||L}]: Failed to fetch data`,u)),c)throw u;return null}finally{!R&&Q&&(U=null)}};return R||!Q?J():(U={key:L,promise:J()}).promise},getCacheEntry(e){if(v)return null;const t=n(),r=e?"string"==typeof e?e:C(et(E,D,K,e)):t.queryKey;return t.queryCache[r]??null},getData(e){if(v)return null;const t=n().getCacheEntry(e);return t&&null!==t.data?w?t.data:t.lastFetchedAt&&Date.now()-t.lastFetchedAt>=t.cacheTime?null:t.data:null},getStatus:function(e){switch(e){case"isIdle":return n().status===De.Idle;case"isLoading":return n().status===De.Loading;case"isSuccess":{const e=n(),t=e.queryCache[e.queryKey]?.lastFetchedAt;return"number"==typeof t||e.status===De.Success}case"isError":case"isInitialLoad":case void 0:{const t=n(),r=t.queryCache[t.queryKey],o=(v?V===t.queryKey&&t.lastFetchedAt:r?.lastFetchedAt)||null,s=t.status;switch(e){case"isError":{const e=t.queryCache[t.queryKey];return v?"error"!==s:"number"==typeof e?.errorInfo?.lastFailedAt}case"isInitialLoad":return!o&&s===De.Loading}return{isError:s===De.Error,isIdle:s===De.Idle,isLoading:s===De.Loading,isInitialLoad:!o&&s===De.Loading,isSuccess:s===De.Success}}}},isDataExpired(e){const t=n(),r=t.queryCache[t.queryKey],o=t.queryKey,s=t.lastFetchedAt,i=(v?V===o&&s:r?.lastFetchedAt)||null;if(!i)return!0;const c=e??r?.cacheTime;return void 0===c||Date.now()-i>=c},isStale(e){const t=n(),r=t.queryKey,o=(v?V===r&&t.lastFetchedAt:t.queryCache[r]?.lastFetchedAt)||null;if(!o)return!0;const s=e??A;return Date.now()-o>=s},reset(t=!1){for(const e of x)e();x=[],E=null,D=null,L=null,_(),B&&(clearTimeout(B),B=null),U=null,V=null,t&&e(e=>({...e,...H}))}},F=r.subscribe;return r.subscribe=(...e)=>{const t=$?()=>{}:N.subscribe(),n=1===e.length?F(e[0]):F(...e);return e=>{t(e),n()}},O},Y=i?.storageKey?ce(J,Object.assign(Object.create(null),i,{partialize:it(w,i.partialize)})):s&&!("storageKey"in s)?ce(J,s):ce(J),Z=Y.getState(),G=Z.error,X=Z.enabled,ee=Z.queryKey;if(ee&&!G&&(V=ee),$=!0,q||"function"==typeof t.enabled){const{directValues:t,enabledAttachVal:n,enabledDirectValue:r,attachVals:o}=function(t,n,r){const o=Object.create(null),s=Object.create(null),i=Object.create(null);for(const t in n){if(!e(n,t))continue;const c=n[t];if(ot(c)){const e=c(We,r);o[t]=e,i[t]=e.value}else st(c)&&(s[t]=c,i[t]=c)}let c,a=null,u=null;if(ot(t)){const e=t(We,r);c=e.value,a=e}else c=t,u=t;return{attachVals:o,directValues:s,enabledAttachVal:a,enabledDirectValue:u,resolvedEnabled:c,resolvedParams:i}}(S,q,Y);E={enabled:n,params:o},D={enabled:r,params:t}}"function"==typeof t.staleTime&&(L=t.staleTime(We,Y),A=L.value);const te=function(){let e,t=!1;return function(...n){e=n,t||(t=!0,queueMicrotask(()=>{t=!1,(e=>{Z.fetch(e??tt(E,D),{updateQueryKey:w})})(...e)}))}}();function ne(){let e;if(!w){e=tt(E,D);const t=C(e);Y.setState(e=>({...e,queryKey:t}))}te(e)}const re=O?M(ne,"number"==typeof O?O:O.delay,"number"==typeof O?{leading:!1,maxWait:O,trailing:!0}:O):ne;if(E?.enabled){const e=E.enabled,t=Re.get(e);if(t){let n=e.value;X!==n&&Y.setState(e=>({...e,enabled:n})),n&&N.setEnabled(n);const r=t(()=>{const t=e.value;t!==n&&(n=t,Y.setState(e=>({...e,enabled:t})))});x.push(r)}}else X!==H.enabled&&Y.setState(e=>({...e,enabled:H.enabled}));for(const e in E?.params){const t=E.params[e];if(!t)continue;const n=Re.get(t);if(n){let e=t.value;const r=n(()=>{const n=t.value;xe(e,n)||(e=n,re())});x.push(r)}}if(L){const e=Re.get(L);if(e){const t=L;let n=t.value;const r=e(()=>{const e=t.value;e!==n&&(n=e,A=e,Y.getState().fetch())});x.push(r)}}return $=!1,R&&queueMicrotask(re),oe=Y,se="_queryStore",Object.assign(oe,{[se]:!0});var oe,se}function Je(e,t){const n=t?.baseDelay??P.seconds(5),r=t?.maxDelay??P.minutes(5),o=Math.pow(2,e);return Math.min(n*o,r)}function Ye(e){return JSON.stringify(Object.keys(e).sort().map(t=>e[t]))}function Ze(e){return JSON.stringify(Xe(e))}function Ge(e){return JSON.parse(e)}function Xe(e){return"object"!=typeof e||null===e?e:Object.keys(e).sort().reduce((t,n)=>{const r=e[n];return t[n]=null!==r&&"object"==typeof r?Xe(r):r,t},{})}function et(e,t,n,r){return r?function(e,t){if(!e)return!1;for(const n of t)if(!(n in e))return!1;return!0}(r,n)?r:{...tt(e,t),...r}:tt(e,t)}function tt(e,t){const n=t?.params??Object.create(null);for(const t in e?.params){const r=e.params[t];r&&(n[t]=r.value)}return n}function nt(){return Object.create(null)}function rt(t,n,r){if(!r.queryCache)return r;const o=Date.now(),s=n??(t&&r.queryKey||null);let i=!1;const c=Object.create(null);for(const t in r.queryCache){if(!e(r.queryCache,t))continue;const a=r.queryCache[t];a&&(o-(a.lastFetchedAt??a.errorInfo.lastFailedAt)<a.cacheTime||t===s)?!n&&a.errorInfo&&a.errorInfo.retryCount>0?(c[t]={...a,errorInfo:{...a.errorInfo,retryCount:0}},i=!0):c[t]=a:i=!0}return i?{...r,queryCache:c}:r}function ot(e){return"function"==typeof e}function st(e){return!ot(e)}function it(t,n){return r=>{const o={...r},s={};for(const t in o)e(o,t)&&t in Ne&&(Ne[t]&&(s[t]=o[t]),delete o[t]);return{...n?n(o):L(o),...rt(t,null,s)}}}function ct(e,t,n){const r="function"==typeof t,o=r?t:void 0,s=r?n:t,i=new Set,c=Ce(e,{debugMode:s?.debugMode??!1,equalityFn:function(e,t){const n=Object.is(e,t);return n||(function(e,t){for(const n of i){n.unsubscribe();const r=n.args;if(1===r.length){const o=r[0],s=e.getState(),i=t.getState(),c=t.subscribe(o);n.unsubscribe=c,Object.is(i,s)||o(i,s);continue}const o=r[0],s=r[1];let i=r[2];i?.fireImmediately&&(i={...i,fireImmediately:!1});const c=i?.equalityFn??Object.is,a=o(e.getState()),u=o(t.getState()),l=t.subscribe(...r);n.unsubscribe=l,c(a,u)||s(u,a)}}(e,t),H(e)),n},keepAlive:!0,lockDependencies:s?.lockDependencies??!0}),a=c.getState().persist,u=(l=c.getState,function(e,t){return t?l().setState(e,t):l().setState(e)});var l;return Object.assign(function(e,t){const n=c();return e?n(e,t):n()},{_virtualStore:!0,destroy:()=>c.destroy(),getInitialState:()=>c.getState().getInitialState(),getState:()=>c.getState().getState(),persist:a,setState:u,subscribe:function(...e){const t={args:e,unsubscribe:1===e.length?c.getState().subscribe(e[0]):c.getState().subscribe(...e)};return i.add(t),()=>{t.unsubscribe(),i.delete(t)}}},o?o(c.getState):void 0)}P.seconds(5);var at=Symbol(),ut=Object.freeze({debugMode:!1,enabled:!0,equalityFn:Object.is,fireImmediately:!1});function lt(e,t,n,r=ut){const o=function(){const e=u(at);return e.current===at&&(e.current=function(e,t,n){return{selector:e,react:t,isActive:!1,options:yt(n),resubscribe:()=>{},unsubscribe:()=>{}}}(t,n,r)),e}(),s=function(e){return"function"==typeof e?ut.enabled:e?.enabled??ut.enabled}(r);return o.current.react=n,o.current.selector=t,function(e,t){"function"==typeof t?e.current.options.equalityFn=t:t&&(e.current.options=t??ut)}(o,r),a(()=>{if(s)return dt(e,o),()=>function(e){e.current.options.debugMode,e.current.resubscribe=()=>{},e.current.unsubscribe(),e.current.unsubscribe=()=>{},e.current.isActive=!1}(o)},[s,e]),o}var ft=Object.freeze({fireImmediately:!1,forceResubscribe:!1});function dt(e,t,n=ft){if(t.current.isActive){if(!n?.forceResubscribe)return;t.current.unsubscribe()}t.current.options.debugMode,t.current.isActive=!0,t.current.resubscribe=(n=ft)=>dt(e,t,n);const r=e.subscribe(e=>t.current.selector(e),(e,n)=>t.current.react(e,n,()=>{r(),t.current.isActive=!1}),n.fireImmediately?{...t.current.options,fireImmediately:!0}:t.current.options);t.current.unsubscribe=()=>{t.current.isActive&&(r(),t.current.isActive=!1)}}function yt(e){return"function"==typeof e?{equalityFn:e}:e??ut}var ht=Symbol();function pt(e){const t=u(ht);return t.current===ht&&(t.current=e()),t.current}function gt(e,t){const n=function(e){const t=e.getState(),n=Object.create(null);if(X(e)){for(const r in t)mt(t,r)&&(n[r]=bt(e,r));return n}for(const e in t)mt(t,e)&&(n[e]=t[e]);return n}(e);return t?Object.assign(n,t):n}function bt(e,t){return function(...n){const r=e.getState()[t];if("function"==typeof r)return r(...n);throw new Error(`[createVirtualStoreAction]: Method ${String(t)} is not a function`)}}function mt(e,t){return"function"==typeof e[t]}export{De as QueryStatuses,Q as applyStateUpdate,k as configureStores,ce as createBaseStore,Ce as createDerivedStore,_e as createQueryStore,gt as createStoreActions,ct as createVirtualStore,Le as deepEqual,Je as defaultRetryDelay,H as destroyStore,N as destroyStores,Ye as getLegacyQueryKey,Ze as getQueryKey,_ as getStoreName,Z as isDerivedStore,G as isPersistedStore,Y as isQueryStore,X as isVirtualStore,Ge as parseQueryKey,Pe as shallowEqual,P as time,lt as useListen,pt as useStableValue};
|
|
1
|
+
import{IS_TEST as e,IS_BROWSER as t,IS_IOS as n,markStoreCreated as r,getStoresConfig as o,StoresError as i,IS_DEV as s,hasOwn as c,logger as a,ensureError as u,isPromiseLike as l,unstable_batchedUpdates as f,reviver as d,replacer as y}from"./chunk-B3GRBY25.mjs";export{configureStores,replacer,reviver}from"./chunk-B3GRBY25.mjs";import{subscribeWithSelector as p,persist as h}from"zustand/middleware";import{createWithEqualityFn as g}from"zustand/traditional";import{useSyncExternalStoreWithSelector as b}from"use-sync-external-store/shim/with-selector";import{useLayoutEffect as m,useRef as S}from"react";function v(){let e,t,n=!1;return{complete:function(){!n&&e&&(n=!0,e(),e=void 0,t=void 0)},isHydrated:function(){return n},fail:function(r){!n&&t&&(n=!0,t(r),t=void 0,e=void 0)},promise:new Promise((n,r)=>{e=n,t=r})}}var w=Math.max,O=Math.min;function j(e,t=0,n={}){let r,o,i,s,c,a,u=0,l=!1,f=!1,d=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function y(t){const n=r,i=o;return r=o=void 0,u=t,s=n?e.apply(i,n):e.apply(i),s}function p(e){const n=e-(a??0);return void 0===a||n>=t||n<0||f&&void 0!==i&&e-u>=i}function h(){const e=q();if(p(e))return g(e);c=setTimeout(h,function(e){const n=t-(e-(a??0));return f&&void 0!==i?O(n,i-(e-u)):n}(e))}function g(e){return c=void 0,d&&r?y(e):(r=o=void 0,s)}function b(...e){const n=q(),i=p(n);if(r=e,o=this,a=n,i){if(void 0===c)return function(e){return u=e,c=setTimeout(h,t),l?y(e):s}(a);if(f)return clearTimeout(c),c=setTimeout(h,t),y(a)}return void 0===c&&(c=setTimeout(h,t)),s}return t=F(t)||0,function(e){const t=typeof e;return null!==e&&("object"===t||"function"===t)}(n)&&(l=!!n.leading,f="maxWait"in n,i=f?w(F(n.maxWait)||0,t):void 0,d="trailing"in n?!!n.trailing:d),b.cancel=function(){void 0!==c&&clearTimeout(c),u=0,r=a=o=c=void 0},b.flush=function(){return void 0===c?s:g(q())},b}function q(){return"undefined"!=typeof performance&&"function"==typeof performance.now?performance.now():Date.now()}function F(e){if("number"==typeof e)return e;if("symbol"==typeof e||void 0===e)return NaN;if("object"==typeof e&&null!==e){const t="function"==typeof e.valueOf?e.valueOf():e;e="object"==typeof t?t+"":t}return"string"!=typeof e?0===e?e:+e:(e=e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),/^0b[01]+$/i.test(e)?parseInt(e.slice(2),2):/^0o[0-7]+$/i.test(e)?parseInt(e.slice(2),8):/^[-+]0x[0-9a-f]+$/i.test(e)?NaN:+e)}function C(e){if(null!==e&&"object"==typeof e){const t={};for(const[n,r]of Object.entries(e))"function"!=typeof r&&(t[n]=r);return t}return e}var A={ms:e=>e,seconds:e=>1e3*e,minutes:e=>A.seconds(60*e),hours:e=>A.minutes(60*e),days:e=>A.hours(24*e),weeks:e=>A.days(7*e),infinity:1/0,zero:0},I=e?0:t?A.ms(200):n?A.seconds(3):A.seconds(5);function k(e){return t=>{if("string"!=typeof t)throw new i("[createBaseStore]: Received non-string serialized state without a custom deserializer. Provide a deserializer on the store or storage adapter.");return function(e,t){try{return JSON.parse(e,t?d:void 0)}catch(e){throw a.error(new i("[createBaseStore]: Failed to deserialize persisted Rainbow store data"),{error:e}),e}}(t,e)}}function T(e){return t=>function(e,t){try{return JSON.stringify(e,t?y:void 0)}catch(e){throw a.error(new i("[createBaseStore]: Failed to serialize Rainbow store data"),{error:e}),e}}(t,e)}var z=Object.freeze({shouldClear:!1});function M(e,t,n){if(!t||!e)return z;const r=e.getFieldTimestampSnapshot();return function(e,t){const n=e.getSessionId(),r=e.getTimestamp();void 0!==n&&void 0!==r&&(t.syncMetadata={origin:n,timestamp:r})}(e,n),n.syncMetadata?r&&Object.keys(r).length>0?(n.syncMetadata.fields=r,{fieldSnapshot:r,shouldClear:!0}):(delete n.syncMetadata.fields,{fieldSnapshot:r,shouldClear:!1}):{fieldSnapshot:r,shouldClear:!1}}function D(e,t){e&&t.shouldClear&&t.fieldSnapshot&&Object.keys(t.fieldSnapshot).length&&e.clearFieldTimestamps(t.fieldSnapshot)}function K(e){return!!e&&!!e.getIsApplyingRemote()}function $(e,...t){return!0===t[1]?J(t[0])?t[0](e):t[0]:{...e,...J(t[0])?t[0](e):t[0]}}function E(e,t){x(e)?e.getState().reset(t?.clearQueryCache):function(e){return"destroy"in e}(e)&&e.destroy()}function P(e,t){for(const n of Array.isArray(e)?e:Object.values(e))n&&!t?.skipDestroy?.(n)&&E(n,t)}function L(e){return W(e)?e.persist.getOptions().name??e.name:e.name}function R(e){return"getSnapshot"in e}function x(e){return"_queryStore"in e}function N(e){return"flushUpdates"in e}function W(e){return"persist"in e}function B(e){return"_virtualStore"in e}function J(e){return"function"==typeof e}var[U,Q]=[0,1];function V(e,t,n){if(!e)return!0;const r=e[U],o=e[Q];return!(t<r)&&(t>r||n>o)}function H(e,t){return Object.prototype.hasOwnProperty.call(t,e)}function _(e,t){if(!s)return!0;if(null===e||null===t)return e===t;const n=typeof e;return n===typeof t&&("object"!==n||Object.prototype.toString.call(e)===Object.prototype.toString.call(t))}function G(e){if(null===e)return"null";const t=typeof e;return"object"===t?Object.prototype.toString.call(e):t}function Y(e,t){r();const n=void 0!==t&&"string"==typeof t.storageKey,s=n?t.storageKey:void 0,c=t?.sync?function(e,t){if(!e)return null;if(!0===e){if(!t)throw new i("[createBaseStore]: sync: true requires a storageKey to inherit the key from");return{key:t}}if("string"==typeof e)return{key:e};const n=e,r=n.key??t;if(!r)throw new i("[createBaseStore]: sync requires either a key in the config or a storageKey to inherit from");return{...n,key:r}}(t.sync,s):void 0,f=n?t.storage??o().storage:void 0,d=c?function(e,t,n){const r=t.engine??o().syncEngine,s=function(e){let t,n,r,o=!1;return{isAsync:e,clearFieldTimestamps:function(e){if(e&&r){for(const t of Object.entries(e)){const e=t[0],n=t[1];r[e]===n&&delete r[e]}Object.keys(r).length||(r=void 0)}},getFieldTimestampSnapshot:function(){if(r)return{...r}},getIsApplyingRemote:()=>o,getSessionId:()=>t,getTimestamp:()=>n,mergeFieldTimestamps:function(e){if(r)for(const t of Object.entries(e)){const e=t[0],n=t[1],o=r[e];(void 0===o||n>o)&&(r[e]=n)}else r={...e}},onHydrationComplete:void 0,onHydrationFlushEnd:void 0,setIsApplyingRemote:e=>o=e,setSessionId:e=>t=e,setTimestamp:e=>n=e,setWithoutPersist:void 0}}(n);return{stateCreator:(o,c,u)=>{const f=new Map,d=[],y=[];let p=null,h=!1,g=!1,b=0,m=null,S=[],v=Promise.resolve(),w=!n;const O=(e,t)=>{if(s?.setSessionId&&s?.setTimestamp&&r.sessionId&&(s.setSessionId(r.sessionId),s.setTimestamp(e),s.mergeFieldTimestamps&&t.length>0)){const n=Object.create(null);for(const r of t)n[String(r)]=e;s.mergeFieldTimestamps(n)}},j=function(e,t){if(h||!m)return t?o(e,t):o(e);const n=(()=>{const e=Date.now(),t=e>b?e:b+1;return b=t,t})();let i=[],s=Object.create(null);const c=r=>{const o=$(r,e,t);for(const e of S)Object.is(o[e],r[e])||(i.push(e),s[e]=o[e]);return i.length&&O(n,i),o},a=t?o(c,!0):o(c),u=()=>{i.length&&(e=>{const t=r.sessionId;for(const n of e.keys)f.set(n,[e.timestamp,t]);p&&g?p.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values}):y.push(e)})({keys:i,replace:t??!1,values:s,timestamp:n})};return l(a)?a.finally(u):(u(),a)},q=u.setState;u.setState=j;const F=e(j,c,u);if(S=t.fields??function(e){const t=[];for(const n of Object.entries(e)){if("function"==typeof n[1])continue;const e=n[0];t.push(e)}return t}(F),!S.length)return F;m=new Set(S);const C=async e=>{b=Math.max(b,e.timestamp);const n=Object.create(null),r=c(),o=e.timestamp;let u;if(e.replace)for(const t of S)H(t,e.values)||V(f.get(t),o,e.sessionId)&&(u??(u=[])).push(t);for(const s of S){if(!H(s,e.values))continue;if(!m?.has(s))continue;if(!V(f.get(s),o,e.sessionId))continue;const c=t.merge?.[s];if(c){const t=e.values[s],u=r[s];if(void 0!==t){const l=c(t,u,r,e.values),d=void 0!==u?u:t;if(!_(l,d))return void a.error(new i(`[sync] Merge function for field "${String(s)}" returned ${G(l)} but expected ${G(d)}`));n[s]=l,f.set(s,[o,e.sessionId])}}else n[s]=e.values[s],f.set(s,[o,e.sessionId])}if(Object.keys(n).length>0||u?.length){h=!0,s&&s.setIsApplyingRemote(!0);try{if(e.replace){const e={...r};let t=!1;if(u?.length){t=!0;for(const t of u)delete e[t],f.delete(t)}for(const r in n){if(!Object.prototype.hasOwnProperty.call(n,r))continue;const o=n[r];void 0!==o&&(Object.is(e[r],o)||(t=!0),e[r]=o)}if(!t)return;await(s.setWithoutPersist??q)(e,!0)}else await(s.setWithoutPersist??q)(n)}finally{h=!1,s&&s.setIsApplyingRemote(!1)}}},A=e=>{n?v=v.then(()=>C(e)):C(e)};p=r.register({apply:e=>{w?A(e):d.push(e)},delta:t.delta,fields:S,getState:c,key:t.key});const I=()=>{g=!0,(()=>{if(p&&y.length){for(const e of y){const t=r.sessionId;for(const n of e.keys)f.set(n,[e.timestamp,t]);O(e.timestamp,e.keys),p.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values})}y.length=0}})()},k=()=>{w=!0,(()=>{if(!d.length)return;const e=d.slice();d.length=0;for(const t of e)A(t)})()};return n&&s?(s.onHydrationComplete=I,s.onHydrationFlushEnd=k):p.onHydrated?(p.onHydrated(I),k()):(I(),k()),F},syncContext:s}}(e,c,f?.async??!1):void 0,y=d?.stateCreator??e;if(!n)return g()(p(y),Object.is);const b=f?.async?function(e){let t,n,r,o=!1;return{hydrationPromise:()=>o?t?.promise??n??(n=Promise.resolve()):(t||(t=v()),t.promise),stateCreator:(n,i,s)=>{let c;return r=()=>{if(c?.length){for(const e of c)e[1]?s.setState(e[0],e[1]):s.setState(e[0]);c=void 0}},e((...e)=>o?!0===e[1]?n(e[0],e[1]):n(e[0]):(t||(t=v()),c||(c=[]),c.push(e),t.promise),i,s)},wrapOnRehydrateStorage:(e,n)=>i=>{const s=e?.(i);return(e,i)=>{o=!0,n?.onHydrationComplete?.(),r&&r(),n?.onHydrationFlushEnd?.(),i?t?.fail(u(i)):t?.complete(),s?.(e,i)}}}}(y):null,m=function(e,t,n){const r=t??e.storage??o().storage,s=(e.sync?void 0:e.persistThrottleMs??I)||void 0,c=e.version??0,u=r.async?function(e,t,n,r){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),s="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),c=t.partialize??C,u=t.deserializer??e.deserializer??k(o),l=t.serializer??e.serializer??T(o);async function f(t,n){try{if(K(r))return;n.state,n.state=c(n.state);const o=M(r,s,n),u=l(n);try{await e.set(t,u),D(r,o)}catch(e){a.error(new i("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){a.error(new i("[createBaseStore]: Failed to serialize persisted store data"),{error:e})}}const d=void 0!==n?j(f,n,{leading:!1,maxWait:n,trailing:!0}):function(e){let t,n=null;return function(...r){return t=r,n||(n=new Promise(r=>{queueMicrotask(async()=>{try{await e(...t)}finally{n=null,r()}})})),n}}(f);return{getItem:async t=>{const n=await e.get(t);return void 0===n?null:u(n)},setItem:async(e,t)=>{if(!r?.getIsApplyingRemote())return await d(e,t)},removeItem:async t=>{try{await e.delete(t)}catch(e){a.error(new i("[createBaseStore]: Failed to delete persisted store data"),{error:e})}}}}(r,e,s,n):function(e,t,n,r){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),s="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),c=t.partialize??C,u=t.deserializer??e.deserializer??k(o),l=t.serializer??e.serializer??T(o);function f(t,n){try{if(K(r))return;n.state,n.state=c(n.state);const o=M(r,s,n),u=l(n);try{e.set(t,u),D(r,o)}catch(e){a.error(new i("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){a.error(new i("[createBaseStore]: Failed to persist store data"),{error:e})}}const d=void 0!==n?j(f,n,{leading:!1,maxWait:n,trailing:!0}):f;return{getItem:t=>{const n=e.get(t);return void 0===n?null:u(n)},setItem:(e,t)=>{r?.getIsApplyingRemote()||d(e,t)},removeItem:t=>{try{e.delete(t)}catch(e){a.error(new i("[createBaseStore]: Failed to delete persisted store data"),{error:e})}}}}(r,e,s,n);return{persistStorage:u,version:c}}(t,f,d?.syncContext),S=b?b.wrapOnRehydrateStorage(t.onRehydrateStorage,d?.syncContext):t.onRehydrateStorage,w=b?(e,t,n)=>(d&&(d.syncContext.setWithoutPersist=n.setState),b.stateCreator(e,t,n)):y,O=g()(p(h(w,function(e,t,n){const r={name:e.storageKey,onRehydrateStorage:n,storage:t.persistStorage,version:t.version};return void 0!==e.merge&&(r.merge=e.merge),void 0!==e.migrate&&(r.migrate=e.migrate),r}(t,m,S))),Object.is);return b?Object.assign(O,{persist:Object.assign(O.persist,{hydrationPromise:b.hydrationPromise})}):O}function X(e,t,n="s"){return 1===t?e:`${e}${n}`}function Z(e,t,n){const r=t.get(e);if(!r){const r=function(e,t,n,r=[]){return e&&"object"==typeof e?ee(e,r,t,n,new WeakSet,new WeakMap):(n(t,r,!0),e)}(R(e)?e.getSnapshot():e.getState(),e,n);return t.set(e,r),r}return r}function ee(e,t,n,r,o,i){return new Proxy(e,{get(s,c,a){if(o.has(s))return Reflect.get(s,c,a);if("__proto__"===c||"symbol"==typeof c)return c===Symbol.iterator&&(r(n,t,!0),o.add(s)),Reflect.get(s,c,a);const u=Reflect.get(s,c,s),l=String(c),f=t.concat(l);if("function"==typeof u)return Object.prototype.hasOwnProperty.call(s,c)?function(...e){return r(n,f,!0,{method:l,args:e.length?e:void 0}),Reflect.apply(u,s,e)}:(r(n,t,!0),u.bind(e));const d=!!u&&"object"==typeof u;return r(n,f,!d),d?(i.has(u)||i.set(u,ee(u,f,n,r,o,i)),i.get(u)):u},getOwnPropertyDescriptor:(e,i)=>(r(n,t,!0),o.add(e),Reflect.getOwnPropertyDescriptor(e,i)),has:(e,o)=>(r(n,t,!0),Reflect.has(e,o)),ownKeys:e=>(r(n,t,!0),o.add(e),Reflect.ownKeys(e))})}function te(e){return t=>re(t,e)}function ne(e,t){const n=e.slice(0,-1);return e=>{const r=re(e,n),o=r?.[t.method];return"function"==typeof o?o.apply(r,t.args):void 0}}function re(e,t){let n=e;for(const e of t){if(!n||"object"!=typeof n)return n;n=n[e]}return n}function oe(){const e=new Map;return{buildProxySubscriptions(t,n){const r=new Set;for(const[t,n]of e)ce(n,t,[],0,r);!function(e,t,n){for(const n of e)t(n.store,n.invocation?ne(n.path,n.invocation):te(n.path));n&&function(e){const t=e.size;console.log(`[π‘ ${t} ${X("Proxy Subscription",t)} π‘]:`,JSON.stringify(Array.from(e).map(e=>{const t=L(e.store),n=e.path.join(".");if(!e.invocation)return n?`$(${t}).${n}`:`$(${t})`;const r=e.invocation.args?.length??0;return`$(${t}).${n}${r?`(${r}_${X("arg",r)})`:"()"}`}),null,2))}(e)}(r,t,n)},trackPath(t,n,r,o){let i=e.get(t);i||(i=ie(),e.set(t,i)),se(i,n,0,r,o)}}}function ie(){return Object.create(null)}function se(e,t,n,r,o){if(n===t.length)return r&&(e.isLeaf=!0),void(o&&(e.invocation=o));e.children||(e.children=ie());const i=t[n];let s=e.children?.[i];s||(s=ie(),e.children[i]=s),se(s,t,n+1,r,o)}function ce(e,t,n,r,o,i=1){const s=e.children;if(!s)return void o.add({store:t,path:n,invocation:e.invocation,isLeaf:e.isLeaf??!1});const c=Object.keys(s),a=c.length;if(0!==a)if(e.isLeaf||r>=i&&a>1){o.add({store:t,path:n,invocation:e.invocation,isLeaf:e.isLeaf??!1});for(const e of c){const c=s[e];c.invocation&&ce(c,t,[...n,e],r+1,o,i)}}else if(r<i&&a>1&&!e.isLeaf)for(const e of c)ce(s[e],t,[...n,e],r+1,o,i);else{if(1===a){const e=c[0];return void ce(s[e],t,[...n,e],r+1,o,i)}o.add({store:t,path:n,invocation:e.invocation,isLeaf:e.isLeaf??!1})}else o.add({store:t,path:n,invocation:e.invocation,isLeaf:e.isLeaf??!1})}var ae=!1,ue=!1,le=new Map,fe=new Map,de=new Map,ye=null,pe=1/0;function he(){return ae}function ge(){return ye}function be(){ae||(ae=!0,ue||(ue=!0,queueMicrotask(()=>{ue=!1,f(()=>{for(;fe.size>0;){const e=pe,t=de.get(e);if(t){de.delete(e);for(const e of t)fe.delete(e);ye=e;for(const e of t)e();if(ye=null,de.size>0){pe=1/0;for(const e of de.keys())e<pe&&(pe=e)}else pe=1/0}else{pe=1/0;for(const e of de.keys())e<pe&&(pe=e)}}for(;le.size>0;){const e=Array.from(le.values());le.clear();for(const t of e)t()}}),ae=!1,ye=null,fe.clear(),de.clear(),pe=1/0})))}function me(e,t){ae&&le.set(e,t)}var Se=e=>e;function ve(e,t=Object.is){return n=function(e,t=Object.is){const{debounceOptions:n,debugMode:r,equalityFn:o,keepAlive:i,lockDependencies:c}="function"==typeof(l=t)?{debounceOptions:void 0,debugMode:!1,equalityFn:l,keepAlive:!1,lockDependencies:!1}:{debounceOptions:l.debounce,debugMode:(s&&l.debugMode)??!1,equalityFn:l.equalityFn??Object.is,keepAlive:l.keepAlive??!1,lockDependencies:l.lockDependencies??!1},a=String(Oe+=1),u=new Set;var l;i&&u.add(je);const f=new Set;let d,y,p=we,h=!1,g=!0,b=!0,m=!0,S=0,v=!1,w=null,O=we;function q(e,t,n){if(!m||!u.size)return(t??Se)(R(e)?e.getSnapshot():e.getState());if(!t)return d||(d=new WeakMap),y||(y=oe()),Z(e,d,y.trackPath);const r=e.subscribe(t,K,{equalityFn:n??Object.is,isDerivedStore:!0});return f.add(r),t(R(e)?e.getSnapshot():e.getState())}function F(e){for(const t of f)t(e);f.clear()}function C(){if(!b&&qe(p))return p;b=!1,m&&F(!0);const t=p,n=qe(t);p=function(t){g=!0;const n=p,i=e(t);return qe(n)&&o(n,i)?(r&&console.log("[π₯· Derive Complete π₯·]: No change detected"),g=!1,n):i}(q);const i=r&&(!n||"verbose"===r&&m);if(i){n?"verbose"===r&&console.log("[π Rebuilding Subscriptions π]: Createdβ¦"):console.log("[π Initial Derive Complete π]: Createdβ¦");const e=f.size;console.log(`[π― ${e} ${X("Selector Subscription",e)} π―]`)}return y&&m&&(y.buildProxySubscriptions((e,t)=>{const n=e.subscribe(t,K,{equalityFn:Object.is,isDerivedStore:!0});f.add(n)},i),d=void 0,y=void 0),g&&n&&function(e,t){const n=function(){const e=u.has(je)?u.size-1:u.size;return S>0&&S<e}(),o=!S||n,i=n||null!==ge()||he()&&o;n&&be(),r&&console.log(`[π» Derive Complete π»]: Notifying ${u.size} ${X("watcher",u.size)}`);for(const t of u){if("function"==typeof t||!t.isDerivedWatcher)continue;const n=t.selector(e);if(!t.equalityFn(t.currentSlice,n)){const e=t.currentSlice;t.currentSlice=n,t.listener(n,e)}}i?v||(v=!0,qe(O)||(O=t),me(a,I)):A(e,t)}(p,t),c&&(m=!1),p}function A(e,t){for(const n of u)if("function"==typeof n)n(e,t);else if(!n.isDerivedWatcher){const t=n.selector(e);if(!n.equalityFn(n.currentSlice,t)){const e=n.currentSlice;n.currentSlice=t,n.listener(t,e)}}}function I(){u.size&&(v&&function(){if(b&&!S&&C(),!qe(p))return;const e=qe(O)?O:p;A(p,e)}(),v=!1,O=we)}const k=n?j(z,"number"==typeof n?n:n.delay,"number"==typeof n?{leading:!1,maxWait:n,trailing:!0}:n):void 0,T=k??(()=>{h||(h=!0,queueMicrotask(z))});function z(){u.size&&(h=!1,b&&C())}function M(e){e?queueMicrotask(()=>{u.size||E()}):E()}function D(){z(),w=null}function K(){if(!b){if(b=!0,!k){if(S){be();const e=ge(),t=null===e?0:e+1;if(null!==w&&t<=w)return;return w=t,void function(e,t){if(!ae)return;const n=t<0?0:0|t,r=fe.get(e);if(void 0===r){fe.set(e,n);let t=de.get(n);return t||(t=new Set,de.set(n,t)),t.add(e),void(n<pe&&(pe=n))}if(n>r){const t=de.get(r);if(t&&(t.delete(e),0===t.size&&(de.delete(r),r===pe))){pe=1/0;for(const e of de.keys())e<pe&&(pe=e)}fe.set(e,n);let o=de.get(n);o||(o=new Set,de.set(n,o)),o.add(e),n<pe&&(pe=n)}}(D,t)}if(he())return void(v||(v=!0,qe(p)&&(O=p),me(a,I)))}w=null,S&&!n?C():T()}}function $(){return b||!qe(p)?u.size>0?C():e(q):p}function E(e=!0){i&&e||(k?.cancel(),F(),u.clear(),S=0,y=void 0,d=void 0,m=!0,h=!1,b=!0,p=we,v=!1,O=we,w=null)}return{destroy:()=>E(!1),flushUpdates:function(){u.size&&(k?k.flush():b&&C())},getSnapshot:function(){if(!qe(p)){u.add(je);const e=C();return u.delete(je),e}return h&&z(),p},getState:$,subscribe:function(...e){if(1===e.length){const t=e[0];return u.add(t),1!==u.size||qe(p)||$(),()=>{u.delete(t),u.size||M(!1)}}const[t,n,r]=e,o=r?.equalityFn??Object.is,i=r?.isDerivedStore??!1,s={currentSlice:void 0,equalityFn:o,isDerivedWatcher:i,listener:n,selector:t};return u.add(s),s.currentSlice=t($()),i&&(S+=1),r?.fireImmediately&&n(s.currentSlice,s.currentSlice),()=>{u.delete(s),i&&(S-=1),u.size||M(i)}},getInitialState:()=>{throw new Error("[createDerivedStore]: getInitialState() is not available on derived stores.")},setState:()=>{throw new Error("[createDerivedStore]: setState() is not available on derived stores.")}}}(e,t),Object.assign(function(e=Se,t=void 0){return b(n.subscribe,n.getSnapshot,void 0,e,t)},n);var n}var we=Symbol(),Oe=0;function je(){}function qe(e){return e!==we}var Fe=class{constructor({disableAutoRefetching:e,initialEnabled:t}){this.count=0,this.enabled=!1,this.lastSubscriptionTime=null,this.fetchThrottleMs=null,this.onSubscribe=null,this.onLastUnsubscribe=null,this.enabled=t,e&&(this.fetchThrottleMs=A.seconds(5))}init({onSubscribe:e,onLastUnsubscribe:t}){this.onSubscribe=e,this.onLastUnsubscribe=t}get(){return{enabled:this.enabled,lastSubscriptionTime:this.lastSubscriptionTime,subscriptionCount:this.count}}setEnabled(e){this.enabled=e}subscribe(){const e=0===this.count,t=null!==this.fetchThrottleMs&&null!==this.lastSubscriptionTime&&!e&&Date.now()-this.lastSubscriptionTime<=this.fetchThrottleMs;return this.onSubscribe?.(this.enabled,e,t),this.count+=1,this.lastSubscriptionTime=Date.now(),e=>{const t=1===this.count;this.count=Math.max(this.count-1,0),t&&(this.onLastUnsubscribe?.(e),this.lastSubscriptionTime=null)}}},Ce={Error:"error",Idle:"idle",Loading:"loading",Success:"success"};function Ae(e,t){if("object"!=typeof e||null==e||"object"!=typeof t||null==t)return e===t;if(Object.is(e,t))return!0;const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!(r in t)||!Ae(e[r],t[r]))return!1;return!0}function Ie(e,t){if("object"!=typeof e||null==e||"object"!=typeof t||null==t)return e===t;if(Object.is(e,t))return!0;const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!Object.is(e[r],t[r]))return!1;return!0}function ke(e,t){const n=Object.prototype.hasOwnProperty;function r(e,t){for(const n of e.keys())if(ke(n,t))return n}let o,i,s;if(e===t)return!0;if(e&&t&&(o=e.constructor)===t.constructor){if(o===Date)return e.getTime()===t.getTime();if(o===RegExp)return e.toString()===t.toString();if(o===Array){if((i=e.length)===t.length)for(;i--&&ke(e[i],t[i]););return-1===i}if(o===Set){if(e.size!==t.size)return!1;for(let n of e){if(s=n,s&&"object"==typeof s&&(s=r(t,s),!s))return!1;if(!t.has(s))return!1}return!0}if(o===Map){if(e.size!==t.size)return!1;for(let n of e){if(s=n[0],s&&"object"==typeof s&&(s=r(t,s),!s))return!1;if(!ke(n[1],t.get(s)))return!1}return!0}if(o===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(o===DataView){if((i=e.byteLength)===t.byteLength)for(;i--&&e.getInt8(i)===t.getInt8(i););return-1===i}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){const n=e,r=t;if((i=n.byteLength)===r.byteLength)for(;i--&&n[i]===r[i];);return-1===i}if(!o||"object"==typeof e){i=0;for(const r in e){if(n.call(e,r)&&++i&&!n.call(t,r))return!1;if(!(r in t)||!ke(e[r],t[r]))return!1}return Object.keys(t).length===i}}return e!=e&&t!=t}var Te=new WeakMap,ze=new WeakMap;function Me(e,t=De,n=ke){return function(e,t,n){let r=ze.get(e);r||(r=new Map,ze.set(e,r));let o=r.get(t);o||(o=new Map,r.set(t,o));const i=o.get(n);if(i)return i;const[s,c,a]=$e(e,t,n),u=new Map,l=e=>{const t={get(t,n){if("value"===n){let t=c();const n=e.split(".");for(const e of n)e&&(t=t[e]);return t}const r="string"==typeof n?n:n.toString(),o=e?`${e}.${r}`:r,i=u.get(o);if(i)return i;const a=l(o);return Te.set(a,s),u.set(o,a),a},set(t,n,r){const o=e.split(".");return""===o[0]&&o.shift(),a(o,r),!0}};return new Proxy(Object.create(null),t)},f=l("");return s(()=>{}),Te.set(f,s),o.set(n,f),f}(e,t,n)}var De=e=>e,Ke=(e,t,n)=>{if(!t.length)return n;const[r,...o]=t,i=e[r],s=Ke(i,o,n);if(ke(i,s))return e;const c=Array.isArray(e)?e.slice():{...e};return c[r]=s,c},$e=(e,t,n)=>{const r=new Set,o=R(e);let i,s=t(o?e.getSnapshot():e.getState());return[c=>(r.size||(i=e.subscribe(t,e=>{s=e,r.forEach(e=>e())},{equalityFn:n,isDerivedStore:o})),r.add(c),()=>{r.delete(c),!r.size&&i&&(i(),i=void 0)}),()=>(r.size||(s=t(e.getState())),s),(n,r)=>{if(t!==De)throw new Error("Cannot set a value with a selector");e.setState(e=>Ke(e,n,r),!0)}]},[Ee,Pe]=[!0,!1],Le={error:Ee,lastFetchedAt:Ee,queryCache:Ee,queryKey:Ee,status:Ee,enabled:Pe,fetch:Pe,getCacheEntry:Pe,getData:Pe,getStatus:Pe,isDataExpired:Pe,isStale:Pe,reset:Pe},Re=A.seconds(5);function xe(t,n,o){r();const l="function"==typeof n?n:He,f="object"==typeof n?n:o,d=f&&"storageKey"in f?f:void 0,{fetcher:y,onError:p,onFetched:h,setData:g,transform:b,abortInterruptedFetches:m=!0,cacheTime:S=A.days(7),debugMode:v=!1,disableAutoRefetching:w=!1,disableCache:O=!1,enabled:q=!0,keepPreviousData:F=!1,maxRetries:C=5,paramChangeThrottle:I=!1,params:k,retryDelay:T=Ne,suppressStaleTimeWarning:z=!1,useParsableQueryKeys:M=!0}=t;let D="function"==typeof t.staleTime?A.minutes(2):t.staleTime??A.minutes(2);s&&!w&&!z&&D<Re&&console.warn(`[createQueryStore${d?.storageKey?`: ${d.storageKey}`:""}] β Stale times under ${Re/1e3} seconds are not recommended. Provided staleTime: ${D/1e3} seconds`);const K=M?Be:We,$=new Error("[createQueryStore: AbortError] Fetch interrupted"),E="function"==typeof S,P=s&&v,L=Object.keys(t.params??Object.create(null));let R=null,x=null,N=null,W=[],B=!1,J=!1,U=null,Q=null,V=null,H=null,_=null;const G={enabled:"function"!=typeof q&&q,error:null,lastFetchedAt:null,queryCache:{},queryKey:"",status:Ce.Idle},X=new Fe({disableAutoRefetching:w,initialEnabled:G.enabled}),Z=()=>{U&&(Q=null,U.abort(),U=null)},ee=(e,n,r)=>{const o=r.setState,s=(e,t)=>{const n="function"==typeof e;if(n||void 0!==e.enabled){let t;const i=o(o=>{const i=n?e(o):e,s=void 0!==i.enabled?i.enabled:o.enabled;return s!==o.enabled&&(t=()=>((e,t)=>{e!==t&&_!==t&&(_=t,X.setEnabled(t),t?queueMicrotask(()=>r.getState().fetch(void 0,{updateQueryKey:!0})):(V||m)&&(m&&Z(),V&&(clearTimeout(V),V=null)))})(o.enabled,s)),i});return t?.(),i}return o(e)};r.setState=s,X.init({onSubscribe:(r,o,i)=>{if(x||R||!k&&"function"!=typeof t.enabled&&"function"!=typeof t.staleTime){if(r)if(o){const t=Ve(R,x),r=K(t),o=n();o.queryKey!==r&&e(e=>({...e,queryKey:r})),o.isStale()?f.fetch(t,void 0,!0):c(t,void 0)}else w&&!i&&f.fetch(void 0,void 0,!0)}else B=!0},onLastUnsubscribe:e=>{V&&(clearTimeout(V),V=null),m&&!e&&Z()}});const c=(e,t)=>{if(w||t?.skipStoreUpdates)return;if(D<=0||D===1/0)return;V&&(clearTimeout(V),V=null);const r=K(e),o=n(),i=(O?H===r&&o.lastFetchedAt:o.queryCache[r]?.lastFetchedAt)||null,s=i?D-(Date.now()-i):D;V=setTimeout(()=>{const t=X.get();t.enabled&&t.subscriptionCount>0&&f.fetch(e,{force:!0},!0)},s)},f={...l(s,n,r),...G,async fetch(t,r,o=!1){const l=X.get();if(!r?.force&&!r?.skipStoreUpdates&&!l.enabled)return null;const v=n(),w=v.error,j=v.queryKey,q=v.status,A=Qe(R,x,L,t),I=K(A),k=r?.staleTime??D,z=q===Ce.Loading,M=!!r?.skipStoreUpdates,N="boolean"==typeof r?.updateQueryKey?r.updateQueryKey:o?F:!M,W=o||!M&&(N||j===I);if(Q?.promise&&Q.key===I&&z)return P&&console.log("[π Using Active Fetch π] for params:",JSON.stringify(A)),Q.promise;if(m&&!M&&!1!==r?.updateQueryKey&&Z(),!r?.force){const t=v.lastFetchedAt,n=v.queryCache[I],o=n?.lastFetchedAt,i=n?.errorInfo,s=i&&i.retryCount>=C,a=(O?H===I&&t:o)||null;if(a&&!(Date.now()-a>=k)&&(!i||s||M))return W&&!M&&!V&&l.subscriptionCount>0&&0!==D&&D!==1/0&&c(A,r),N&&e(e=>e.queryKey!==I?{...e,queryKey:I}:e),P&&console.log("[πΎ Returning Cached Data πΎ] for params:",JSON.stringify(A)),n?.data??null}!M&&W&&(V&&(clearTimeout(V),V=null),!w&&z||e(e=>({...e,error:null,status:Ce.Loading})),Q={key:I});const B=r?.cacheTime??(E?S(A):S),J=async()=>{try{P&&(o||!t||_e(t,L)?console.log("[π Fetching π] for params:",JSON.stringify(A)):console.log("[π Fetching with Partial Params π]\n","- Provided params:",`${JSON.stringify(t)}\n`,"- Filled in params:",`${JSON.stringify(Object.fromEntries(Object.keys(A).filter(e=>!(e in t)).map(e=>[e,A[e]])))}`));const n=await(m&&!M&&W?(async e=>{const t=new AbortController;U=t;try{return await new Promise((n,r)=>{t.signal.addEventListener("abort",()=>r($),{once:!0}),Promise.resolve(y(e,t)).then(n,r)})}finally{U===t&&(U=null)}})(A):y(A,null)),u=Date.now();let l;P&&console.log("[β
Fetch Successful β
] for params:",JSON.stringify(A));try{l=b?b(n,A):n}catch(e){throw new i(`[createQueryStore: ${d?.storageKey||I}]: transform failed`,e)}if(M)return P&&console.log("[π₯· Successful Parallel Fetch π₯·] for params:",JSON.stringify(A)),"withCache"===r.skipStoreUpdates&&e(e=>{if(!g)return O?{...e,queryCache:{...e.queryCache,[I]:{cacheTime:B,data:l,errorInfo:null,lastFetchedAt:u}}}:e;let t=e;const n=t.queryCache[I];return g({data:l,params:A,queryKey:I,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!O&&Object.is(n,t.queryCache[I])&&(t={...t,queryCache:{...t.queryCache,[I]:{cacheTime:B,data:l,errorInfo:null,lastFetchedAt:u}}}),t}),l;if((g?s:e)(e=>{let t={...e,error:null,lastFetchedAt:u,queryKey:N?I:e.queryKey,status:Ce.Success};if(g||O){if(g){P&&console.log("[πΎ Setting Data πΎ] for params:",JSON.stringify(A));const e=t.queryCache[I];g({data:l,params:A,queryKey:I,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!O&&Object.is(e,t.queryCache[I])&&(t.queryCache={...t.queryCache,[I]:{cacheTime:B,data:null,errorInfo:null,lastFetchedAt:u}})}}else P&&console.log("[πΎ Setting Cache πΎ] for params:",JSON.stringify(A),"| Has previous data?:",!!t.queryCache[I]?.data),t.queryCache={...t.queryCache,[I]:{cacheTime:B,data:l,errorInfo:null,lastFetchedAt:u}};return O||S===1/0?t:Ge(F,I,t)}),W&&(H=I,c(A,r)),h)try{h({data:l,fetch:f.fetch,params:A,set:s})}catch(e){a.error(new i(`[createQueryStore: ${d?.storageKey||I}]: onFetched callback failed`,e))}return l??null}catch(s){if(s===$)return P&&console.log("[β Fetch Aborted β] for params:",JSON.stringify(A)),null;const c=!o&&!0===r?.throwOnError,l=u(s);if(M||!W){if(a.error(new i(`[createQueryStore: ${d?.storageKey||I}]: Failed to fetch data`,l)),c)throw l;return null}const y=O?void 0:n().queryCache[I],h=y?.errorInfo?.retryCount??0,g=h+1;if(p?.(l,h),h<C){if(X.get().subscriptionCount>0){const e="function"==typeof T?T(g,l):T;e!==1/0&&(V&&clearTimeout(V),V=setTimeout(()=>{const{enabled:e,subscriptionCount:n}=X.get();e&&n>0&&f.fetch(t,{force:!0},!0)},e))}e(e=>({...e,error:l,queryCache:{...e.queryCache,[I]:{cacheTime:y?.cacheTime??B,data:y?.data??null,lastFetchedAt:y?.lastFetchedAt??null,errorInfo:{error:l,lastFailedAt:Date.now(),retryCount:g}}},queryKey:N?I:e.queryKey,status:Ce.Error}))}else e(e=>({...e,error:l,queryCache:{...e.queryCache,[I]:{cacheTime:y?.cacheTime??B,data:y?.data??null,lastFetchedAt:y?.lastFetchedAt??null,errorInfo:{error:l,lastFailedAt:Date.now(),retryCount:C}}},queryKey:N?I:e.queryKey,status:Ce.Error}));if(a.error(new i(`[createQueryStore: ${d?.storageKey||I}]: Failed to fetch data`,l)),c)throw l;return null}finally{!M&&W&&(Q=null)}};return M||!W?J():(Q={key:I,promise:J()}).promise},getCacheEntry(e){if(O)return null;const t=n(),r=e?"string"==typeof e?e:K(Qe(R,x,L,e)):t.queryKey;return t.queryCache[r]??null},getData(e){if(O)return null;const t=n().getCacheEntry(e);return t&&null!==t.data?F?t.data:t.lastFetchedAt&&Date.now()-t.lastFetchedAt>=t.cacheTime?null:t.data:null},getStatus:function(e){switch(e){case"isIdle":return n().status===Ce.Idle;case"isLoading":return n().status===Ce.Loading;case"isSuccess":{const e=n(),t=e.queryCache[e.queryKey]?.lastFetchedAt;return"number"==typeof t||e.status===Ce.Success}case"isError":case"isInitialLoad":case void 0:{const t=n(),r=t.queryCache[t.queryKey],o=(O?H===t.queryKey&&t.lastFetchedAt:r?.lastFetchedAt)||null,i=t.status;switch(e){case"isError":{const e=t.queryCache[t.queryKey];return O?"error"!==i:"number"==typeof e?.errorInfo?.lastFailedAt}case"isInitialLoad":return!o&&i===Ce.Loading}return{isError:i===Ce.Error,isIdle:i===Ce.Idle,isLoading:i===Ce.Loading,isInitialLoad:!o&&i===Ce.Loading,isSuccess:i===Ce.Success}}}},isDataExpired(e){const t=n(),r=t.queryCache[t.queryKey],o=t.queryKey,i=t.lastFetchedAt,s=(O?H===o&&i:r?.lastFetchedAt)||null;if(!s)return!0;const c=e??r?.cacheTime;return void 0===c||Date.now()-s>=c},isStale(e){const t=n(),r=t.queryKey,o=(O?H===r&&t.lastFetchedAt:t.queryCache[r]?.lastFetchedAt)||null;if(!o)return!0;const i=e??D;return Date.now()-o>=i},reset(t=!1){for(const e of W)e();W=[],R=null,x=null,N=null,Z(),V&&(clearTimeout(V),V=null),Q=null,H=null,t&&e(e=>({...e,...G}))}},v=r.subscribe;return r.subscribe=(...e)=>{const t=J?()=>{}:X.subscribe(),n=1===e.length?v(e[0]):v(e[0],e[1],e[2]);return e=>{t(e),n()}},f},te=d?.storageKey?Y(ee,Object.assign(Object.create(null),d,{partialize:Ze(F,d.partialize)})):f&&!("storageKey"in f)?Y(ee,f):Y(ee),ne=te.getState(),re=ne.error,oe=ne.enabled,ie=ne.queryKey;if(ie&&!re&&(H=ie),J=!0,k||"function"==typeof t.enabled){const{directValues:e,enabledAttachVal:t,enabledDirectValue:n,attachVals:r}=function(e,t,n){const r=Object.create(null),o=Object.create(null),i=Object.create(null);for(const e in t){if(!c(t,e))continue;const s=t[e];if(Ye(s)){const t=s(Me,n);r[e]=t,i[e]=t.value}else Xe(s)&&(o[e]=s,i[e]=s)}let s,a=null,u=null;if(Ye(e)){const t=e(Me,n);s=t.value,a=t}else s=e,u=e;return{attachVals:r,directValues:o,enabledAttachVal:a,enabledDirectValue:u,resolvedEnabled:s,resolvedParams:i}}(q,k,te);R={enabled:t,params:r},x={enabled:n,params:e}}"function"==typeof t.staleTime&&(N=t.staleTime(Me,te),D=N.value);const se=function(){let e,t=!1;return function(...n){e=n,t||(t=!0,queueMicrotask(()=>{t=!1,(e=>{ne.fetch(e??Ve(R,x),{updateQueryKey:F})})(...e)}))}}();function ce(){let e;if(!F){e=Ve(R,x);const t=K(e);te.setState(e=>({...e,queryKey:t}))}se(e)}const ae=e||!I?ce:j(ce,"number"==typeof I?I:I.delay,"number"==typeof I?{leading:!1,maxWait:I,trailing:!0}:I);if(R?.enabled){const e=R.enabled,t=Te.get(e);if(t){let n=e.value;oe!==n&&te.setState(e=>({...e,enabled:n})),n&&X.setEnabled(n),P&&console.log("[π Enabled Subscription π] Initial value:",n);const r=t(()=>{const t=e.value;t!==n&&(P&&console.log("[π Enabled Change π] - [Old]:",`${n},`,"[New]:",t),n=t,te.setState(e=>({...e,enabled:t})))});W.push(r)}}else oe!==G.enabled&&te.setState(e=>({...e,enabled:G.enabled}));for(const e in R?.params){const t=R.params[e];if(!t)continue;const n=Te.get(t);if(P&&console.log("[π Param Subscription π] Subscribed to param:",e),n){let r=t.value;const o=n(()=>{const n=t.value;ke(r,n)||(P&&console.log("[π Param Change π] -",e,"- [Old]:",`${r?.toString()},`,"[New]:",n?.toString()),r=n,ae())});W.push(o)}}if(N){const e=Te.get(N);if(e){const t=N;let n=t.value;P&&console.log("[π StaleTime Subscription π] Initial value:",n);const r=e(()=>{const e=t.value;e!==n&&(P&&console.log("[π StaleTime Change π] - [Old]:",`${n},`,"[New]:",e),n=e,D=e,te.getState().fetch())});W.push(r)}}return J=!1,B&&queueMicrotask(ae),ue=te,le="_queryStore",Object.assign(ue,{[le]:!0});var ue,le}function Ne(e,t){const n=t?.baseDelay??A.seconds(5),r=t?.maxDelay??A.minutes(5),o=Math.pow(2,e);return Math.min(n*o,r)}function We(e){return JSON.stringify(Object.keys(e).sort().map(t=>e[t]))}function Be(e){return JSON.stringify(Ue(e))}function Je(e){return JSON.parse(e)}function Ue(e){return"object"!=typeof e||null===e?e:Object.keys(e).sort().reduce((t,n)=>{const r=e[n];return t[n]=null!==r&&"object"==typeof r?Ue(r):r,t},{})}function Qe(e,t,n,r){return r?_e(r,n)?r:{...Ve(e,t),...r}:Ve(e,t)}function Ve(e,t){const n=t?.params??Object.create(null);for(const t in e?.params){const r=e.params[t];r&&(n[t]=r.value)}return n}function He(){return Object.create(null)}function _e(e,t){if(!e)return!1;for(const n of t)if(!(n in e))return!1;return!0}function Ge(e,t,n){if(!n.queryCache)return n;const r=Date.now(),o=t??(e&&n.queryKey||null);let i=!1;const s=Object.create(null);for(const e in n.queryCache){if(!c(n.queryCache,e))continue;const a=n.queryCache[e];a&&(r-(a.lastFetchedAt??a.errorInfo.lastFailedAt)<a.cacheTime||e===o)?!t&&a.errorInfo&&a.errorInfo.retryCount>0?(s[e]={...a,errorInfo:{...a.errorInfo,retryCount:0}},i=!0):s[e]=a:i=!0}return i?{...n,queryCache:s}:n}function Ye(e){return"function"==typeof e}function Xe(e){return!Ye(e)}function Ze(e,t){return n=>{const r={...n},o={};for(const e in r)c(r,e)&&e in Le&&(Le[e]&&(o[e]=r[e]),delete r[e]);return{...t?t(r):C(r),...Ge(e,null,o)}}}function et(e,t,n){const r="function"==typeof t,o=r?t:void 0,i=r?n:t,s=new Set,c=ve(e,{debugMode:i?.debugMode??!1,equalityFn:function(e,t){const n=Object.is(e,t);return n||(function(e,t){for(const n of s){n.unsubscribe();const r=n.args;if(1===r.length){const o=r[0],i=e.getState(),s=t.getState(),c=t.subscribe(o);n.unsubscribe=c,Object.is(s,i)||o(s,i);continue}const o=r[0],i=r[1];let s=r[2];s?.fireImmediately&&(s={...s,fireImmediately:!1});const c=o(e.getState()),a=o(t.getState()),u=t.subscribe(o,i,s);n.unsubscribe=u,(s?.equalityFn??Object.is)(c,a)||i(a,c)}}(e,t),E(e)),n},keepAlive:!0,lockDependencies:i?.lockDependencies??!0}),a=c.getState().persist,u=(l=c.getState,function(e,t){return t?l().setState(e,t):l().setState(e)});var l;return Object.assign(function(e,t){const n=c();return e?n(e,t):n()},{_virtualStore:!0,destroy:()=>c.destroy(),getInitialState:()=>c.getState().getInitialState(),getState:()=>c.getState().getState(),persist:a,setState:u,subscribe:function(...e){const t={args:e,unsubscribe:1===e.length?c.getState().subscribe(e[0]):c.getState().subscribe(e[0],e[1],e[2])};return s.add(t),()=>{t.unsubscribe(),s.delete(t)}}},o?o(c.getState):void 0)}var tt=Symbol(),nt=Object.freeze({debugMode:!1,enabled:!0,equalityFn:Object.is,fireImmediately:!1});function rt(e,t,n,r=nt){const o=function(){const e=S(tt);return e.current===tt&&(e.current=function(e,t,n){return{selector:e,react:t,isActive:!1,options:st(n),resubscribe:()=>{},unsubscribe:()=>{}}}(t,n,r)),e}(),i=function(e){return"function"==typeof e?nt.enabled:e?.enabled??nt.enabled}(r);return o.current.react=n,o.current.selector=t,function(e,t){"function"==typeof t?e.current.options.equalityFn=t:t&&(e.current.options=t??nt)}(o,r),m(()=>{if(i)return it(e,o),()=>function(e){e.current.options.debugMode&&console.log("[ποΈ useListen ποΈ] Detaching listener"),e.current.resubscribe=()=>{},e.current.unsubscribe(),e.current.unsubscribe=()=>{},e.current.isActive=!1}(o)},[i,e]),o}var ot=Object.freeze({fireImmediately:!1,forceResubscribe:!1});function it(e,t,n=ot){if(t.current.isActive){if(!n?.forceResubscribe)return;t.current.unsubscribe()}t.current.options.debugMode&&console.log("[π‘ useListen π‘] Attaching listener"),t.current.isActive=!0,t.current.resubscribe=(n=ot)=>it(e,t,n);const r=e.subscribe(e=>t.current.selector(e),(e,n)=>t.current.react(e,n,()=>{r(),t.current.isActive=!1}),n.fireImmediately?{...t.current.options,fireImmediately:!0}:t.current.options);t.current.unsubscribe=()=>{t.current.isActive&&(r(),t.current.isActive=!1)}}function st(e){return"function"==typeof e?{equalityFn:e}:e??nt}var ct=Symbol();function at(e){const t=S(ct);return t.current===ct&&(t.current=e()),t.current}function ut(e,t){const n=function(e){const t=e.getState(),n=Object.create(null);if(s&&("object"!=typeof t||null===t))throw new Error("[createStoreActions]: State is not an object");if(B(e)){for(const r in t)ft(t,r)&&(n[r]=lt(e,r));return n}for(const e in t)ft(t,e)&&(n[e]=t[e]);return n}(e);return t?Object.assign(n,t):n}function lt(e,t){return function(...n){const r=e.getState()[t];if("function"==typeof r)return r(...n);throw new Error(`[createVirtualStoreAction]: Method ${String(t)} is not a function`)}}function ft(e,t){return"function"==typeof e[t]}export{Ce as QueryStatuses,$ as applyStateUpdate,Y as createBaseStore,ve as createDerivedStore,xe as createQueryStore,ut as createStoreActions,et as createVirtualStore,Ae as deepEqual,Ne as defaultRetryDelay,E as destroyStore,P as destroyStores,We as getLegacyQueryKey,Be as getQueryKey,L as getStoreName,N as isDerivedStore,W as isPersistedStore,x as isQueryStore,B as isVirtualStore,Je as parseQueryKey,Ie as shallowEqual,A as time,rt as useListen,at as useStableValue};
|
package/package.json
CHANGED
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@storesjs/stores",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.5",
|
|
4
|
+
"license": "MIT",
|
|
4
5
|
"sideEffects": false,
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/christianbaroni/stores.git",
|
|
9
|
+
"directory": "packages/core"
|
|
10
|
+
},
|
|
11
|
+
"homepage": "https://github.com/christianbaroni/stores",
|
|
5
12
|
"engines": {
|
|
6
13
|
"node": ">=20.0.0"
|
|
7
14
|
},
|
|
8
15
|
"files": [
|
|
9
16
|
"dist",
|
|
17
|
+
"!dist/**/*.d.ts.map",
|
|
10
18
|
"README.md",
|
|
11
19
|
"LICENSE"
|
|
12
20
|
],
|
|
@@ -41,6 +49,14 @@
|
|
|
41
49
|
"react-native": ">=0.64.0",
|
|
42
50
|
"react-native-mmkv": ">=2.0.0"
|
|
43
51
|
},
|
|
52
|
+
"peerDependenciesMeta": {
|
|
53
|
+
"react-native": {
|
|
54
|
+
"optional": true
|
|
55
|
+
},
|
|
56
|
+
"react-native-mmkv": {
|
|
57
|
+
"optional": true
|
|
58
|
+
}
|
|
59
|
+
},
|
|
44
60
|
"devDependencies": {
|
|
45
61
|
"@types/chrome": "^0.0.276",
|
|
46
62
|
"@types/jest": "^29.5.14",
|
package/dist/env.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export declare const IS_REACT_NATIVE = false;
|
|
2
|
-
export declare const IS_BROWSER: boolean;
|
|
3
|
-
export declare const IS_IOS = false;
|
|
4
|
-
export declare const IS_ANDROID = false;
|
|
5
|
-
export declare const IS_DEV: boolean;
|
|
6
|
-
export declare const IS_TEST: boolean;
|
|
7
|
-
export declare const unstable_batchedUpdates: <T>(callback: () => T) => T;
|
package/dist/storesStorage.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { InferStoreState, OptionallyPersistedStore, SubscribeArgs, UnsubscribeFn } from '../types';
|
|
2
|
-
/**
|
|
3
|
-
* #### `βοΈ createStoreFactoryUtils βοΈ`
|
|
4
|
-
*
|
|
5
|
-
* Produces strongly-typed helpers for store factory setups. Assumes:
|
|
6
|
-
* - A factory-capable "router" store exists whose properties map to a single underlying active store (via `getStore`).
|
|
7
|
-
* - The factory setup enforces a single active store instance.
|
|
8
|
-
* - `getStore` is a function that returns the concrete store instance.
|
|
9
|
-
*
|
|
10
|
-
* @param getStore β A function that returns the concrete store instance.
|
|
11
|
-
*
|
|
12
|
-
* @returns
|
|
13
|
-
* - `persist`: A persist object that attaches to the active store. Attach this to the factory-capable store.
|
|
14
|
-
* - `portableSubscribe`: A function for subscribing to store changes. Use as the factory-capable store's `subscribe` method.
|
|
15
|
-
* - `rebindSubscriptions`: Rebinds subscriptions on store change. Call this when the factory-capable store's underlying store is updated.
|
|
16
|
-
*/
|
|
17
|
-
export declare function createStoreFactoryUtils<Store extends OptionallyPersistedStore<InferStoreState<Store>, PersistedState>, PersistedState>(getStore: () => Store): {
|
|
18
|
-
persist: Store['persist'];
|
|
19
|
-
portableSubscribe: (...args: SubscribeArgs<InferStoreState<Store>>) => UnsubscribeFn;
|
|
20
|
-
rebindSubscriptions: (oldStore: Store, newStore: Store) => void;
|
|
21
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function t(t,e){return e instanceof Map?{__type:"Map",entries:Array.from(e.entries())}:e instanceof Set?{__type:"Set",values:Array.from(e)}:e}function e(t,e){return function(t){return"object"==typeof t&&null!==t&&"__type"in t&&"Map"===t.__type}(e)?new Map(e.entries):function(t){return"object"==typeof t&&null!==t&&"__type"in t&&"Set"===t.__type}(e)?new Set(e.values):e}function n(t){return!!t&&"object"==typeof t&&"then"in t&&"function"==typeof t.then}function r(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function o(t){if("object"!=typeof t||null===t)return!1;const e=Object.getPrototypeOf(t);return null===e||e===Object.prototype}export{r as hasOwn,o as isPlainObject,n as isPromiseLike,t as replacer,e as reviver};
|