@storesjs/stores 0.8.5 → 0.8.7

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.
@@ -11,14 +11,14 @@ export declare function createBaseStore<S>(createState: StateCreator<S>): Store<
11
11
  * @param options - The configuration options for persistence and sync.
12
12
  * @returns A Zustand store with the specified state and persistence.
13
13
  */
14
- export declare function createBaseStore<S, PersistedState extends Partial<S> = Partial<S>, PersistReturn extends void = void>(createState: StateCreator<S>, options: BaseStoreOptions<S, PersistedState, PersistReturn>): Store<S, PersistedState, false, PersistReturn>;
14
+ export declare function createBaseStore<S, PersistedState extends Partial<S> = Partial<S>, PersistReturn extends void = void>(createState: StateCreator<S>, options: BaseStoreOptions<S, PersistedState, PersistReturn>): Store<S, PersistedState, PersistReturn, false>;
15
15
  /**
16
16
  * Creates a base store with async persistence.
17
17
  * @param createState - The state creator function for the base store.
18
18
  * @param options - The configuration options for persistence and sync.
19
19
  * @returns A Zustand store with the specified state and persistence.
20
20
  */
21
- export declare function createBaseStore<S, PersistedState extends Partial<S> = Partial<S>, PersistReturn extends Promise<void> = Promise<void>>(createState: StateCreator<S>, options: BaseStoreOptions<S, PersistedState, PersistReturn>): Store<S, PersistedState, false, PersistReturn>;
21
+ export declare function createBaseStore<S, PersistedState extends Partial<S> = Partial<S>, PersistReturn extends Promise<void> = Promise<void>>(createState: StateCreator<S>, options: BaseStoreOptions<S, PersistedState, PersistReturn>): Store<S, PersistedState, PersistReturn, false>;
22
22
  /**
23
23
  * Creates a base store with optional persistence.
24
24
  * @param createState - The state creator function for the base store.
@@ -8,7 +8,7 @@ import { BaseStoreOptions, OptionallyPersistedStore, PersistedStore, StateCreato
8
8
  * @template TData - The transformed data type, if applicable (defaults to `TQueryFnData`)
9
9
  * @template PersistedState - The persisted state type, if a stricter type than `Partial<CustomState>` is desired
10
10
  */
11
- export declare function createQueryStore<TQueryFnData, TParams extends Record<string, unknown> = Record<string, never>, TData = TQueryFnData, PersistedState extends Partial<QueryStoreState<TData, TParams>> = Partial<QueryStoreState<TData, TParams>>, PersistReturn extends void = void>(config: QueryStoreConfig<TQueryFnData, TParams, TData>, options: BaseStoreOptions<QueryStoreState<TData, TParams>, PersistedState, PersistReturn>): PersistedStore<QueryStoreState<TData, TParams>, PersistedState, false, PersistReturn>;
11
+ export declare function createQueryStore<TQueryFnData, TParams extends Record<string, unknown> = Record<string, never>, TData = TQueryFnData, PersistedState extends Partial<QueryStoreState<TData, TParams>> = Partial<QueryStoreState<TData, TParams>>, PersistReturn extends void = void>(config: QueryStoreConfig<TQueryFnData, TParams, TData>, options: BaseStoreOptions<QueryStoreState<TData, TParams>, PersistedState, PersistReturn>): PersistedStore<QueryStoreState<TData, TParams>, PersistedState, PersistReturn, false>;
12
12
  /**
13
13
  * Creates a persisted, query-enabled store with data fetching capabilities (async storage).
14
14
  *
@@ -17,7 +17,7 @@ export declare function createQueryStore<TQueryFnData, TParams extends Record<st
17
17
  * @template TData - The transformed data type, if applicable (defaults to `TQueryFnData`)
18
18
  * @template PersistedState - The persisted state type, if a stricter type than `Partial<CustomState>` is desired
19
19
  */
20
- export declare function createQueryStore<TQueryFnData, TParams extends Record<string, unknown> = Record<string, never>, TData = TQueryFnData, PersistedState extends Partial<QueryStoreState<TData, TParams>> = Partial<QueryStoreState<TData, TParams>>, PersistReturn extends Promise<void> = Promise<void>>(config: QueryStoreConfig<TQueryFnData, TParams, TData>, options: BaseStoreOptions<QueryStoreState<TData, TParams>, PersistedState, PersistReturn>): PersistedStore<QueryStoreState<TData, TParams>, PersistedState, false, PersistReturn>;
20
+ export declare function createQueryStore<TQueryFnData, TParams extends Record<string, unknown> = Record<string, never>, TData = TQueryFnData, PersistedState extends Partial<QueryStoreState<TData, TParams>> = Partial<QueryStoreState<TData, TParams>>, PersistReturn extends Promise<void> = Promise<void>>(config: QueryStoreConfig<TQueryFnData, TParams, TData>, options: BaseStoreOptions<QueryStoreState<TData, TParams>, PersistedState, PersistReturn>): PersistedStore<QueryStoreState<TData, TParams>, PersistedState, PersistReturn, false>;
21
21
  /**
22
22
  * Creates a persisted, query-enabled store with data fetching capabilities (sync storage).
23
23
  *
@@ -27,7 +27,7 @@ export declare function createQueryStore<TQueryFnData, TParams extends Record<st
27
27
  * @template TData - The transformed data type, if applicable (defaults to `TQueryFnData`)
28
28
  * @template PersistedState - The persisted state type, if a stricter type than `Partial<CustomState>` is desired
29
29
  */
30
- export declare function createQueryStore<TQueryFnData, TParams extends Record<string, unknown> = Record<string, never>, CustomState = unknown, TData = TQueryFnData, PersistedState extends Partial<QueryStoreState<TData, TParams, CustomState>> = Partial<QueryStoreState<TData, TParams, CustomState>>, PersistReturn extends void = void>(config: QueryStoreConfig<TQueryFnData, TParams, TData, CustomState>, stateCreator: StateCreator<QueryStoreState<TData, TParams, CustomState>, CustomState>, options: BaseStoreOptions<QueryStoreState<TData, TParams, CustomState>, PersistedState, PersistReturn>): PersistedStore<QueryStoreState<TData, TParams, CustomState>, PersistedState, false, PersistReturn>;
30
+ export declare function createQueryStore<TQueryFnData, TParams extends Record<string, unknown> = Record<string, never>, CustomState = unknown, TData = TQueryFnData, PersistedState extends Partial<QueryStoreState<TData, TParams, CustomState>> = Partial<QueryStoreState<TData, TParams, CustomState>>, PersistReturn extends void = void>(config: QueryStoreConfig<TQueryFnData, TParams, TData, CustomState>, stateCreator: StateCreator<QueryStoreState<TData, TParams, CustomState>, CustomState>, options: BaseStoreOptions<QueryStoreState<TData, TParams, CustomState>, PersistedState, PersistReturn>): PersistedStore<QueryStoreState<TData, TParams, CustomState>, PersistedState, PersistReturn, false>;
31
31
  /**
32
32
  * Creates a persisted, query-enabled store with data fetching capabilities (async storage).
33
33
  *
@@ -37,7 +37,7 @@ export declare function createQueryStore<TQueryFnData, TParams extends Record<st
37
37
  * @template TData - The transformed data type, if applicable (defaults to `TQueryFnData`)
38
38
  * @template PersistedState - The persisted state type, if a stricter type than `Partial<CustomState>` is desired
39
39
  */
40
- export declare function createQueryStore<TQueryFnData, TParams extends Record<string, unknown> = Record<string, never>, CustomState = unknown, TData = TQueryFnData, PersistedState extends Partial<QueryStoreState<TData, TParams, CustomState>> = Partial<QueryStoreState<TData, TParams, CustomState>>, PersistReturn extends Promise<void> = Promise<void>>(config: QueryStoreConfig<TQueryFnData, TParams, TData, CustomState>, stateCreator: StateCreator<QueryStoreState<TData, TParams, CustomState>, CustomState>, options: BaseStoreOptions<QueryStoreState<TData, TParams, CustomState>, PersistedState, PersistReturn>): PersistedStore<QueryStoreState<TData, TParams, CustomState>, PersistedState, false, PersistReturn>;
40
+ export declare function createQueryStore<TQueryFnData, TParams extends Record<string, unknown> = Record<string, never>, CustomState = unknown, TData = TQueryFnData, PersistedState extends Partial<QueryStoreState<TData, TParams, CustomState>> = Partial<QueryStoreState<TData, TParams, CustomState>>, PersistReturn extends Promise<void> = Promise<void>>(config: QueryStoreConfig<TQueryFnData, TParams, TData, CustomState>, stateCreator: StateCreator<QueryStoreState<TData, TParams, CustomState>, CustomState>, options: BaseStoreOptions<QueryStoreState<TData, TParams, CustomState>, PersistedState, PersistReturn>): PersistedStore<QueryStoreState<TData, TParams, CustomState>, PersistedState, PersistReturn, false>;
41
41
  /**
42
42
  * Creates a query-enabled store with data fetching capabilities.
43
43
  *
@@ -20,4 +20,4 @@ export declare function joinCascade(storeId: StoreId, task: Task): void;
20
20
  */
21
21
  export declare function enqueueDerive(task: Task, rank: Rank): void;
22
22
  export {};
23
- //# sourceMappingURL=globalDeriveScheduler.d.ts.map
23
+ //# sourceMappingURL=cascadeScheduler.d.ts.map
@@ -1,5 +1,5 @@
1
+ import { SyncContext } from '../sync/syncEnhancer';
1
2
  import { StateCreator } from '../types';
2
- import { SyncContext } from 'src/sync/syncEnhancer';
3
3
  type WrappedOnRehydrateStorage<S> = (userCallback: ((state: S) => ((finalState?: S, error?: unknown) => void) | void) | undefined, syncContext: SyncContext | undefined) => (state: S) => (finalState?: S, error?: unknown) => void;
4
4
  /**
5
5
  * Creates hydration-gating middleware that queues state updates until rehydration completes.
@@ -1 +1 @@
1
- "use strict";var e=require("react-native"),t=require("zustand/middleware"),r=require("zustand/traditional"),n=require("use-sync-external-store/shim/with-selector"),o=require("react"),i=(e=>"undefined"!=typeof require?require:"undefined"!=typeof Proxy?new Proxy(e,{get:(e,t)=>("undefined"!=typeof require?require:e)[t]}):e)(function(e){if("undefined"!=typeof require)return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),s="ios"===e.Platform.OS;e.Platform.OS;var c="development"===process.env.NODE_ENV,a="test"===process.env.NODE_ENV;function u(e){let t;try{const{MMKV:r}=i("react-native-mmkv"),n=new r({id:e}),{getString:o,...s}=n;t=Object.assign(Object.create(null),s,{get:o})}catch(e){throw new Error("[stores] react-native-mmkv could not be loaded.\n\nPersisted stores require a storage backend. Either:\n - Install MMKV (the default): yarn add react-native-mmkv\n - Or provide a custom adapter via configureStores()\n"+(e instanceof Error?`\n${e.message}`:""))}return function(e){if(!e||"function"!=typeof e.get||"function"!=typeof e.set||"function"!=typeof e.delete||"function"!=typeof e.clearAll)throw new Error("[stores]: Storage instance does not conform to expected interface")}(t),{clearAll:()=>t.clearAll(),contains:e=>t.contains(e),delete:e=>t.delete(e),get:e=>t.get(e),getAllKeys:()=>t.getAllKeys(),set:(e,r)=>t.set(e,r)}}var l=class extends Error{constructor(e,t){super(e),this.name="StoresError",this.cause=d(t)}},f={debug:(e,t)=>{c&&console.debug(e,t)},error:(e,t)=>{c&&!a&&console.error(e,t)},info:(e,t)=>{c&&console.info(e,t)},warn:(e,t)=>{c&&console.warn(e,t)}};function d(e){return e instanceof Error?e:new Error(String(e))}var y,p,h=class{destroy(){}publish(){}},g=class{constructor(){this.sessionId="noop"}register(e){return new h}},b=!1;function m(){return p??(p=v(void 0))}function S(){b=!0}function v(e){return{storage:e?.storage??u(e?.storageKeyPrefix??"stores:"),syncEngine:e?.syncEngine??(y||(y=new g),y)}}function w(){let e,t,r=!1;return{complete:function(){!r&&e&&(r=!0,e(),e=void 0,t=void 0)},isHydrated:function(){return r},fail:function(n){!r&&t&&(r=!0,t(n),t=void 0,e=void 0)},promise:new Promise((r,n)=>{e=r,t=n})}}var O=Math.max,j=Math.min;function q(e,t=0,r={}){let n,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 r=n,i=o;return n=o=void 0,u=t,s=r?e.apply(i,r):e.apply(i),s}function p(e){const r=e-(a??0);return void 0===a||r>=t||r<0||f&&void 0!==i&&e-u>=i}function h(){const e=F();if(p(e))return g(e);c=setTimeout(h,function(e){const r=t-(e-(a??0));return f&&void 0!==i?j(r,i-(e-u)):r}(e))}function g(e){return c=void 0,d&&n?y(e):(n=o=void 0,s)}function b(...e){const r=F(),i=p(r);if(n=e,o=this,a=r,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=A(t)||0,function(e){const t=typeof e;return null!==e&&("object"===t||"function"===t)}(r)&&(l=!!r.leading,f="maxWait"in r,i=f?O(A(r.maxWait)||0,t):void 0,d="trailing"in r?!!r.trailing:d),b.cancel=function(){void 0!==c&&clearTimeout(c),u=0,n=a=o=c=void 0},b.flush=function(){return void 0===c?s:g(F())},b}function F(){return"undefined"!=typeof performance&&"function"==typeof performance.now?performance.now():Date.now()}function A(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,t){return t instanceof Map?{__type:"Map",entries:Array.from(t.entries())}:t instanceof Set?{__type:"Set",values:Array.from(t)}:t}function I(e,t){return function(e){return"object"==typeof e&&null!==e&&"__type"in e&&"Map"===e.__type}(t)?new Map(t.entries):function(e){return"object"==typeof e&&null!==e&&"__type"in e&&"Set"===e.__type}(t)?new Set(t.values):t}function k(e){if(null!==e&&"object"==typeof e){const t={};for(const[r,n]of Object.entries(e))"function"!=typeof n&&(t[r]=n);return t}return e}var T={ms:e=>e,seconds:e=>1e3*e,minutes:e=>T.seconds(60*e),hours:e=>T.minutes(60*e),days:e=>T.hours(24*e),weeks:e=>T.days(7*e),infinity:1/0,zero:0},E=a?0:s?T.seconds(3):T.seconds(5);function x(e){return t=>{if("string"!=typeof t)throw new l("[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?I:void 0)}catch(e){throw f.error(new l("[createBaseStore]: Failed to deserialize persisted Rainbow store data"),{error:e}),e}}(t,e)}}function M(e){return t=>function(e,t){try{return JSON.stringify(e,t?C:void 0)}catch(e){throw f.error(new l("[createBaseStore]: Failed to serialize Rainbow store data"),{error:e}),e}}(t,e)}var z=Object.freeze({shouldClear:!1});function D(e,t,r){if(!t||!e)return z;const n=e.getFieldTimestampSnapshot();return function(e,t){const r=e.getSessionId(),n=e.getTimestamp();void 0!==r&&void 0!==n&&(t.syncMetadata={origin:r,timestamp:n})}(e,r),r.syncMetadata?n&&Object.keys(n).length>0?(r.syncMetadata.fields=n,{fieldSnapshot:n,shouldClear:!0}):(delete r.syncMetadata.fields,{fieldSnapshot:n,shouldClear:!1}):{fieldSnapshot:n,shouldClear:!1}}function K(e,t){e&&t.shouldClear&&t.fieldSnapshot&&Object.keys(t.fieldSnapshot).length&&e.clearFieldTimestamps(t.fieldSnapshot)}function P(e){return!!e&&!!e.getIsApplyingRemote()}function $(e,...t){return!0===t[1]?V(t[0])?t[0](e):t[0]:{...e,...V(t[0])?t[0](e):t[0]}}function L(e,t){W(e)?e.getState().reset(t?.clearQueryCache):function(e){return"destroy"in e}(e)&&e.destroy()}function R(e){return _(e)?e.persist.getOptions().name??e.name:e.name}function N(e){return"getSnapshot"in e}function W(e){return"_queryStore"in e}function _(e){return"persist"in e}function Q(e){return"_virtualStore"in e}function V(e){return"function"==typeof e}var[J,U]=[0,1];function B(e,t,r){if(!e)return!0;const n=e[J],o=e[U];return!(t<n)&&(t>n||r>o)}function H(e,t){return Object.prototype.hasOwnProperty.call(t,e)}function G(e,t){if(!c)return!0;if(null===e||null===t)return e===t;const r=typeof e;return r===typeof t&&("object"!==r||Object.prototype.toString.call(e)===Object.prototype.toString.call(t))}function X(e){if(null===e)return"null";const t=typeof e;return"object"===t?Object.prototype.toString.call(e):t}function Y(e,n){S();const o=void 0!==n&&"string"==typeof n.storageKey,i=o?n.storageKey:void 0,s=n?.sync?function(e,t){if(!e)return null;if(!0===e){if(!t)throw new l("[createBaseStore]: sync: true requires a storageKey to inherit the key from");return{key:t}}if("string"==typeof e)return{key:e};const r=e,n=r.key??t;if(!n)throw new l("[createBaseStore]: sync requires either a key in the config or a storageKey to inherit from");return{...r,key:n}}(n.sync,i):void 0,c=o?n.storage??m().storage:void 0,a=s?function(e,t,r){const n=t.engine??m().syncEngine,o=function(e){let t,r,n,o=!1;return{isAsync:e,clearFieldTimestamps:function(e){if(e&&n){for(const t of Object.entries(e)){const e=t[0],r=t[1];n[e]===r&&delete n[e]}Object.keys(n).length||(n=void 0)}},getFieldTimestampSnapshot:function(){if(n)return{...n}},getIsApplyingRemote:()=>o,getSessionId:()=>t,getTimestamp:()=>r,mergeFieldTimestamps:function(e){if(n)for(const t of Object.entries(e)){const e=t[0],r=t[1],o=n[e];(void 0===o||r>o)&&(n[e]=r)}else n={...e}},onHydrationComplete:void 0,onHydrationFlushEnd:void 0,setIsApplyingRemote:e=>o=e,setSessionId:e=>t=e,setTimestamp:e=>r=e,setWithoutPersist:void 0}}(r);return{stateCreator:(i,s,c)=>{const a=new Map,u=[],d=[];let y=null,p=!1,h=!1,g=0,b=null,m=[],S=Promise.resolve(),v=!r;const w=(e,t)=>{if(o?.setSessionId&&o?.setTimestamp&&n.sessionId&&(o.setSessionId(n.sessionId),o.setTimestamp(e),o.mergeFieldTimestamps&&t.length>0)){const r=Object.create(null);for(const n of t)r[String(n)]=e;o.mergeFieldTimestamps(r)}},O=function(e,t){if(p||!b)return t?i(e,t):i(e);const r=(()=>{const e=Date.now(),t=e>g?e:g+1;return g=t,t})();let o=[],s=Object.create(null);const c=n=>{const i=$(n,e,t);for(const e of m)Object.is(i[e],n[e])||(o.push(e),s[e]=i[e]);return o.length&&w(r,o),i},u=t?i(c,!0):i(c),l=()=>{o.length&&(e=>{const t=n.sessionId;for(const r of e.keys)a.set(r,[e.timestamp,t]);y&&h?y.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values}):d.push(e)})({keys:o,replace:t??!1,values:s,timestamp:r})};return(f=u)&&"object"==typeof f&&"then"in f&&"function"==typeof f.then?u.finally(l):(l(),u);var f},j=c.setState;c.setState=O;const q=e(O,s,c);if(m=t.fields??function(e){const t=[];for(const r of Object.entries(e)){if("function"==typeof r[1])continue;const e=r[0];t.push(e)}return t}(q),!m.length)return q;b=new Set(m);const F=async e=>{g=Math.max(g,e.timestamp);const r=Object.create(null),n=s(),i=e.timestamp;let c;if(e.replace)for(const t of m)H(t,e.values)||B(a.get(t),i,e.sessionId)&&(c??(c=[])).push(t);for(const o of m){if(!H(o,e.values))continue;if(!b?.has(o))continue;if(!B(a.get(o),i,e.sessionId))continue;const s=t.merge?.[o];if(s){const t=e.values[o],c=n[o];if(void 0!==t){const u=s(t,c,n,e.values),d=void 0!==c?c:t;if(!G(u,d))return void f.error(new l(`[sync] Merge function for field "${String(o)}" returned ${X(u)} but expected ${X(d)}`));r[o]=u,a.set(o,[i,e.sessionId])}}else r[o]=e.values[o],a.set(o,[i,e.sessionId])}if(Object.keys(r).length>0||c?.length){p=!0,o&&o.setIsApplyingRemote(!0);try{if(e.replace){const e={...n};let t=!1;if(c?.length){t=!0;for(const t of c)delete e[t],a.delete(t)}for(const n in r){if(!Object.prototype.hasOwnProperty.call(r,n))continue;const o=r[n];void 0!==o&&(Object.is(e[n],o)||(t=!0),e[n]=o)}if(!t)return;await(o.setWithoutPersist??j)(e,!0)}else await(o.setWithoutPersist??j)(r)}finally{p=!1,o&&o.setIsApplyingRemote(!1)}}},A=e=>{r?S=S.then(()=>F(e)):F(e)};y=n.register({apply:e=>{v?A(e):u.push(e)},delta:t.delta,fields:m,getState:s,key:t.key});const C=()=>{h=!0,(()=>{if(y&&d.length){for(const e of d){const t=n.sessionId;for(const r of e.keys)a.set(r,[e.timestamp,t]);w(e.timestamp,e.keys),y.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values})}d.length=0}})()},I=()=>{v=!0,(()=>{if(!u.length)return;const e=u.slice();u.length=0;for(const t of e)A(t)})()};return r&&o?(o.onHydrationComplete=C,o.onHydrationFlushEnd=I):y.onHydrated?(y.onHydrated(C),I()):(C(),I()),q},syncContext:o}}(e,s,c?.async??!1):void 0,u=a?.stateCreator??e;if(!o)return r.createWithEqualityFn()(t.subscribeWithSelector(u),Object.is);const y=c?.async?function(e){let t,r,n,o=!1;return{hydrationPromise:()=>o?t?.promise??r??(r=Promise.resolve()):(t||(t=w()),t.promise),stateCreator:(r,i,s)=>{let c;return n=()=>{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]?r(e[0],e[1]):r(e[0]):(t||(t=w()),c||(c=[]),c.push(e),t.promise),i,s)},wrapOnRehydrateStorage:(e,r)=>i=>{const s=e?.(i);return(e,i)=>{o=!0,r?.onHydrationComplete?.(),n&&n(),r?.onHydrationFlushEnd?.(),i?t?.fail(d(i)):t?.complete(),s?.(e,i)}}}}(u):null,p=function(e,t,r){const n=t??e.storage??m().storage,o=(e.sync?void 0:e.persistThrottleMs??E)||void 0,i=e.version??0,s=n.async?function(e,t,r,n){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),i="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),s=t.partialize??k,c=t.deserializer??e.deserializer??x(o),a=t.serializer??e.serializer??M(o);async function u(t,r){try{if(P(n))return;r.state,r.state=s(r.state);const o=D(n,i,r),c=a(r);try{await e.set(t,c),K(n,o)}catch(e){f.error(new l("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){f.error(new l("[createBaseStore]: Failed to serialize persisted store data"),{error:e})}}const d=void 0!==r?q(u,r,{leading:!1,maxWait:r,trailing:!0}):function(e){let t,r=null;return function(...n){return t=n,r||(r=new Promise(n=>{queueMicrotask(async()=>{try{await e(...t)}finally{r=null,n()}})})),r}}(u);return{getItem:async t=>{const r=await e.get(t);return void 0===r?null:c(r)},setItem:async(e,t)=>{if(!n?.getIsApplyingRemote())return await d(e,t)},removeItem:async t=>{try{await e.delete(t)}catch(e){f.error(new l("[createBaseStore]: Failed to delete persisted store data"),{error:e})}}}}(n,e,o,r):function(e,t,r,n){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),i="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),s=t.partialize??k,c=t.deserializer??e.deserializer??x(o),a=t.serializer??e.serializer??M(o);function u(t,r){try{if(P(n))return;r.state,r.state=s(r.state);const o=D(n,i,r),c=a(r);try{e.set(t,c),K(n,o)}catch(e){f.error(new l("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){f.error(new l("[createBaseStore]: Failed to persist store data"),{error:e})}}const d=void 0!==r?q(u,r,{leading:!1,maxWait:r,trailing:!0}):u;return{getItem:t=>{const r=e.get(t);return void 0===r?null:c(r)},setItem:(e,t)=>{n?.getIsApplyingRemote()||d(e,t)},removeItem:t=>{try{e.delete(t)}catch(e){f.error(new l("[createBaseStore]: Failed to delete persisted store data"),{error:e})}}}}(n,e,o,r);return{persistStorage:s,version:i}}(n,c,a?.syncContext),h=y?y.wrapOnRehydrateStorage(n.onRehydrateStorage,a?.syncContext):n.onRehydrateStorage,g=y?(e,t,r)=>(a&&(a.syncContext.setWithoutPersist=r.setState),y.stateCreator(e,t,r)):u,b=r.createWithEqualityFn()(t.subscribeWithSelector(t.persist(g,function(e,t,r){const n={name:e.storageKey,onRehydrateStorage:r,storage:t.persistStorage,version:t.version};return void 0!==e.merge&&(n.merge=e.merge),void 0!==e.migrate&&(n.migrate=e.migrate),n}(n,p,h))),Object.is);return y?Object.assign(b,{persist:Object.assign(b.persist,{hydrationPromise:y.hydrationPromise})}):b}function Z(e,t,r="s"){return 1===t?e:`${e}${r}`}function ee(e,t,r){const n=t.get(e);if(!n){const n=function(e,t,r,n=[]){return e&&"object"==typeof e?te(e,n,t,r,new WeakSet,new WeakMap):(r(t,n,!0),e)}(N(e)?e.getSnapshot():e.getState(),e,r);return t.set(e,n),n}return n}function te(e,t,r,n,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&&(n(r,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 n(r,f,!0,{method:l,args:e.length?e:void 0}),Reflect.apply(u,s,e)}:(n(r,t,!0),u.bind(e));const d=!!u&&"object"==typeof u;return n(r,f,!d),d?(i.has(u)||i.set(u,te(u,f,r,n,o,i)),i.get(u)):u},getOwnPropertyDescriptor:(e,i)=>(n(r,t,!0),o.add(e),Reflect.getOwnPropertyDescriptor(e,i)),has:(e,o)=>(n(r,t,!0),Reflect.has(e,o)),ownKeys:e=>(n(r,t,!0),o.add(e),Reflect.ownKeys(e))})}function re(e){return t=>oe(t,e)}function ne(e,t){const r=e.slice(0,-1);return e=>{const n=oe(e,r),o=n?.[t.method];return"function"==typeof o?o.apply(n,t.args):void 0}}function oe(e,t){let r=e;for(const e of t){if(!r||"object"!=typeof r)return r;r=r[e]}return r}function ie(){const e=new Map;return{buildProxySubscriptions(t,r){const n=new Set;for(const[t,r]of e)ae(r,t,[],0,n);!function(e,t,r){for(const r of e)t(r.store,r.invocation?ne(r.path,r.invocation):re(r.path));r&&function(e){const t=e.size;console.log(`[📡 ${t} ${Z("Proxy Subscription",t)} 📡]:`,JSON.stringify(Array.from(e).map(e=>{const t=R(e.store),r=e.path.join(".");if(!e.invocation)return r?`$(${t}).${r}`:`$(${t})`;const n=e.invocation.args?.length??0;return`$(${t}).${r}${n?`(${n}_${Z("arg",n)})`:"()"}`}),null,2))}(e)}(n,t,r)},trackPath(t,r,n,o){let i=e.get(t);i||(i=se(),e.set(t,i)),ce(i,r,0,n,o)}}}function se(){return Object.create(null)}function ce(e,t,r,n,o){if(r===t.length)return n&&(e.isLeaf=!0),void(o&&(e.invocation=o));e.children||(e.children=se());const i=t[r];let s=e.children?.[i];s||(s=se(),e.children[i]=s),ce(s,t,r+1,n,o)}function ae(e,t,r,n,o,i=1){const s=e.children;if(!s)return void o.add({store:t,path:r,invocation:e.invocation,isLeaf:e.isLeaf??!1});const c=Object.keys(s),a=c.length;if(0!==a)if(e.isLeaf||n>=i&&a>1){o.add({store:t,path:r,invocation:e.invocation,isLeaf:e.isLeaf??!1});for(const e of c){const c=s[e];c.invocation&&ae(c,t,[...r,e],n+1,o,i)}}else if(n<i&&a>1&&!e.isLeaf)for(const e of c)ae(s[e],t,[...r,e],n+1,o,i);else{if(1===a){const e=c[0];return void ae(s[e],t,[...r,e],n+1,o,i)}o.add({store:t,path:r,invocation:e.invocation,isLeaf:e.isLeaf??!1})}else o.add({store:t,path:r,invocation:e.invocation,isLeaf:e.isLeaf??!1})}var ue=!1,le=!1,fe=new Map,de=new Map,ye=new Map,pe=null,he=1/0;function ge(){return ue}function be(){return pe}function me(){ue||(ue=!0,le||(le=!0,queueMicrotask(()=>{le=!1,e.unstable_batchedUpdates(()=>{for(;de.size>0;){const e=he,t=ye.get(e);if(t){ye.delete(e);for(const e of t)de.delete(e);pe=e;for(const e of t)e();if(pe=null,ye.size>0){he=1/0;for(const e of ye.keys())e<he&&(he=e)}else he=1/0}else{he=1/0;for(const e of ye.keys())e<he&&(he=e)}}for(;fe.size>0;){const e=Array.from(fe.values());fe.clear();for(const t of e)t()}}),ue=!1,pe=null,de.clear(),ye.clear(),he=1/0})))}function Se(e,t){ue&&fe.set(e,t)}var ve=e=>e;function we(e,t=Object.is){return r=function(e,t=Object.is){const{debounceOptions:r,debugMode:n,equalityFn:o,keepAlive:i,lockDependencies:s}="function"==typeof(l=t)?{debounceOptions:void 0,debugMode:!1,equalityFn:l,keepAlive:!1,lockDependencies:!1}:{debounceOptions:l.debounce,debugMode:(c&&l.debugMode)??!1,equalityFn:l.equalityFn??Object.is,keepAlive:l.keepAlive??!1,lockDependencies:l.lockDependencies??!1},a=String(je+=1),u=new Set;var l;i&&u.add(qe);const f=new Set;let d,y,p=Oe,h=!1,g=!0,b=!0,m=!0,S=0,v=!1,w=null,O=Oe;function j(e,t,r){if(!m||!u.size)return(t??ve)(N(e)?e.getSnapshot():e.getState());if(!t)return d||(d=new WeakMap),y||(y=ie()),ee(e,d,y.trackPath);const n=e.subscribe(t,z,{equalityFn:r??Object.is,isDerivedStore:!0});return f.add(n),t(N(e)?e.getSnapshot():e.getState())}function F(e){for(const t of f)t(e);f.clear()}function A(){if(!b&&Fe(p))return p;b=!1,m&&F(!0);const t=p,r=Fe(t);p=function(t){g=!0;const r=p,i=e(t);return Fe(r)&&o(r,i)?(n&&console.log("[🥷 Derive Complete 🥷]: No change detected"),g=!1,r):i}(j);const i=n&&(!r||"verbose"===n&&m);if(i){r?"verbose"===n&&console.log("[🌀 Rebuilding Subscriptions 🌀]: Created…"):console.log("[🌀 Initial Derive Complete 🌀]: Created…");const e=f.size;console.log(`[🎯 ${e} ${Z("Selector Subscription",e)} 🎯]`)}return y&&m&&(y.buildProxySubscriptions((e,t)=>{const r=e.subscribe(t,z,{equalityFn:Object.is,isDerivedStore:!0});f.add(r)},i),d=void 0,y=void 0),g&&r&&function(e,t){const r=function(){const e=u.has(qe)?u.size-1:u.size;return S>0&&S<e}(),o=!S||r,i=r||null!==be()||ge()&&o;r&&me(),n&&console.log(`[📻 Derive Complete 📻]: Notifying ${u.size} ${Z("watcher",u.size)}`);for(const t of u){if("function"==typeof t||!t.isDerivedWatcher)continue;const r=t.selector(e);if(!t.equalityFn(t.currentSlice,r)){const e=t.currentSlice;t.currentSlice=r,t.listener(r,e)}}i?v||(v=!0,Fe(O)||(O=t),Se(a,I)):C(e,t)}(p,t),s&&(m=!1),p}function C(e,t){for(const r of u)if("function"==typeof r)r(e,t);else if(!r.isDerivedWatcher){const t=r.selector(e);if(!r.equalityFn(r.currentSlice,t)){const e=r.currentSlice;r.currentSlice=t,r.listener(t,e)}}}function I(){u.size&&(v&&function(){if(b&&!S&&A(),!Fe(p))return;const e=Fe(O)?O:p;C(p,e)}(),v=!1,O=Oe)}const k=r?q(E,"number"==typeof r?r:r.delay,"number"==typeof r?{leading:!1,maxWait:r,trailing:!0}:r):void 0,T=k??(()=>{h||(h=!0,queueMicrotask(E))});function E(){u.size&&(h=!1,b&&A())}function x(e){e?queueMicrotask(()=>{u.size||K()}):K()}function M(){E(),w=null}function z(){if(!b){if(b=!0,!k){if(S){me();const e=be(),t=null===e?0:e+1;if(null!==w&&t<=w)return;return w=t,void function(e,t){if(!ue)return;const r=t<0?0:0|t,n=de.get(e);if(void 0===n){de.set(e,r);let t=ye.get(r);return t||(t=new Set,ye.set(r,t)),t.add(e),void(r<he&&(he=r))}if(r>n){const t=ye.get(n);if(t&&(t.delete(e),0===t.size&&(ye.delete(n),n===he))){he=1/0;for(const e of ye.keys())e<he&&(he=e)}de.set(e,r);let o=ye.get(r);o||(o=new Set,ye.set(r,o)),o.add(e),r<he&&(he=r)}}(M,t)}if(ge())return void(v||(v=!0,Fe(p)&&(O=p),Se(a,I)))}w=null,S&&!r?A():T()}}function D(){return b||!Fe(p)?u.size>0?A():e(j):p}function K(e=!0){i&&e||(k?.cancel(),F(),u.clear(),S=0,y=void 0,d=void 0,m=!0,h=!1,b=!0,p=Oe,v=!1,O=Oe,w=null)}return{destroy:()=>K(!1),flushUpdates:function(){u.size&&(k?k.flush():b&&A())},getSnapshot:function(){if(!Fe(p)){u.add(qe);const e=A();return u.delete(qe),e}return h&&E(),p},getState:D,subscribe:function(...e){if(1===e.length){const t=e[0];return u.add(t),1!==u.size||Fe(p)||D(),()=>{u.delete(t),u.size||x(!1)}}const[t,r,n]=e,o=n?.equalityFn??Object.is,i=n?.isDerivedStore??!1,s={currentSlice:void 0,equalityFn:o,isDerivedWatcher:i,listener:r,selector:t};return u.add(s),s.currentSlice=t(D()),i&&(S+=1),n?.fireImmediately&&r(s.currentSlice,s.currentSlice),()=>{u.delete(s),i&&(S-=1),u.size||x(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=ve,t=void 0){return n.useSyncExternalStoreWithSelector(r.subscribe,r.getSnapshot,void 0,e,t)},r);var r}var Oe=Symbol(),je=0;function qe(){}function Fe(e){return e!==Oe}var Ae=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=T.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 Ie(e,t){const r=Object.prototype.hasOwnProperty;function n(e,t){for(const r of e.keys())if(Ie(r,t))return r}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--&&Ie(e[i],t[i]););return-1===i}if(o===Set){if(e.size!==t.size)return!1;for(let r of e){if(s=r,s&&"object"==typeof s&&(s=n(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 r of e){if(s=r[0],s&&"object"==typeof s&&(s=n(t,s),!s))return!1;if(!Ie(r[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 r=e,n=t;if((i=r.byteLength)===n.byteLength)for(;i--&&r[i]===n[i];);return-1===i}if(!o||"object"==typeof e){i=0;for(const n in e){if(r.call(e,n)&&++i&&!r.call(t,n))return!1;if(!(n in t)||!Ie(e[n],t[n]))return!1}return Object.keys(t).length===i}}return e!=e&&t!=t}var ke=new WeakMap,Te=new WeakMap;function Ee(e,t=xe,r=Ie){return function(e,t,r){let n=Te.get(e);n||(n=new Map,Te.set(e,n));let o=n.get(t);o||(o=new Map,n.set(t,o));const i=o.get(r);if(i)return i;const[s,c,a]=ze(e,t,r),u=new Map,l=e=>{const t={get(t,r){if("value"===r){let t=c();const r=e.split(".");for(const e of r)e&&(t=t[e]);return t}const n="string"==typeof r?r:r.toString(),o=e?`${e}.${n}`:n,i=u.get(o);if(i)return i;const a=l(o);return ke.set(a,s),u.set(o,a),a},set(t,r,n){const o=e.split(".");return""===o[0]&&o.shift(),a(o,n),!0}};return new Proxy(Object.create(null),t)},f=l("");return s(()=>{}),ke.set(f,s),o.set(r,f),f}(e,t,r)}var xe=e=>e,Me=(e,t,r)=>{if(!t.length)return r;const[n,...o]=t,i=e[n],s=Me(i,o,r);if(Ie(i,s))return e;const c=Array.isArray(e)?e.slice():{...e};return c[n]=s,c},ze=(e,t,r)=>{const n=new Set,o=N(e);let i,s=t(o?e.getSnapshot():e.getState());return[c=>(n.size||(i=e.subscribe(t,e=>{s=e,n.forEach(e=>e())},{equalityFn:r,isDerivedStore:o})),n.add(c),()=>{n.delete(c),!n.size&&i&&(i(),i=void 0)}),()=>(n.size||(s=t(e.getState())),s),(r,n)=>{if(t!==xe)throw new Error("Cannot set a value with a selector");e.setState(e=>Me(e,r,n),!0)}]};function De(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var[Ke,Pe]=[!0,!1],$e={error:Ke,lastFetchedAt:Ke,queryCache:Ke,queryKey:Ke,status:Ke,enabled:Pe,fetch:Pe,getCacheEntry:Pe,getData:Pe,getStatus:Pe,isDataExpired:Pe,isStale:Pe,reset:Pe},Le=T.seconds(5);function Re(e,t){const r=t?.baseDelay??T.seconds(5),n=t?.maxDelay??T.minutes(5),o=Math.pow(2,e);return Math.min(r*o,n)}function Ne(e){return JSON.stringify(Object.keys(e).sort().map(t=>e[t]))}function We(e){return JSON.stringify(_e(e))}function _e(e){return"object"!=typeof e||null===e?e:Object.keys(e).sort().reduce((t,r)=>{const n=e[r];return t[r]=null!==n&&"object"==typeof n?_e(n):n,t},{})}function Qe(e,t,r,n){return n?Ue(n,r)?n:{...Ve(e,t),...n}:Ve(e,t)}function Ve(e,t){const r=t?.params??Object.create(null);for(const t in e?.params){const n=e.params[t];n&&(r[t]=n.value)}return r}function Je(){return Object.create(null)}function Ue(e,t){if(!e)return!1;for(const r of t)if(!(r in e))return!1;return!0}function Be(e,t,r){if(!r.queryCache)return r;const n=Date.now(),o=t??(e&&r.queryKey||null);let i=!1;const s=Object.create(null);for(const e in r.queryCache){if(!De(r.queryCache,e))continue;const c=r.queryCache[e];c&&(n-(c.lastFetchedAt??c.errorInfo.lastFailedAt)<c.cacheTime||e===o)?!t&&c.errorInfo&&c.errorInfo.retryCount>0?(s[e]={...c,errorInfo:{...c.errorInfo,retryCount:0}},i=!0):s[e]=c:i=!0}return i?{...r,queryCache:s}:r}function He(e){return"function"==typeof e}function Ge(e){return!He(e)}function Xe(e,t){return r=>{const n={...r},o={};for(const e in n)De(n,e)&&e in $e&&($e[e]&&(o[e]=n[e]),delete n[e]);return{...t?t(n):k(n),...Be(e,null,o)}}}var Ye=Symbol(),Ze=Object.freeze({debugMode:!1,enabled:!0,equalityFn:Object.is,fireImmediately:!1}),et=Object.freeze({fireImmediately:!1,forceResubscribe:!1});function tt(e,t,r=et){if(t.current.isActive){if(!r?.forceResubscribe)return;t.current.unsubscribe()}t.current.options.debugMode&&console.log("[📡 useListen 📡] Attaching listener"),t.current.isActive=!0,t.current.resubscribe=(r=et)=>tt(e,t,r);const n=e.subscribe(e=>t.current.selector(e),(e,r)=>t.current.react(e,r,()=>{n(),t.current.isActive=!1}),r.fireImmediately?{...t.current.options,fireImmediately:!0}:t.current.options);t.current.unsubscribe=()=>{t.current.isActive&&(n(),t.current.isActive=!1)}}function rt(e){return"function"==typeof e?{equalityFn:e}:e??Ze}var nt=Symbol();function ot(e,t){return function(...r){const n=e.getState()[t];if("function"==typeof n)return n(...r);throw new Error(`[createVirtualStoreAction]: Method ${String(t)} is not a function`)}}function it(e,t){return"function"==typeof e[t]}exports.QueryStatuses=Ce,exports.applyStateUpdate=$,exports.configureStores=function(e){var t;c&&function(){if(b)throw new Error("[stores]: configureStores() called after first store creation. Call it earlier before creating any stores.")}(),e.logger&&(t=e.logger,f=t),p??(p=v(e))},exports.createBaseStore=Y,exports.createDerivedStore=we,exports.createQueryStore=function(e,t,r){S();const n="function"==typeof t?t:Je,o="object"==typeof t?t:r,i=o&&"storageKey"in o?o:void 0,{fetcher:s,onError:u,onFetched:y,setData:p,transform:h,abortInterruptedFetches:g=!0,cacheTime:b=T.days(7),debugMode:m=!1,disableAutoRefetching:v=!1,disableCache:w=!1,enabled:O=!0,keepPreviousData:j=!1,maxRetries:F=5,paramChangeThrottle:A=!1,params:C,retryDelay:I=Re,suppressStaleTimeWarning:k=!1,useParsableQueryKeys:E=!0}=e;let x="function"==typeof e.staleTime?T.minutes(2):e.staleTime??T.minutes(2);c&&!v&&!k&&x<Le&&console.warn(`[createQueryStore${i?.storageKey?`: ${i.storageKey}`:""}] ❌ Stale times under ${Le/1e3} seconds are not recommended. Provided staleTime: ${x/1e3} seconds`);const M=E?We:Ne,z=new Error("[createQueryStore: AbortError] Fetch interrupted"),D="function"==typeof b,K=c&&m,P=Object.keys(e.params??Object.create(null));let $=null,L=null,R=null,N=[],W=!1,_=!1,Q=null,V=null,J=null,U=null,B=null;const H={enabled:"function"!=typeof O&&O,error:null,lastFetchedAt:null,queryCache:{},queryKey:"",status:Ce.Idle},G=new Ae({disableAutoRefetching:v,initialEnabled:H.enabled}),X=()=>{Q&&(V=null,Q.abort(),Q=null)},Z=(t,r,o)=>{const c=o.setState,a=(e,t)=>{const r="function"==typeof e;if(r||void 0!==e.enabled){let t;const n=c(n=>{const i=r?e(n):e,s=void 0!==i.enabled?i.enabled:n.enabled;return s!==n.enabled&&(t=()=>((e,t)=>{e!==t&&B!==t&&(B=t,G.setEnabled(t),t?queueMicrotask(()=>o.getState().fetch(void 0,{updateQueryKey:!0})):(J||g)&&(g&&X(),J&&(clearTimeout(J),J=null)))})(n.enabled,s)),i});return t?.(),n}return c(e)};o.setState=a,G.init({onSubscribe:(n,o,i)=>{if(L||$||!C&&"function"!=typeof e.enabled&&"function"!=typeof e.staleTime){if(n)if(o){const e=Ve($,L),n=M(e),o=r();o.queryKey!==n&&t(e=>({...e,queryKey:n})),o.isStale()?S.fetch(e,void 0,!0):m(e,void 0)}else v&&!i&&S.fetch(void 0,void 0,!0)}else W=!0},onLastUnsubscribe:e=>{J&&(clearTimeout(J),J=null),g&&!e&&X()}});const m=(e,t)=>{if(v||t?.skipStoreUpdates)return;if(x<=0||x===1/0)return;J&&(clearTimeout(J),J=null);const n=M(e),o=r(),i=(w?U===n&&o.lastFetchedAt:o.queryCache[n]?.lastFetchedAt)||null,s=i?x-(Date.now()-i):x;J=setTimeout(()=>{const t=G.get();t.enabled&&t.subscriptionCount>0&&S.fetch(e,{force:!0},!0)},s)},S={...n(a,r,o),...H,async fetch(e,n,o=!1){const c=G.get();if(!n?.force&&!n?.skipStoreUpdates&&!c.enabled)return null;const v=r(),O=v.error,q=v.queryKey,A=v.status,C=Qe($,L,P,e),k=M(C),T=n?.staleTime??x,E=A===Ce.Loading,R=!!n?.skipStoreUpdates,N="boolean"==typeof n?.updateQueryKey?n.updateQueryKey:o?j:!R,W=o||!R&&(N||q===k);if(V?.promise&&V.key===k&&E)return K&&console.log("[🔄 Using Active Fetch 🔄] for params:",JSON.stringify(C)),V.promise;if(g&&!R&&!1!==n?.updateQueryKey&&X(),!n?.force){const e=v.lastFetchedAt,r=v.queryCache[k],o=r?.lastFetchedAt,i=r?.errorInfo,s=i&&i.retryCount>=F,a=(w?U===k&&e:o)||null;if(a&&!(Date.now()-a>=T)&&(!i||s||R))return W&&!R&&!J&&c.subscriptionCount>0&&0!==x&&x!==1/0&&m(C,n),N&&t(e=>e.queryKey!==k?{...e,queryKey:k}:e),K&&console.log("[💾 Returning Cached Data 💾] for params:",JSON.stringify(C)),r?.data??null}!R&&W&&(J&&(clearTimeout(J),J=null),!O&&E||t(e=>({...e,error:null,status:Ce.Loading})),V={key:k});const _=n?.cacheTime??(D?b(C):b),B=async()=>{try{K&&(o||!e||Ue(e,P)?console.log("[🔄 Fetching 🔄] for params:",JSON.stringify(C)):console.log("[🔄 Fetching with Partial Params 🔄]\n","- Provided params:",`${JSON.stringify(e)}\n`,"- Filled in params:",`${JSON.stringify(Object.fromEntries(Object.keys(C).filter(t=>!(t in e)).map(e=>[e,C[e]])))}`));const r=await(g&&!R&&W?(async e=>{const t=new AbortController;Q=t;try{return await new Promise((r,n)=>{t.signal.addEventListener("abort",()=>n(z),{once:!0}),Promise.resolve(s(e,t)).then(r,n)})}finally{Q===t&&(Q=null)}})(C):s(C,null)),c=Date.now();let u;K&&console.log("[✅ Fetch Successful ✅] for params:",JSON.stringify(C));try{u=h?h(r,C):r}catch(e){throw new l(`[createQueryStore: ${i?.storageKey||k}]: transform failed`,e)}if(R)return K&&console.log("[🥷 Successful Parallel Fetch 🥷] for params:",JSON.stringify(C)),"withCache"===n.skipStoreUpdates&&t(e=>{if(!p)return w?{...e,queryCache:{...e.queryCache,[k]:{cacheTime:_,data:u,errorInfo:null,lastFetchedAt:c}}}:e;let t=e;const r=t.queryCache[k];return p({data:u,params:C,queryKey:k,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!w&&Object.is(r,t.queryCache[k])&&(t={...t,queryCache:{...t.queryCache,[k]:{cacheTime:_,data:u,errorInfo:null,lastFetchedAt:c}}}),t}),u;if((p?a:t)(e=>{let t={...e,error:null,lastFetchedAt:c,queryKey:N?k:e.queryKey,status:Ce.Success};if(p||w){if(p){K&&console.log("[💾 Setting Data 💾] for params:",JSON.stringify(C));const e=t.queryCache[k];p({data:u,params:C,queryKey:k,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!w&&Object.is(e,t.queryCache[k])&&(t.queryCache={...t.queryCache,[k]:{cacheTime:_,data:null,errorInfo:null,lastFetchedAt:c}})}}else K&&console.log("[💾 Setting Cache 💾] for params:",JSON.stringify(C),"| Has previous data?:",!!t.queryCache[k]?.data),t.queryCache={...t.queryCache,[k]:{cacheTime:_,data:u,errorInfo:null,lastFetchedAt:c}};return w||b===1/0?t:Be(j,k,t)}),W&&(U=k,m(C,n)),y)try{y({data:u,fetch:S.fetch,params:C,set:a})}catch(e){f.error(new l(`[createQueryStore: ${i?.storageKey||k}]: onFetched callback failed`,e))}return u??null}catch(s){if(s===z)return K&&console.log("[❌ Fetch Aborted ❌] for params:",JSON.stringify(C)),null;const c=!o&&!0===n?.throwOnError,a=d(s);if(R||!W){if(f.error(new l(`[createQueryStore: ${i?.storageKey||k}]: Failed to fetch data`,a)),c)throw a;return null}const y=w?void 0:r().queryCache[k],p=y?.errorInfo?.retryCount??0,h=p+1;if(u?.(a,p),p<F){if(G.get().subscriptionCount>0){const t="function"==typeof I?I(h,a):I;t!==1/0&&(J&&clearTimeout(J),J=setTimeout(()=>{const{enabled:t,subscriptionCount:r}=G.get();t&&r>0&&S.fetch(e,{force:!0},!0)},t))}t(e=>({...e,error:a,queryCache:{...e.queryCache,[k]:{cacheTime:y?.cacheTime??_,data:y?.data??null,lastFetchedAt:y?.lastFetchedAt??null,errorInfo:{error:a,lastFailedAt:Date.now(),retryCount:h}}},queryKey:N?k:e.queryKey,status:Ce.Error}))}else t(e=>({...e,error:a,queryCache:{...e.queryCache,[k]:{cacheTime:y?.cacheTime??_,data:y?.data??null,lastFetchedAt:y?.lastFetchedAt??null,errorInfo:{error:a,lastFailedAt:Date.now(),retryCount:F}}},queryKey:N?k:e.queryKey,status:Ce.Error}));if(f.error(new l(`[createQueryStore: ${i?.storageKey||k}]: Failed to fetch data`,a)),c)throw a;return null}finally{!R&&W&&(V=null)}};return R||!W?B():(V={key:k,promise:B()}).promise},getCacheEntry(e){if(w)return null;const t=r(),n=e?"string"==typeof e?e:M(Qe($,L,P,e)):t.queryKey;return t.queryCache[n]??null},getData(e){if(w)return null;const t=r().getCacheEntry(e);return t&&null!==t.data?j?t.data:t.lastFetchedAt&&Date.now()-t.lastFetchedAt>=t.cacheTime?null:t.data:null},getStatus:function(e){switch(e){case"isIdle":return r().status===Ce.Idle;case"isLoading":return r().status===Ce.Loading;case"isSuccess":{const e=r(),t=e.queryCache[e.queryKey]?.lastFetchedAt;return"number"==typeof t||e.status===Ce.Success}case"isError":case"isInitialLoad":case void 0:{const t=r(),n=t.queryCache[t.queryKey],o=(w?U===t.queryKey&&t.lastFetchedAt:n?.lastFetchedAt)||null,i=t.status;switch(e){case"isError":{const e=t.queryCache[t.queryKey];return w?"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=r(),n=t.queryCache[t.queryKey],o=t.queryKey,i=t.lastFetchedAt,s=(w?U===o&&i:n?.lastFetchedAt)||null;if(!s)return!0;const c=e??n?.cacheTime;return void 0===c||Date.now()-s>=c},isStale(e){const t=r(),n=t.queryKey,o=(w?U===n&&t.lastFetchedAt:t.queryCache[n]?.lastFetchedAt)||null;if(!o)return!0;const i=e??x;return Date.now()-o>=i},reset(e=!1){for(const e of N)e();N=[],$=null,L=null,R=null,X(),J&&(clearTimeout(J),J=null),V=null,U=null,e&&t(e=>({...e,...H}))}},O=o.subscribe;return o.subscribe=(...e)=>{const t=_?()=>{}:G.subscribe(),r=1===e.length?O(e[0]):O(e[0],e[1],e[2]);return e=>{t(e),r()}},S},ee=i?.storageKey?Y(Z,Object.assign(Object.create(null),i,{partialize:Xe(j,i.partialize)})):o&&!("storageKey"in o)?Y(Z,o):Y(Z),te=ee.getState(),re=te.error,ne=te.enabled,oe=te.queryKey;if(oe&&!re&&(U=oe),_=!0,C||"function"==typeof e.enabled){const{directValues:e,enabledAttachVal:t,enabledDirectValue:r,attachVals:n}=function(e,t,r){const n=Object.create(null),o=Object.create(null),i=Object.create(null);for(const e in t){if(!De(t,e))continue;const s=t[e];if(He(s)){const t=s(Ee,r);n[e]=t,i[e]=t.value}else Ge(s)&&(o[e]=s,i[e]=s)}let s,c=null,a=null;if(He(e)){const t=e(Ee,r);s=t.value,c=t}else s=e,a=e;return{attachVals:n,directValues:o,enabledAttachVal:c,enabledDirectValue:a,resolvedEnabled:s,resolvedParams:i}}(O,C,ee);$={enabled:t,params:n},L={enabled:r,params:e}}"function"==typeof e.staleTime&&(R=e.staleTime(Ee,ee),x=R.value);const ie=function(){let e,t=!1;return function(...r){e=r,t||(t=!0,queueMicrotask(()=>{t=!1,(e=>{te.fetch(e??Ve($,L),{updateQueryKey:j})})(...e)}))}}();function se(){let e;if(!j){e=Ve($,L);const t=M(e);ee.setState(e=>({...e,queryKey:t}))}ie(e)}const ce=a||!A?se:q(se,"number"==typeof A?A:A.delay,"number"==typeof A?{leading:!1,maxWait:A,trailing:!0}:A);if($?.enabled){const e=$.enabled,t=ke.get(e);if(t){let r=e.value;ne!==r&&ee.setState(e=>({...e,enabled:r})),r&&G.setEnabled(r),K&&console.log("[🌀 Enabled Subscription 🌀] Initial value:",r);const n=t(()=>{const t=e.value;t!==r&&(K&&console.log("[🌀 Enabled Change 🌀] - [Old]:",`${r},`,"[New]:",t),r=t,ee.setState(e=>({...e,enabled:t})))});N.push(n)}}else ne!==H.enabled&&ee.setState(e=>({...e,enabled:H.enabled}));for(const e in $?.params){const t=$.params[e];if(!t)continue;const r=ke.get(t);if(K&&console.log("[🌀 Param Subscription 🌀] Subscribed to param:",e),r){let n=t.value;const o=r(()=>{const r=t.value;Ie(n,r)||(K&&console.log("[🌀 Param Change 🌀] -",e,"- [Old]:",`${n?.toString()},`,"[New]:",r?.toString()),n=r,ce())});N.push(o)}}if(R){const e=ke.get(R);if(e){const t=R;let r=t.value;K&&console.log("[🌀 StaleTime Subscription 🌀] Initial value:",r);const n=e(()=>{const e=t.value;e!==r&&(K&&console.log("[🌀 StaleTime Change 🌀] - [Old]:",`${r},`,"[New]:",e),r=e,x=e,ee.getState().fetch())});N.push(n)}}return _=!1,W&&queueMicrotask(ce),ae=ee,ue="_queryStore",Object.assign(ae,{[ue]:!0});var ae,ue},exports.createStoreActions=function(e,t){const r=function(e){const t=e.getState(),r=Object.create(null);if(c&&("object"!=typeof t||null===t))throw new Error("[createStoreActions]: State is not an object");if(Q(e)){for(const n in t)it(t,n)&&(r[n]=ot(e,n));return r}for(const e in t)it(t,e)&&(r[e]=t[e]);return r}(e);return t?Object.assign(r,t):r},exports.createVirtualStore=function(e,t,r){const n="function"==typeof t,o=n?t:void 0,i=n?r:t,s=new Set,c=we(e,{debugMode:i?.debugMode??!1,equalityFn:function(e,t){const r=Object.is(e,t);return r||(function(e,t){for(const r of s){r.unsubscribe();const n=r.args;if(1===n.length){const o=n[0],i=e.getState(),s=t.getState(),c=t.subscribe(o);r.unsubscribe=c,Object.is(s,i)||o(s,i);continue}const o=n[0],i=n[1];let s=n[2];s?.fireImmediately&&(s={...s,fireImmediately:!1});const c=o(e.getState()),a=o(t.getState()),u=t.subscribe(o,i,s);r.unsubscribe=u,(s?.equalityFn??Object.is)(c,a)||i(a,c)}}(e,t),L(e)),r},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 r=c();return e?r(e,t):r()},{_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)},exports.deepEqual=function e(t,r){if("object"!=typeof t||null==t||"object"!=typeof r||null==r)return t===r;if(Object.is(t,r))return!0;const n=Object.keys(t);if(n.length!==Object.keys(r).length)return!1;for(const o of n)if(!(o in r)||!e(t[o],r[o]))return!1;return!0},exports.defaultRetryDelay=Re,exports.destroyStore=L,exports.destroyStores=function(e,t){for(const r of Array.isArray(e)?e:Object.values(e))r&&!t?.skipDestroy?.(r)&&L(r,t)},exports.getLegacyQueryKey=Ne,exports.getQueryKey=We,exports.getStoreName=R,exports.isDerivedStore=function(e){return"flushUpdates"in e},exports.isPersistedStore=_,exports.isQueryStore=W,exports.isVirtualStore=Q,exports.parseQueryKey=function(e){return JSON.parse(e)},exports.replacer=C,exports.reviver=I,exports.shallowEqual=function(e,t){if("object"!=typeof e||null==e||"object"!=typeof t||null==t)return e===t;if(Object.is(e,t))return!0;const r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(const n of r)if(!Object.is(e[n],t[n]))return!1;return!0},exports.time=T,exports.useListen=function(e,t,r,n=Ze){const i=function(){const e=o.useRef(Ye);return e.current===Ye&&(e.current=function(e,t,r){return{selector:e,react:t,isActive:!1,options:rt(r),resubscribe:()=>{},unsubscribe:()=>{}}}(t,r,n)),e}(),s=function(e){return"function"==typeof e?Ze.enabled:e?.enabled??Ze.enabled}(n);return i.current.react=r,i.current.selector=t,function(e,t){"function"==typeof t?e.current.options.equalityFn=t:t&&(e.current.options=t??Ze)}(i,n),o.useLayoutEffect(()=>{if(s)return tt(e,i),()=>function(e){e.current.options.debugMode&&console.log("[🗑️ useListen 🗑️] Detaching listener"),e.current.resubscribe=()=>{},e.current.unsubscribe(),e.current.unsubscribe=()=>{},e.current.isActive=!1}(i)},[s,e]),i},exports.useStableValue=function(e){const t=o.useRef(nt);return t.current===nt&&(t.current=e()),t.current};
1
+ var e=require("react-native"),t=require("react-native-mmkv"),r=require("zustand/middleware"),n=require("zustand/traditional"),o=require("use-sync-external-store/shim/with-selector"),i=require("react"),s="ios"===e.Platform.OS;e.Platform.OS;var c="development"===process.env.NODE_ENV,a="test"===process.env.NODE_ENV;function u(e){let r;function n(){if(r)return r;try{const n=function(e){if("function"==typeof t.createMMKV)return t.createMMKV({id:e});if("function"==typeof t.MMKV)return new t.MMKV({id:e});throw new Error("[stores]: react-native-mmkv module does not export MMKV/createMMKV.")}(e);let o;if("function"==typeof n.delete){const e=n.delete;o=t=>e.call(n,t)}else if("function"==typeof n.remove){const e=n.remove;o=t=>e.call(n,t)}if("function"!=typeof o)throw new Error("[stores]: Storage instance does not conform to expected interface");r={clearAll:()=>n.clearAll(),contains:e=>n.contains(e),delete:e=>o(e),get:e=>n.getString(e),getAllKeys:()=>n.getAllKeys(),set:(e,t)=>n.set(e,t)}}catch(e){throw new Error("[stores] react-native-mmkv could not be loaded.\n\nPersisted stores require a storage backend. Either:\n - Install MMKV (the default): yarn add react-native-mmkv\n - Or provide a custom adapter via configureStores()\n"+(e instanceof Error?`\n${e.message}`:""))}return function(e){if(!e||"function"!=typeof e.get||"function"!=typeof e.set||"function"!=typeof e.delete||"function"!=typeof e.clearAll)throw new Error("[stores]: Storage instance does not conform to expected interface")}(r),r}return{clearAll:()=>n().clearAll(),contains:e=>n().contains(e),delete:e=>n().delete(e),get:e=>n().get(e),getAllKeys:()=>n().getAllKeys(),set:(e,t)=>n().set(e,t)}}var l=class extends Error{constructor(e,t){super(e),this.name="StoresError",this.cause=d(t)}},f={debug:(e,t)=>{c&&console.debug(e,t)},error:(e,t)=>{c&&!a&&console.error(e,t)},info:(e,t)=>{c&&console.info(e,t)},warn:(e,t)=>{c&&console.warn(e,t)}};function d(e){return e instanceof Error?e:new Error(String(e))}var y,p,h=class{destroy(){}publish(){}},g=class{constructor(){this.sessionId="noop"}register(e){return new h}},b=!1;function m(){return p??(p=v(void 0))}function S(){b=!0}function v(e){return{storage:e?.storage??u(e?.storageKeyPrefix??"stores:"),syncEngine:e?.syncEngine??(y||(y=new g),y)}}function w(){let e,t,r=!1;return{complete:function(){!r&&e&&(r=!0,e(),e=void 0,t=void 0)},isHydrated:function(){return r},fail:function(n){!r&&t&&(r=!0,t(n),t=void 0,e=void 0)},promise:new Promise((r,n)=>{e=r,t=n})}}var O=Math.max,j=Math.min;function q(e,t=0,r={}){let n,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 r=n,i=o;return n=o=void 0,u=t,s=r?e.apply(i,r):e.apply(i),s}function p(e){const r=e-(a??0);return void 0===a||r>=t||r<0||f&&void 0!==i&&e-u>=i}function h(){const e=A();if(p(e))return g(e);c=setTimeout(h,function(e){const r=t-(e-(a??0));return f&&void 0!==i?j(r,i-(e-u)):r}(e))}function g(e){return c=void 0,d&&n?y(e):(n=o=void 0,s)}function b(...e){const r=A(),i=p(r);if(n=e,o=this,a=r,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)}(r)&&(l=!!r.leading,f="maxWait"in r,i=f?O(F(r.maxWait)||0,t):void 0,d="trailing"in r?!!r.trailing:d),b.cancel=function(){void 0!==c&&clearTimeout(c),u=0,n=a=o=c=void 0},b.flush=function(){return void 0===c?s:g(A())},b}function A(){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,t){return t instanceof Map?{__type:"Map",entries:Array.from(t.entries())}:t instanceof Set?{__type:"Set",values:Array.from(t)}:t}function I(e,t){return function(e){return"object"==typeof e&&null!==e&&"__type"in e&&"Map"===e.__type}(t)?new Map(t.entries):function(e){return"object"==typeof e&&null!==e&&"__type"in e&&"Set"===e.__type}(t)?new Set(t.values):t}function k(e){if(null!==e&&"object"==typeof e){const t={};for(const[r,n]of Object.entries(e))"function"!=typeof n&&(t[r]=n);return t}return e}var M={ms:e=>e,seconds:e=>1e3*e,minutes:e=>M.seconds(60*e),hours:e=>M.minutes(60*e),days:e=>M.hours(24*e),weeks:e=>M.days(7*e),infinity:1/0,zero:0},T=a?0:s?M.seconds(3):M.seconds(5);function E(e){return t=>{if("string"!=typeof t)throw new l("[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?I:void 0)}catch(e){throw f.error(new l("[createBaseStore]: Failed to deserialize persisted store data"),{error:e}),e}}(t,e)}}function K(e){return t=>function(e,t){try{return JSON.stringify(e,t?C:void 0)}catch(e){throw f.error(new l("[createBaseStore]: Failed to serialize store data"),{error:e}),e}}(t,e)}var x=Object.freeze({shouldClear:!1});function z(e,t,r){if(!t||!e)return x;const n=e.getFieldTimestampSnapshot();return function(e,t){const r=e.getSessionId(),n=e.getTimestamp();void 0!==r&&void 0!==n&&(t.syncMetadata={origin:r,timestamp:n})}(e,r),r.syncMetadata?n&&Object.keys(n).length>0?(r.syncMetadata.fields=n,{fieldSnapshot:n,shouldClear:!0}):(delete r.syncMetadata.fields,{fieldSnapshot:n,shouldClear:!1}):{fieldSnapshot:n,shouldClear:!1}}function D(e,t){e&&t.shouldClear&&t.fieldSnapshot&&Object.keys(t.fieldSnapshot).length&&e.clearFieldTimestamps(t.fieldSnapshot)}function P(e){return!!e&&!!e.getIsApplyingRemote()}var $=Object.freeze({QueryStore:Symbol("queryStore"),VirtualStore:Symbol("virtualStore")});function L(e,...t){if(!0===t[1])return J(t[0])?t[0](e):t[0];const r=J(t[0])?t[0](e):t[0];return function(e){return Array.isArray(e)}(e)?r:{...e,...r}}function R(e,t){W(e)?e.getState().reset(t?.clearQueryCache):function(e){return"destroy"in e}(e)&&e.destroy()}function N(e){return Q(e)?e.persist.getOptions().name??e.name:e.name}function V(e){return"getSnapshot"in e}function W(e){return $.QueryStore in e}function Q(e){return"persist"in e}function _(e){return $.VirtualStore in e}function J(e){return"function"==typeof e}var[U,B]=[0,1];function H(e,t,r){if(!e)return!0;const n=e[U],o=e[B];return!(t<n)&&(t>n||r>o)}function G(e,t){return Object.prototype.hasOwnProperty.call(t,e)}function X(e,t){if(!c)return!0;if(null===e||null===t)return e===t;const r=typeof e;return r===typeof t&&("object"!==r||Object.prototype.toString.call(e)===Object.prototype.toString.call(t))}function Y(e){if(null===e)return"null";const t=typeof e;return"object"===t?Object.prototype.toString.call(e):t}function Z(e,t){S();const o=void 0!==t&&"string"==typeof t.storageKey,i=o?t.storageKey:void 0,s=t?.sync?function(e,t){if(!e)return null;if(!0===e){if(!t)throw new l("[createBaseStore]: sync: true requires a storageKey to inherit the key from");return{key:t}}if("string"==typeof e)return{key:e};const r=e,n=r.key??t;if(!n)throw new l("[createBaseStore]: sync requires either a key in the config or a storageKey to inherit from");return{...r,key:n}}(t.sync,i):void 0,c=o?t.storage??m().storage:void 0,a=s?function(e,t,r){const n=t.engine??m().syncEngine,o=function(e){let t,r,n,o=!1;return{isAsync:e,clearFieldTimestamps:function(e){if(e&&n){for(const t of Object.entries(e)){const e=t[0],r=t[1];n[e]===r&&delete n[e]}Object.keys(n).length||(n=void 0)}},getFieldTimestampSnapshot:function(){if(n)return{...n}},getIsApplyingRemote:()=>o,getSessionId:()=>t,getTimestamp:()=>r,mergeFieldTimestamps:function(e){if(n)for(const t of Object.entries(e)){const e=t[0],r=t[1],o=n[e];(void 0===o||r>o)&&(n[e]=r)}else n={...e}},onHydrationComplete:void 0,onHydrationFlushEnd:void 0,setIsApplyingRemote:e=>o=e,setSessionId:e=>t=e,setTimestamp:e=>r=e,setWithoutPersist:void 0}}(r);return{stateCreator:(i,s,c)=>{const a=new Map,u=[],d=[];let y=null,p=!1,h=!1,g=0,b=null,m=[],S=Promise.resolve(),v=!r;const w=(e,t)=>{if(o?.setSessionId&&o?.setTimestamp&&n.sessionId&&(o.setSessionId(n.sessionId),o.setTimestamp(e),o.mergeFieldTimestamps&&t.length>0)){const r=Object.create(null);for(const n of t)r[String(n)]=e;o.mergeFieldTimestamps(r)}},O=function(e,t){if(p||!b)return t?i(e,t):i(e);const r=(()=>{const e=Date.now(),t=e>g?e:g+1;return g=t,t})();let o=[],s=Object.create(null);const c=n=>{const i=L(n,e,t);for(const e of m)Object.is(i[e],n[e])||(o.push(e),s[e]=i[e]);return o.length&&w(r,o),i},u=t?i(c,!0):i(c),l=()=>{o.length&&(e=>{const t=n.sessionId;for(const r of e.keys)a.set(r,[e.timestamp,t]);y&&h?y.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values}):d.push(e)})({keys:o,replace:t??!1,values:s,timestamp:r})};return(f=u)&&"object"==typeof f&&"then"in f&&"function"==typeof f.then?u.finally(l):(l(),u);var f},j=c.setState;c.setState=O;const q=e(O,s,c);if(m=t.fields??function(e){const t=[];for(const r of Object.entries(e)){if("function"==typeof r[1])continue;const e=r[0];t.push(e)}return t}(q),!m.length)return q;b=new Set(m);const A=async e=>{g=Math.max(g,e.timestamp);const r=Object.create(null),n=s(),i=e.timestamp;let c;if(e.replace)for(const t of m)G(t,e.values)||H(a.get(t),i,e.sessionId)&&(c??(c=[])).push(t);for(const o of m){if(!G(o,e.values))continue;if(!b?.has(o))continue;if(!H(a.get(o),i,e.sessionId))continue;const s=t.merge?.[o];if(s){const t=e.values[o],c=n[o];if(void 0!==t){const u=s(t,c,n,e.values),d=void 0!==c?c:t;if(!X(u,d))return void f.error(new l(`[sync] Merge function for field "${String(o)}" returned ${Y(u)} but expected ${Y(d)}`));r[o]=u,a.set(o,[i,e.sessionId])}}else r[o]=e.values[o],a.set(o,[i,e.sessionId])}if(Object.keys(r).length>0||c?.length){p=!0,o&&o.setIsApplyingRemote(!0);try{if(e.replace){const e={...n};let t=!1;if(c?.length){t=!0;for(const t of c)delete e[t],a.delete(t)}for(const n in r){if(!Object.prototype.hasOwnProperty.call(r,n))continue;const o=r[n];void 0!==o&&(Object.is(e[n],o)||(t=!0),e[n]=o)}if(!t)return;await(o.setWithoutPersist??j)(e,!0)}else await(o.setWithoutPersist??j)(r)}finally{p=!1,o&&o.setIsApplyingRemote(!1)}}},F=e=>{r?S=S.then(()=>A(e)):A(e)};y=n.register({apply:e=>{v?F(e):u.push(e)},delta:t.delta,fields:m,getState:s,key:t.key});const C=()=>{h=!0,(()=>{if(y&&d.length){for(const e of d){const t=n.sessionId;for(const r of e.keys)a.set(r,[e.timestamp,t]);w(e.timestamp,e.keys),y.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values})}d.length=0}})()},I=()=>{v=!0,(()=>{if(!u.length)return;const e=u.slice();u.length=0;for(const t of e)F(t)})()};return r&&o?(o.onHydrationComplete=C,o.onHydrationFlushEnd=I):y.onHydrated?(y.onHydrated(C),I()):(C(),I()),q},syncContext:o}}(e,s,c?.async??!1):void 0,u=a?.stateCreator??e;if(!o)return n.createWithEqualityFn()(r.subscribeWithSelector(u),Object.is);const y=c?.async?function(e){let t,r,n,o=!1;return{hydrationPromise:()=>o?t?.promise??r??(r=Promise.resolve()):(t||(t=w()),t.promise),stateCreator:(r,i,s)=>{let c;return n=()=>{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]?r(e[0],e[1]):r(e[0]):(t||(t=w()),c||(c=[]),c.push(e),t.promise),i,s)},wrapOnRehydrateStorage:(e,r)=>i=>{const s=e?.(i);return(e,i)=>{o=!0,r?.onHydrationComplete?.(),n&&n(),r?.onHydrationFlushEnd?.(),i?t?.fail(d(i)):t?.complete(),s?.(e,i)}}}}(u):null,p=function(e,t,r){const n=t??e.storage??m().storage,o=(e.sync?void 0:e.persistThrottleMs??T)||void 0,i=e.version??0,s=n.async?function(e,t,r,n){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),i="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),s=t.partialize??k,c=t.deserializer??e.deserializer??E(o),a=t.serializer??e.serializer??K(o);async function u(t,r){try{if(P(n))return;r.state,r.state=s(r.state);const o=z(n,i,r),c=a(r);try{await e.set(t,c),D(n,o)}catch(e){f.error(new l("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){f.error(new l("[createBaseStore]: Failed to serialize persisted store data"),{error:e})}}const d=void 0!==r?q(u,r,{leading:!1,maxWait:r,trailing:!0}):function(e){let t,r=null;return function(...n){return t=n,r||(r=new Promise(n=>{queueMicrotask(async()=>{try{await e(...t)}finally{r=null,n()}})})),r}}(u);return{getItem:async t=>{const r=await e.get(t);return void 0===r?null:c(r)},setItem:async(e,t)=>{if(!n?.getIsApplyingRemote())return await d(e,t)},removeItem:async t=>{try{await e.delete(t)}catch(e){f.error(new l("[createBaseStore]: Failed to delete persisted store data"),{error:e})}}}}(n,e,o,r):function(e,t,r,n){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),i="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),s=t.partialize??k,c=t.deserializer??e.deserializer??E(o),a=t.serializer??e.serializer??K(o);function u(t,r){try{if(P(n))return;r.state,r.state=s(r.state);const o=z(n,i,r),c=a(r);try{e.set(t,c),D(n,o)}catch(e){f.error(new l("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){f.error(new l("[createBaseStore]: Failed to persist store data"),{error:e})}}const d=void 0!==r?q(u,r,{leading:!1,maxWait:r,trailing:!0}):u;return{getItem:t=>{const r=e.get(t);return void 0===r?null:c(r)},setItem:(e,t)=>{n?.getIsApplyingRemote()||d(e,t)},removeItem:t=>{try{e.delete(t)}catch(e){f.error(new l("[createBaseStore]: Failed to delete persisted store data"),{error:e})}}}}(n,e,o,r);return{persistStorage:s,version:i}}(t,c,a?.syncContext),h=y?y.wrapOnRehydrateStorage(t.onRehydrateStorage,a?.syncContext):t.onRehydrateStorage,g=y?(e,t,r)=>(a&&(a.syncContext.setWithoutPersist=r.setState),y.stateCreator(e,t,r)):u,b=n.createWithEqualityFn()(r.subscribeWithSelector(r.persist(g,function(e,t,r){const n={name:e.storageKey,onRehydrateStorage:r,storage:t.persistStorage,version:t.version};return void 0!==e.merge&&(n.merge=e.merge),void 0!==e.migrate&&(n.migrate=e.migrate),n}(t,p,h))),Object.is);return y?Object.assign(b,{persist:Object.assign(b.persist,{hydrationPromise:y.hydrationPromise})}):b}function ee(e,t,r="s"){return 1===t?e:`${e}${r}`}function te(e,t,r){const n=t.get(e);if(!n){const n=function(e,t,r,n=[]){return e&&"object"==typeof e?re(e,n,t,r,new WeakSet,new WeakMap):(r(t,n,!0),e)}(V(e)?e.getSnapshot():e.getState(),e,r);return t.set(e,n),n}return n}function re(e,t,r,n,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&&(n(r,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 n(r,f,!0,{method:l,args:e.length?e:void 0}),Reflect.apply(u,s,e)}:(n(r,t,!0),u.bind(e));const d=!!u&&"object"==typeof u;return n(r,f,!d),d?(i.has(u)||i.set(u,re(u,f,r,n,o,i)),i.get(u)):u},getOwnPropertyDescriptor:(e,i)=>(n(r,t,!0),o.add(e),Reflect.getOwnPropertyDescriptor(e,i)),has:(e,o)=>(n(r,t,!0),Reflect.has(e,o)),ownKeys:e=>(n(r,t,!0),o.add(e),Reflect.ownKeys(e))})}function ne(e){return t=>ie(t,e)}function oe(e,t){const r=e.slice(0,-1);return e=>{const n=ie(e,r),o=n?.[t.method];return"function"==typeof o?o.apply(n,t.args):void 0}}function ie(e,t){let r=e;for(const e of t){if(!r||"object"!=typeof r)return r;r=r[e]}return r}function se(){const e=new Map;return{buildProxySubscriptions(t,r){const n=new Set;for(const[t,r]of e)ue(r,t,[],0,n);!function(e,t,r){for(const r of e)t(r.store,r.invocation?oe(r.path,r.invocation):ne(r.path));r&&function(e){const t=e.size;console.log(`[📡 ${t} ${ee("Proxy Subscription",t)} 📡]:`,JSON.stringify(Array.from(e).map(e=>{const t=N(e.store),r=e.path.join(".");if(!e.invocation)return r?`$(${t}).${r}`:`$(${t})`;const n=e.invocation.args?.length??0;return`$(${t}).${r}${n?`(${n}_${ee("arg",n)})`:"()"}`}),null,2))}(e)}(n,t,r)},trackPath(t,r,n,o){let i=e.get(t);i||(i=ce(),e.set(t,i)),ae(i,r,0,n,o)}}}function ce(){return Object.create(null)}function ae(e,t,r,n,o){if(r===t.length)return n&&(e.isLeaf=!0),void(o&&(e.invocation=o));e.children||(e.children=ce());const i=t[r];let s=e.children?.[i];s||(s=ce(),e.children[i]=s),ae(s,t,r+1,n,o)}function ue(e,t,r,n,o,i=1){const s=e.children;if(!s)return void o.add({store:t,path:r,invocation:e.invocation,isLeaf:e.isLeaf??!1});const c=Object.keys(s),a=c.length;if(0!==a)if(e.isLeaf||n>=i&&a>1){o.add({store:t,path:r,invocation:e.invocation,isLeaf:e.isLeaf??!1});for(const e of c){const c=s[e];c.invocation&&ue(c,t,[...r,e],n+1,o,i)}}else if(n<i&&a>1&&!e.isLeaf)for(const e of c)ue(s[e],t,[...r,e],n+1,o,i);else{if(1===a){const e=c[0];return void ue(s[e],t,[...r,e],n+1,o,i)}o.add({store:t,path:r,invocation:e.invocation,isLeaf:e.isLeaf??!1})}else o.add({store:t,path:r,invocation:e.invocation,isLeaf:e.isLeaf??!1})}var le=!1,fe=!1,de=new Map,ye=new Map,pe=new Map,he=null,ge=1/0;function be(){return le}function me(){return he}function Se(){le||(le=!0,fe||(fe=!0,queueMicrotask(()=>{fe=!1,e.unstable_batchedUpdates(()=>{for(;ye.size>0;){const e=ge,t=pe.get(e);if(t){pe.delete(e);for(const e of t)ye.delete(e);he=e;for(const e of t)e();if(he=null,pe.size>0){ge=1/0;for(const e of pe.keys())e<ge&&(ge=e)}else ge=1/0}else{ge=1/0;for(const e of pe.keys())e<ge&&(ge=e)}}for(;de.size>0;){const e=Array.from(de.values());de.clear();for(const t of e)t()}}),le=!1,he=null,ye.clear(),pe.clear(),ge=1/0})))}function ve(e,t){le&&de.set(e,t)}var we=e=>e;function Oe(e,t=Object.is){return r=function(e,t=Object.is){const{debounceOptions:r,debugMode:n,equalityFn:o,keepAlive:i,lockDependencies:s}="function"==typeof(l=t)?{debounceOptions:void 0,debugMode:!1,equalityFn:l,keepAlive:!1,lockDependencies:!1}:{debounceOptions:l.debounce,debugMode:(c&&l.debugMode)??!1,equalityFn:l.equalityFn??Object.is,keepAlive:l.keepAlive??!1,lockDependencies:l.lockDependencies??!1},a=String(qe+=1),u=new Set;var l;i&&u.add(Ae);const f=new Set;let d,y,p=je,h=!1,g=!0,b=!0,m=0,S=!1,v=null,w=je;function O(e,t,r){if(!b||!u.size)return(t??we)(V(e)?e.getSnapshot():e.getState());if(!t)return d||(d=new WeakMap),y||(y=se()),te(e,d,y.trackPath);const n=e.subscribe(t,x,{equalityFn:r??Object.is,isDerivedStore:!0});return f.add(n),t(V(e)?e.getSnapshot():e.getState())}function j(e){for(const t of f)t(e);f.clear()}let A=!0;function F(){if(!g&&Fe(p))return p;g=!1,b&&j(!0);const t=p,r=Fe(t);p=function(t){A=!0;const r=p,i=e(t);return Fe(r)&&o(r,i)?(n&&console.log("[🥷 Derive Complete 🥷]: No change detected"),A=!1,r):i}(O);const i=n&&(!r||"verbose"===n&&b);if(i){r?"verbose"===n&&console.log("[🌀 Rebuilding Subscriptions 🌀]: Created…"):console.log("[🌀 Initial Derive Complete 🌀]: Created…");const e=f.size;console.log(`[🎯 ${e} ${ee("Selector Subscription",e)} 🎯]`)}return y&&b&&(y.buildProxySubscriptions((e,t)=>{const r=e.subscribe(t,x,{equalityFn:Object.is,isDerivedStore:!0});f.add(r)},i),d=void 0,y=void 0),A&&r&&function(e,t){const r=function(){const e=u.has(Ae)?u.size-1:u.size;return m>0&&m<e}(),o=!m||r,i=r||null!==me()||be()&&o;r&&Se(),n&&console.log(`[📻 Derive Complete 📻]: Notifying ${u.size} ${ee("watcher",u.size)}`);for(const t of u){if("function"==typeof t||!t.isDerivedWatcher)continue;const r=t.selector(e);if(!t.equalityFn(t.currentSlice,r)){const e=t.currentSlice;t.currentSlice=r,t.listener(r,e)}}i?S||(S=!0,Fe(w)||(w=t),ve(a,I)):C(e,t)}(p,t),s&&(b=!1),p}function C(e,t){for(const r of u)if("function"==typeof r)r(e,t);else if(!r.isDerivedWatcher){const t=r.selector(e);if(!r.equalityFn(r.currentSlice,t)){const e=r.currentSlice;r.currentSlice=t,r.listener(t,e)}}}function I(){if(!u.size)return;if(g&&!m&&F(),!Fe(p))return;const e=Fe(w)?w:p;C(p,e),S=!1,w=je}const k=r?q(T,"number"==typeof r?r:r.delay,"number"==typeof r?{leading:!1,maxWait:r,trailing:!0}:r):void 0,M=k??(()=>{h||(h=!0,queueMicrotask(T))});function T(){u.size&&(h=!1,g&&F())}function E(e){e?queueMicrotask(()=>{u.size||D()}):D()}function K(){T(),v=null}function x(){if(!g){if(g=!0,!k){if(m){Se();const e=me(),t=null===e?0:e+1;if(null!==v&&t<=v)return;return v=t,void function(e,t){if(!le)return;const r=t<0?0:0|t,n=ye.get(e);if(void 0===n){ye.set(e,r);let t=pe.get(r);return t||(t=new Set,pe.set(r,t)),t.add(e),void(r<ge&&(ge=r))}if(r>n){const t=pe.get(n);if(t&&(t.delete(e),0===t.size&&(pe.delete(n),n===ge))){ge=1/0;for(const e of pe.keys())e<ge&&(ge=e)}ye.set(e,r);let o=pe.get(r);o||(o=new Set,pe.set(r,o)),o.add(e),r<ge&&(ge=r)}}(K,t)}if(be())return void(S||(S=!0,Fe(p)&&(w=p),ve(a,I)))}v=null,M()}}function z(){return g||!Fe(p)?u.size>0?F():e(O):p}function D(e=!0){i&&e||(k?.cancel(),j(),u.clear(),m=0,y=void 0,d=void 0,b=!0,h=!1,g=!0,p=je,S=!1,w=je,v=null)}return{destroy:()=>D(!1),flushUpdates:function(){u.size&&(k?k.flush():g&&F())},getSnapshot:function(){if(!Fe(p)){u.add(Ae);const e=F();return u.delete(Ae),e}return h&&T(),p},getState:z,subscribe:function(...e){if(1===e.length){const t=e[0];return u.add(t),1!==u.size||Fe(p)||z(),()=>{u.delete(t),u.size||E(!1)}}const[t,r,n]=e,o=n?.equalityFn??Object.is,i=n?.isDerivedStore??!1,s={currentSlice:void 0,equalityFn:o,isDerivedWatcher:i,listener:r,selector:t};return u.add(s),s.currentSlice=t(z()),i&&(m+=1),n?.fireImmediately&&r(s.currentSlice,s.currentSlice),()=>{u.delete(s),i&&(m-=1),u.size||E(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=we,t=void 0){return o.useSyncExternalStoreWithSelector(r.subscribe,r.getSnapshot,void 0,e,t)},r);var r}var je=Symbol(),qe=0;function Ae(){}function Fe(e){return e!==je}var Ce=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=M.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)}}},Ie={Error:"error",Idle:"idle",Loading:"loading",Success:"success"};function ke(e,t){const r=Object.prototype.hasOwnProperty;function n(e,t){for(const r of e.keys())if(ke(r,t))return r}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 r of e){if(s=r,s&&"object"==typeof s&&(s=n(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 r of e){if(s=r[0],s&&"object"==typeof s&&(s=n(t,s),!s))return!1;if(!ke(r[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 r=e,n=t;if((i=r.byteLength)===n.byteLength)for(;i--&&r[i]===n[i];);return-1===i}if(!o||"object"==typeof e){i=0;for(const n in e){if(r.call(e,n)&&++i&&!r.call(t,n))return!1;if(!(n in t)||!ke(e[n],t[n]))return!1}return Object.keys(t).length===i}}return e!=e&&t!=t}var Me=new WeakMap,Te=new WeakMap;function Ee(e,t=Ke,r=ke){return function(e,t,r){let n=Te.get(e);n||(n=new Map,Te.set(e,n));let o=n.get(t);o||(o=new Map,n.set(t,o));const i=o.get(r);if(i)return i;const[s,c,a]=ze(e,t,r),u=new Map,l=e=>{const t={get(t,r){if("value"===r){let t=c();const r=e.split(".");for(const e of r)e&&(t=t[e]);return t}const n="string"==typeof r?r:r.toString(),o=e?`${e}.${n}`:n,i=u.get(o);if(i)return i;const a=l(o);return Me.set(a,s),u.set(o,a),a},set(t,r,n){const o=e.split(".");return""===o[0]&&o.shift(),a(o,n),!0}};return new Proxy(Object.create(null),t)},f=l("");return s(()=>{}),Me.set(f,s),o.set(r,f),f}(e,t,r)}var Ke=e=>e,xe=(e,t,r)=>{if(!t.length)return r;const[n,...o]=t,i=e[n],s=xe(i,o,r);if(ke(i,s))return e;const c=Array.isArray(e)?e.slice():{...e};return c[n]=s,c},ze=(e,t,r)=>{const n=new Set,o=V(e);let i,s=t(o?e.getSnapshot():e.getState());return[c=>(n.size||(i=e.subscribe(t,e=>{s=e,n.forEach(e=>e())},{equalityFn:r,isDerivedStore:o})),n.add(c),()=>{n.delete(c),!n.size&&i&&(i(),i=void 0)}),()=>(n.size||(s=t(e.getState())),s),(r,n)=>{if(t!==Ke)throw new Error("Cannot set a value with a selector");e.setState(e=>xe(e,r,n),!0)}]},De=Object.prototype.hasOwnProperty;function Pe(e,t){return De.call(e,t)}var[$e,Le]=[!0,!1],Re={error:$e,lastFetchedAt:$e,queryCache:$e,queryKey:$e,status:$e,enabled:Le,fetch:Le,getCacheEntry:Le,getData:Le,getStatus:Le,isDataExpired:Le,isStale:Le,reset:Le},Ne=M.seconds(5);function Ve(e,t){const r=t?.baseDelay??M.seconds(5),n=t?.maxDelay??M.minutes(5),o=Math.pow(2,e);return Math.min(r*o,n)}function We(e){return JSON.stringify(Object.keys(e).sort().map(t=>e[t]))}function Qe(e){return JSON.stringify(_e(e))}function _e(e){return"object"!=typeof e||null===e?e:Object.keys(e).sort().reduce((t,r)=>{const n=e[r];return t[r]=null!==n&&"object"==typeof n?_e(n):n,t},{})}function Je(e,t,r,n){return n?He(n,r)?n:{...Ue(e,t),...n}:Ue(e,t)}function Ue(e,t){const r=t?.params??Object.create(null);for(const t in e?.params){const n=e.params[t];n&&(r[t]=n.value)}return r}function Be(){return Object.create(null)}function He(e,t){if(!e)return!1;for(const r of t)if(!(r in e))return!1;return!0}function Ge(e,t,r){if(!r.queryCache)return r;const n=Date.now(),o=t??(e&&r.queryKey||null);let i=!1;const s=Object.create(null);for(const e in r.queryCache){if(!Pe(r.queryCache,e))continue;const c=r.queryCache[e];c&&(n-(c.lastFetchedAt??c.errorInfo.lastFailedAt)<c.cacheTime||e===o)?!t&&c.errorInfo&&c.errorInfo.retryCount>0?(s[e]={...c,errorInfo:{...c.errorInfo,retryCount:0}},i=!0):s[e]=c:i=!0}return i?{...r,queryCache:s}:r}function Xe(e){return"function"==typeof e}function Ye(e){return!Xe(e)}function Ze(e,t){return r=>{const n={...r},o={};for(const e in n)Pe(n,e)&&e in Re&&(Re[e]&&(o[e]=n[e]),delete n[e]);return{...t?t(n):k(n),...Ge(e,null,o)}}}var et=Symbol(),tt=Object.freeze({debugMode:!1,enabled:!0,equalityFn:Object.is,fireImmediately:!1}),rt=Object.freeze({fireImmediately:!1,forceResubscribe:!1});function nt(e,t,r=rt){if(t.current.isActive){if(!r?.forceResubscribe)return;t.current.unsubscribe()}t.current.options.debugMode&&console.log("[📡 useListen 📡] Attaching listener"),t.current.isActive=!0,t.current.resubscribe=(r=rt)=>nt(e,t,r);const n=e.subscribe(e=>t.current.selector(e),(e,r)=>t.current.react(e,r,()=>{n(),t.current.isActive=!1}),r.fireImmediately?{...t.current.options,fireImmediately:!0}:t.current.options);t.current.unsubscribe=()=>{t.current.isActive&&(n(),t.current.isActive=!1)}}function ot(e){return"function"==typeof e?{equalityFn:e}:e??tt}var it=Symbol();function st(e,t){return function(...r){const n=e.getState()[t];if("function"==typeof n)return n(...r);throw new Error(`[createVirtualStoreAction]: Method ${String(t)} is not a function`)}}function ct(e,t){return"function"==typeof e[t]}exports.QueryStatuses=Ie,exports.applyStateUpdate=L,exports.configureStores=function(e){var t;c&&function(){if(b)throw new Error("[stores]: configureStores() called after first store creation. Call it earlier before creating any stores.")}(),e.logger&&(t=e.logger,f=t),p??(p=v(e))},exports.createBaseStore=Z,exports.createDerivedStore=Oe,exports.createQueryStore=function(e,t,r){S();const n="function"==typeof t?t:Be,o="object"==typeof t?t:r,i=o&&"storageKey"in o?o:void 0,{fetcher:s,onError:u,onFetched:y,setData:p,transform:h,abortInterruptedFetches:g=!0,cacheTime:b=M.days(7),debugMode:m=!1,disableAutoRefetching:v=!1,disableCache:w=!1,enabled:O=!0,keepPreviousData:j=!1,maxRetries:A=5,paramChangeThrottle:F=!1,params:C,retryDelay:I=Ve,suppressStaleTimeWarning:k=!1,useParsableQueryKeys:T=!0}=e;let E="function"==typeof e.staleTime?M.minutes(2):e.staleTime??M.minutes(2);c&&!v&&!k&&E<Ne&&console.warn(`[createQueryStore${i?.storageKey?`: ${i.storageKey}`:""}] ❌ Stale times under ${Ne/1e3} seconds are not recommended. Provided staleTime: ${E/1e3} seconds`);const K=T?Qe:We,x=new Error("[createQueryStore: AbortError] Fetch interrupted"),z="function"==typeof b,D=c&&m,P=Object.keys(e.params??Object.create(null));let L=null,R=null,N=null,V=[],W=!1,Q=!1,_=null,J=null,U=null,B=null,H=null;const G={enabled:"function"!=typeof O&&O,error:null,lastFetchedAt:null,queryCache:{},queryKey:"",status:Ie.Idle},X=new Ce({disableAutoRefetching:v,initialEnabled:G.enabled}),Y=()=>{_&&(J=null,_.abort(),_=null)},ee=(t,r,o)=>{const c=o.setState,a=(e,t)=>{const r="function"==typeof e;if(r||void 0!==e.enabled){let t;const n=c(n=>{const i=r?e(n):e,s=void 0!==i.enabled?i.enabled:n.enabled;return s!==n.enabled&&(t=()=>((e,t)=>{e!==t&&H!==t&&(H=t,X.setEnabled(t),t?queueMicrotask(()=>o.getState().fetch(void 0,{updateQueryKey:!0})):(U||g)&&(g&&Y(),U&&(clearTimeout(U),U=null)))})(n.enabled,s)),i});return t?.(),n}return c(e)};o.setState=a,X.init({onSubscribe:(n,o,i)=>{if(R||L||!C&&"function"!=typeof e.enabled&&"function"!=typeof e.staleTime){if(n)if(o){const e=Ue(L,R),n=K(e),o=r();o.queryKey!==n&&t(e=>({...e,queryKey:n})),o.isStale()?S.fetch(e,void 0,!0):m(e,void 0)}else v&&!i&&S.fetch(void 0,void 0,!0)}else W=!0},onLastUnsubscribe:e=>{U&&(clearTimeout(U),U=null),g&&!e&&Y()}});const m=(e,t)=>{if(v||t?.skipStoreUpdates)return;if(E<=0||E===1/0)return;U&&(clearTimeout(U),U=null);const n=K(e),o=r(),i=(w?B===n&&o.lastFetchedAt:o.queryCache[n]?.lastFetchedAt)||null,s=i?E-(Date.now()-i):E;U=setTimeout(()=>{const t=X.get();t.enabled&&t.subscriptionCount>0&&S.fetch(e,{force:!0},!0)},s)},S={...n(a,r,o),...G,async fetch(e,n,o=!1){const c=X.get();if(!n?.force&&!n?.skipStoreUpdates&&!c.enabled)return null;const v=r(),O=v.error,q=v.queryKey,F=v.status,C=Je(L,R,P,e),k=K(C),M=n?.staleTime??E,T=F===Ie.Loading,$=!!n?.skipStoreUpdates,N="boolean"==typeof n?.updateQueryKey?n.updateQueryKey:o?j:!$,V=o||!$&&(N||q===k);if(J?.promise&&J.key===k&&T)return D&&console.log("[🔄 Using Active Fetch 🔄] for params:",JSON.stringify(C)),J.promise;if(g&&!$&&!1!==n?.updateQueryKey&&Y(),!n?.force){const e=v.lastFetchedAt,r=v.queryCache[k],o=r?.lastFetchedAt,i=r?.errorInfo,s=i&&i.retryCount>=A,a=(w?B===k&&e:o)||null;if(a&&!(Date.now()-a>=M)&&(!i||s||$))return V&&!$&&!U&&c.subscriptionCount>0&&0!==E&&E!==1/0&&m(C,n),N&&t(e=>e.queryKey!==k?{...e,queryKey:k}:e),D&&console.log("[💾 Returning Cached Data 💾] for params:",JSON.stringify(C)),r?.data??null}!$&&V&&(U&&(clearTimeout(U),U=null),!O&&T||t(e=>({...e,error:null,status:Ie.Loading})),J={key:k});const W=n?.cacheTime??(z?b(C):b),Q=async()=>{try{D&&(o||!e||He(e,P)?console.log("[🔄 Fetching 🔄] for params:",JSON.stringify(C)):console.log("[🔄 Fetching with Partial Params 🔄]\n","- Provided params:",`${JSON.stringify(e)}\n`,"- Filled in params:",`${JSON.stringify(Object.fromEntries(Object.keys(C).filter(t=>!(t in e)).map(e=>[e,C[e]])))}`));const r=await(g&&!$&&V?(async e=>{const t=new AbortController;_=t;try{return await new Promise((r,n)=>{t.signal.addEventListener("abort",()=>n(x),{once:!0}),Promise.resolve(s(e,t)).then(r,n)})}finally{_===t&&(_=null)}})(C):s(C,null)),c=Date.now();let u;D&&console.log("[✅ Fetch Successful ✅] for params:",JSON.stringify(C));try{u=h?h(r,C):r}catch(e){throw new l(`[createQueryStore: ${i?.storageKey||k}]: transform failed`,e)}if($)return D&&console.log("[🥷 Successful Parallel Fetch 🥷] for params:",JSON.stringify(C)),"withCache"===n.skipStoreUpdates&&t(e=>{if(!p)return w?{...e,queryCache:{...e.queryCache,[k]:{cacheTime:W,data:u,errorInfo:null,lastFetchedAt:c}}}:e;let t=e;const r=t.queryCache[k];return p({data:u,params:C,queryKey:k,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!w&&Object.is(r,t.queryCache[k])&&(t={...t,queryCache:{...t.queryCache,[k]:{cacheTime:W,data:u,errorInfo:null,lastFetchedAt:c}}}),t}),u;if((p?a:t)(e=>{let t={...e,error:null,lastFetchedAt:c,queryKey:N?k:e.queryKey,status:Ie.Success};if(p||w){if(p){D&&console.log("[💾 Setting Data 💾] for params:",JSON.stringify(C));const e=t.queryCache[k];p({data:u,params:C,queryKey:k,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!w&&Object.is(e,t.queryCache[k])&&(t.queryCache={...t.queryCache,[k]:{cacheTime:W,data:null,errorInfo:null,lastFetchedAt:c}})}}else D&&console.log("[💾 Setting Cache 💾] for params:",JSON.stringify(C),"| Has previous data?:",!!t.queryCache[k]?.data),t.queryCache={...t.queryCache,[k]:{cacheTime:W,data:u,errorInfo:null,lastFetchedAt:c}};return w||b===1/0?t:Ge(j,k,t)}),V&&(B=k,m(C,n)),y)try{y({data:u,fetch:S.fetch,params:C,set:a})}catch(e){f.error(new l(`[createQueryStore: ${i?.storageKey||k}]: onFetched callback failed`,e))}return u??null}catch(s){if(s===x)return D&&console.log("[❌ Fetch Aborted ❌] for params:",JSON.stringify(C)),null;const c=!o&&!0===n?.throwOnError,a=d(s);if($||!V){if(f.error(new l(`[createQueryStore: ${i?.storageKey||k}]: Failed to fetch data`,a)),c)throw a;return null}const y=w?void 0:r().queryCache[k],p=y?.errorInfo?.retryCount??0,h=p+1;if(u?.(a,p),p<A){if(X.get().subscriptionCount>0){const t="function"==typeof I?I(h,a):I;t!==1/0&&(U&&clearTimeout(U),U=setTimeout(()=>{const{enabled:t,subscriptionCount:r}=X.get();t&&r>0&&S.fetch(e,{force:!0},!0)},t))}t(e=>({...e,error:a,queryCache:{...e.queryCache,[k]:{cacheTime:y?.cacheTime??W,data:y?.data??null,lastFetchedAt:y?.lastFetchedAt??null,errorInfo:{error:a,lastFailedAt:Date.now(),retryCount:h}}},queryKey:N?k:e.queryKey,status:Ie.Error}))}else t(e=>({...e,error:a,queryCache:{...e.queryCache,[k]:{cacheTime:y?.cacheTime??W,data:y?.data??null,lastFetchedAt:y?.lastFetchedAt??null,errorInfo:{error:a,lastFailedAt:Date.now(),retryCount:A}}},queryKey:N?k:e.queryKey,status:Ie.Error}));if(f.error(new l(`[createQueryStore: ${i?.storageKey||k}]: Failed to fetch data`,a)),c)throw a;return null}finally{!$&&V&&(J=null)}};return $||!V?Q():(J={key:k,promise:Q()}).promise},getCacheEntry(e){if(w)return null;const t=r(),n=e?"string"==typeof e?e:K(Je(L,R,P,e)):t.queryKey;return t.queryCache[n]??null},getData(e){if(w)return null;const t=r().getCacheEntry(e);return t&&null!==t.data?j?t.data:t.lastFetchedAt&&Date.now()-t.lastFetchedAt>=t.cacheTime?null:t.data:null},getStatus:function(e){switch(e){case"isIdle":return r().status===Ie.Idle;case"isLoading":return r().status===Ie.Loading;case"isSuccess":{const e=r(),t=e.queryCache[e.queryKey]?.lastFetchedAt;return"number"==typeof t||e.status===Ie.Success}case"isError":case"isInitialLoad":case void 0:{const t=r(),n=t.queryCache[t.queryKey],o=(w?B===t.queryKey&&t.lastFetchedAt:n?.lastFetchedAt)||null,i=t.status;switch(e){case"isError":{const e=t.queryCache[t.queryKey];return w?"error"!==i:"number"==typeof e?.errorInfo?.lastFailedAt}case"isInitialLoad":return!o&&i===Ie.Loading}return{isError:i===Ie.Error,isIdle:i===Ie.Idle,isLoading:i===Ie.Loading,isInitialLoad:!o&&i===Ie.Loading,isSuccess:i===Ie.Success}}}},isDataExpired(e){const t=r(),n=t.queryCache[t.queryKey],o=t.queryKey,i=t.lastFetchedAt,s=(w?B===o&&i:n?.lastFetchedAt)||null;if(!s)return!0;const c=e??n?.cacheTime;return void 0===c||Date.now()-s>=c},isStale(e){const t=r(),n=t.queryKey,o=(w?B===n&&t.lastFetchedAt:t.queryCache[n]?.lastFetchedAt)||null;if(!o)return!0;const i=e??E;return Date.now()-o>=i},reset(e=!1){for(const e of V)e();V=[],L=null,R=null,N=null,Y(),U&&(clearTimeout(U),U=null),J=null,B=null,e&&t(e=>({...e,...G}))}},O=o.subscribe;return o.subscribe=(...e)=>{const t=Q?()=>{}:X.subscribe(),r=1===e.length?O(e[0]):O(e[0],e[1],e[2]);return e=>{t(e),r()}},S},te=i?.storageKey?Z(ee,Object.assign(Object.create(null),i,{partialize:Ze(j,i.partialize)})):o&&!("storageKey"in o)?Z(ee,o):Z(ee),re=te.getState(),ne=re.error,oe=re.enabled,ie=re.queryKey;if(ie&&!ne&&(B=ie),Q=!0,C||"function"==typeof e.enabled){const{directValues:e,enabledAttachVal:t,enabledDirectValue:r,attachVals:n}=function(e,t,r){const n=Object.create(null),o=Object.create(null),i=Object.create(null);for(const e in t){if(!Pe(t,e))continue;const s=t[e];if(Xe(s)){const t=s(Ee,r);n[e]=t,i[e]=t.value}else Ye(s)&&(o[e]=s,i[e]=s)}let s,c=null,a=null;if(Xe(e)){const t=e(Ee,r);s=t.value,c=t}else s=e,a=e;return{attachVals:n,directValues:o,enabledAttachVal:c,enabledDirectValue:a,resolvedEnabled:s,resolvedParams:i}}(O,C,te);L={enabled:t,params:n},R={enabled:r,params:e}}"function"==typeof e.staleTime&&(N=e.staleTime(Ee,te),E=N.value);const se=function(){let e,t=!1;return function(...r){e=r,t||(t=!0,queueMicrotask(()=>{t=!1,(e=>{re.fetch(e??Ue(L,R),{updateQueryKey:j})})(...e)}))}}();function ce(){let e;if(!j){e=Ue(L,R);const t=K(e);te.setState(e=>({...e,queryKey:t}))}se(e)}const ae=a||!F?ce:q(ce,"number"==typeof F?F:F.delay,"number"==typeof F?{leading:!1,maxWait:F,trailing:!0}:F);if(L?.enabled){const e=L.enabled,t=Me.get(e);if(t){let r=e.value;oe!==r&&te.setState(e=>({...e,enabled:r})),r&&X.setEnabled(r),D&&console.log("[🌀 Enabled Subscription 🌀] Initial value:",r);const n=t(()=>{const t=e.value;t!==r&&(D&&console.log("[🌀 Enabled Change 🌀] - [Old]:",`${r},`,"[New]:",t),r=t,te.setState(e=>({...e,enabled:t})))});V.push(n)}}else oe!==G.enabled&&te.setState(e=>({...e,enabled:G.enabled}));for(const e in L?.params){const t=L.params[e];if(!t)continue;const r=Me.get(t);if(D&&console.log("[🌀 Param Subscription 🌀] Subscribed to param:",e),r){let n=t.value;const o=r(()=>{const r=t.value;ke(n,r)||(D&&console.log("[🌀 Param Change 🌀] -",e,"- [Old]:",`${n?.toString()},`,"[New]:",r?.toString()),n=r,ae())});V.push(o)}}if(N){const e=Me.get(N);if(e){const t=N;let r=t.value;D&&console.log("[🌀 StaleTime Subscription 🌀] Initial value:",r);const n=e(()=>{const e=t.value;e!==r&&(D&&console.log("[🌀 StaleTime Change 🌀] - [Old]:",`${r},`,"[New]:",e),r=e,E=e,te.getState().fetch())});V.push(n)}}return Q=!1,W&&queueMicrotask(ae),ue=te,le=$.QueryStore,Object.assign(ue,{[le]:!0});var ue,le},exports.createStoreActions=function(e,t){const r=function(e){const t=e.getState(),r=Object.create(null);if(c&&("object"!=typeof t||null===t))throw new Error("[createStoreActions]: State is not an object");if(_(e)){for(const n in t)ct(t,n)&&(r[n]=st(e,n));return r}for(const e in t)ct(t,e)&&(r[e]=t[e]);return r}(e);return t?Object.assign(r,t):r},exports.createVirtualStore=function(e,t,r){const n="function"==typeof t,o=n?t:void 0,i=n?r:t,s=new Set,c=Oe(e,{debugMode:i?.debugMode??!1,equalityFn:function(e,t){const r=Object.is(e,t);return r||(function(e,t){for(const r of s){r.unsubscribe();const n=r.args;if(1===n.length){const o=n[0],i=e.getState(),s=t.getState(),c=t.subscribe(o);r.unsubscribe=c,Object.is(s,i)||o(s,i);continue}const o=n[0],i=n[1];let s=n[2];s?.fireImmediately&&(s={...s,fireImmediately:!1});const c=o(e.getState()),a=o(t.getState()),u=t.subscribe(o,i,s);r.unsubscribe=u,(s?.equalityFn??Object.is)(c,a)||i(a,c)}}(e,t),R(e)),r},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 r=c();return e?r(e,t):r()},{[$.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)},exports.deepEqual=function e(t,r){if("object"!=typeof t||null==t||"object"!=typeof r||null==r)return t===r;if(Object.is(t,r))return!0;const n=Object.keys(t);if(n.length!==Object.keys(r).length)return!1;for(const o of n)if(!(o in r)||!e(t[o],r[o]))return!1;return!0},exports.defaultRetryDelay=Ve,exports.destroyStore=R,exports.destroyStores=function(e,t){for(const r of Array.isArray(e)?e:Object.values(e))r&&!t?.skipDestroy?.(r)&&R(r,t)},exports.getLegacyQueryKey=We,exports.getQueryKey=Qe,exports.getStoreName=N,exports.isDerivedStore=function(e){return"flushUpdates"in e},exports.isPersistedStore=Q,exports.isQueryStore=W,exports.isVirtualStore=_,exports.parseQueryKey=function(e){return JSON.parse(e)},exports.replacer=C,exports.reviver=I,exports.shallowEqual=function(e,t){if("object"!=typeof e||null==e||"object"!=typeof t||null==t)return e===t;if(Object.is(e,t))return!0;const r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(const n of r)if(!Object.is(e[n],t[n]))return!1;return!0},exports.time=M,exports.useListen=function(e,t,r,n=tt){const o=function(){const e=i.useRef(et);return e.current===et&&(e.current=function(e,t,r){return{selector:e,react:t,isActive:!1,options:ot(r),resubscribe:()=>{},unsubscribe:()=>{}}}(t,r,n)),e}(),s=function(e){return"function"==typeof e?tt.enabled:e?.enabled??tt.enabled}(n);return o.current.react=r,o.current.selector=t,function(e,t){"function"==typeof t?e.current.options.equalityFn=t:t&&(e.current.options=t??tt)}(o,n),i.useLayoutEffect(()=>{if(s)return nt(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)},[s,e]),o},exports.useStableValue=function(e){const t=i.useRef(it);return t.current===it&&(t.current=e()),t.current};
@@ -1 +1 @@
1
- import{Platform as e,unstable_batchedUpdates as t}from"react-native";import{subscribeWithSelector as n,persist as r}from"zustand/middleware";import{createWithEqualityFn as o}from"zustand/traditional";import{useSyncExternalStoreWithSelector as i}from"use-sync-external-store/shim/with-selector";import{useLayoutEffect as s,useRef as c}from"react";var a=(e=>"undefined"!=typeof require?require:"undefined"!=typeof Proxy?new Proxy(e,{get:(e,t)=>("undefined"!=typeof require?require:e)[t]}):e)(function(e){if("undefined"!=typeof require)return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),u="ios"===e.OS;e.OS;var l="development"===process.env.NODE_ENV,f="test"===process.env.NODE_ENV;function d(e){let t;try{const{MMKV:n}=a("react-native-mmkv"),r=new n({id:e}),{getString:o,...i}=r;t=Object.assign(Object.create(null),i,{get:o})}catch(e){throw new Error("[stores] react-native-mmkv could not be loaded.\n\nPersisted stores require a storage backend. Either:\n - Install MMKV (the default): yarn add react-native-mmkv\n - Or provide a custom adapter via configureStores()\n"+(e instanceof Error?`\n${e.message}`:""))}return function(e){if(!e||"function"!=typeof e.get||"function"!=typeof e.set||"function"!=typeof e.delete||"function"!=typeof e.clearAll)throw new Error("[stores]: Storage instance does not conform to expected interface")}(t),{clearAll:()=>t.clearAll(),contains:e=>t.contains(e),delete:e=>t.delete(e),get:e=>t.get(e),getAllKeys:()=>t.getAllKeys(),set:(e,n)=>t.set(e,n)}}var y=class extends Error{constructor(e,t){super(e),this.name="StoresError",this.cause=h(t)}},p={debug:(e,t)=>{l&&console.debug(e,t)},error:(e,t)=>{l&&!f&&console.error(e,t)},info:(e,t)=>{l&&console.info(e,t)},warn:(e,t)=>{l&&console.warn(e,t)}};function h(e){return e instanceof Error?e:new Error(String(e))}var g,b,m=class{destroy(){}publish(){}},S=class{constructor(){this.sessionId="noop"}register(e){return new m}},v=!1;function w(e){var t;l&&function(){if(v)throw new Error("[stores]: configureStores() called after first store creation. Call it earlier before creating any stores.")}(),e.logger&&(t=e.logger,p=t),b??(b=q(e))}function O(){return b??(b=q(void 0))}function j(){v=!0}function q(e){return{storage:e?.storage??d(e?.storageKeyPrefix??"stores:"),syncEngine:e?.syncEngine??(g||(g=new S),g)}}function A(){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 F=Math.max,C=Math.min;function I(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=k();if(p(e))return g(e);c=setTimeout(h,function(e){const n=t-(e-(a??0));return f&&void 0!==i?C(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=k(),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=T(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?F(T(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(k())},b}function k(){return"undefined"!=typeof performance&&"function"==typeof performance.now?performance.now():Date.now()}function T(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 M(e,t){return t instanceof Map?{__type:"Map",entries:Array.from(t.entries())}:t instanceof Set?{__type:"Set",values:Array.from(t)}:t}function z(e,t){return function(e){return"object"==typeof e&&null!==e&&"__type"in e&&"Map"===e.__type}(t)?new Map(t.entries):function(e){return"object"==typeof e&&null!==e&&"__type"in e&&"Set"===e.__type}(t)?new Set(t.values):t}function E(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 D={ms:e=>e,seconds:e=>1e3*e,minutes:e=>D.seconds(60*e),hours:e=>D.minutes(60*e),days:e=>D.hours(24*e),weeks:e=>D.days(7*e),infinity:1/0,zero:0},K=f?0:u?D.seconds(3):D.seconds(5);function $(e){return t=>{if("string"!=typeof t)throw new y("[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?z:void 0)}catch(e){throw p.error(new y("[createBaseStore]: Failed to deserialize persisted Rainbow store data"),{error:e}),e}}(t,e)}}function P(e){return t=>function(e,t){try{return JSON.stringify(e,t?M:void 0)}catch(e){throw p.error(new y("[createBaseStore]: Failed to serialize Rainbow store data"),{error:e}),e}}(t,e)}var x=Object.freeze({shouldClear:!1});function L(e,t,n){if(!t||!e)return x;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 R(e,t){e&&t.shouldClear&&t.fieldSnapshot&&Object.keys(t.fieldSnapshot).length&&e.clearFieldTimestamps(t.fieldSnapshot)}function N(e){return!!e&&!!e.getIsApplyingRemote()}function _(e,...t){return!0===t[1]?X(t[0])?t[0](e):t[0]:{...e,...X(t[0])?t[0](e):t[0]}}function W(e,t){U(e)?e.getState().reset(t?.clearQueryCache):function(e){return"destroy"in e}(e)&&e.destroy()}function J(e,t){for(const n of Array.isArray(e)?e:Object.values(e))n&&!t?.skipDestroy?.(n)&&W(n,t)}function V(e){return H(e)?e.persist.getOptions().name??e.name:e.name}function B(e){return"getSnapshot"in e}function U(e){return"_queryStore"in e}function Q(e){return"flushUpdates"in e}function H(e){return"persist"in e}function G(e){return"_virtualStore"in e}function X(e){return"function"==typeof e}var[Y,Z]=[0,1];function ee(e,t,n){if(!e)return!0;const r=e[Y],o=e[Z];return!(t<r)&&(t>r||n>o)}function te(e,t){return Object.prototype.hasOwnProperty.call(t,e)}function ne(e,t){if(!l)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 re(e){if(null===e)return"null";const t=typeof e;return"object"===t?Object.prototype.toString.call(e):t}function oe(e,t){j();const i=void 0!==t&&"string"==typeof t.storageKey,s=i?t.storageKey:void 0,c=t?.sync?function(e,t){if(!e)return null;if(!0===e){if(!t)throw new y("[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 y("[createBaseStore]: sync requires either a key in the config or a storageKey to inherit from");return{...n,key:r}}(t.sync,s):void 0,a=i?t.storage??O().storage:void 0,u=c?function(e,t,n){const r=t.engine??O().syncEngine,o=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:(i,s,c)=>{const a=new Map,u=[],l=[];let f=null,d=!1,h=!1,g=0,b=null,m=[],S=Promise.resolve(),v=!n;const w=(e,t)=>{if(o?.setSessionId&&o?.setTimestamp&&r.sessionId&&(o.setSessionId(r.sessionId),o.setTimestamp(e),o.mergeFieldTimestamps&&t.length>0)){const n=Object.create(null);for(const r of t)n[String(r)]=e;o.mergeFieldTimestamps(n)}},O=function(e,t){if(d||!b)return t?i(e,t):i(e);const n=(()=>{const e=Date.now(),t=e>g?e:g+1;return g=t,t})();let o=[],s=Object.create(null);const c=r=>{const i=_(r,e,t);for(const e of m)Object.is(i[e],r[e])||(o.push(e),s[e]=i[e]);return o.length&&w(n,o),i},u=t?i(c,!0):i(c),y=()=>{o.length&&(e=>{const t=r.sessionId;for(const n of e.keys)a.set(n,[e.timestamp,t]);f&&h?f.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values}):l.push(e)})({keys:o,replace:t??!1,values:s,timestamp:n})};return(p=u)&&"object"==typeof p&&"then"in p&&"function"==typeof p.then?u.finally(y):(y(),u);var p},j=c.setState;c.setState=O;const q=e(O,s,c);if(m=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}(q),!m.length)return q;b=new Set(m);const A=async e=>{g=Math.max(g,e.timestamp);const n=Object.create(null),r=s(),i=e.timestamp;let c;if(e.replace)for(const t of m)te(t,e.values)||ee(a.get(t),i,e.sessionId)&&(c??(c=[])).push(t);for(const o of m){if(!te(o,e.values))continue;if(!b?.has(o))continue;if(!ee(a.get(o),i,e.sessionId))continue;const s=t.merge?.[o];if(s){const t=e.values[o],c=r[o];if(void 0!==t){const u=s(t,c,r,e.values),l=void 0!==c?c:t;if(!ne(u,l))return void p.error(new y(`[sync] Merge function for field "${String(o)}" returned ${re(u)} but expected ${re(l)}`));n[o]=u,a.set(o,[i,e.sessionId])}}else n[o]=e.values[o],a.set(o,[i,e.sessionId])}if(Object.keys(n).length>0||c?.length){d=!0,o&&o.setIsApplyingRemote(!0);try{if(e.replace){const e={...r};let t=!1;if(c?.length){t=!0;for(const t of c)delete e[t],a.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(o.setWithoutPersist??j)(e,!0)}else await(o.setWithoutPersist??j)(n)}finally{d=!1,o&&o.setIsApplyingRemote(!1)}}},F=e=>{n?S=S.then(()=>A(e)):A(e)};f=r.register({apply:e=>{v?F(e):u.push(e)},delta:t.delta,fields:m,getState:s,key:t.key});const C=()=>{h=!0,(()=>{if(f&&l.length){for(const e of l){const t=r.sessionId;for(const n of e.keys)a.set(n,[e.timestamp,t]);w(e.timestamp,e.keys),f.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values})}l.length=0}})()},I=()=>{v=!0,(()=>{if(!u.length)return;const e=u.slice();u.length=0;for(const t of e)F(t)})()};return n&&o?(o.onHydrationComplete=C,o.onHydrationFlushEnd=I):f.onHydrated?(f.onHydrated(C),I()):(C(),I()),q},syncContext:o}}(e,c,a?.async??!1):void 0,l=u?.stateCreator??e;if(!i)return o()(n(l),Object.is);const f=a?.async?function(e){let t,n,r,o=!1;return{hydrationPromise:()=>o?t?.promise??n??(n=Promise.resolve()):(t||(t=A()),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=A()),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(h(i)):t?.complete(),s?.(e,i)}}}}(l):null,d=function(e,t,n){const r=t??e.storage??O().storage,o=(e.sync?void 0:e.persistThrottleMs??K)||void 0,i=e.version??0,s=r.async?function(e,t,n,r){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),i="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),s=t.partialize??E,c=t.deserializer??e.deserializer??$(o),a=t.serializer??e.serializer??P(o);async function u(t,n){try{if(N(r))return;n.state,n.state=s(n.state);const o=L(r,i,n),c=a(n);try{await e.set(t,c),R(r,o)}catch(e){p.error(new y("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){p.error(new y("[createBaseStore]: Failed to serialize persisted store data"),{error:e})}}const l=void 0!==n?I(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 y("[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),i="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),s=t.partialize??E,c=t.deserializer??e.deserializer??$(o),a=t.serializer??e.serializer??P(o);function u(t,n){try{if(N(r))return;n.state,n.state=s(n.state);const o=L(r,i,n),c=a(n);try{e.set(t,c),R(r,o)}catch(e){p.error(new y("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){p.error(new y("[createBaseStore]: Failed to persist store data"),{error:e})}}const l=void 0!==n?I(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 y("[createBaseStore]: Failed to delete persisted store data"),{error:e})}}}}(r,e,o,n);return{persistStorage:s,version:i}}(t,a,u?.syncContext),g=f?f.wrapOnRehydrateStorage(t.onRehydrateStorage,u?.syncContext):t.onRehydrateStorage,b=f?(e,t,n)=>(u&&(u.syncContext.setWithoutPersist=n.setState),f.stateCreator(e,t,n)):l,m=o()(n(r(b,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,d,g))),Object.is);return f?Object.assign(m,{persist:Object.assign(m.persist,{hydrationPromise:f.hydrationPromise})}):m}function ie(e,t,n="s"){return 1===t?e:`${e}${n}`}function se(e,t,n){const r=t.get(e);if(!r){const r=function(e,t,n,r=[]){return e&&"object"==typeof e?ce(e,r,t,n,new WeakSet,new WeakMap):(n(t,r,!0),e)}(B(e)?e.getSnapshot():e.getState(),e,n);return t.set(e,r),r}return r}function ce(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,ce(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 ae(e){return t=>le(t,e)}function ue(e,t){const n=e.slice(0,-1);return e=>{const r=le(e,n),o=r?.[t.method];return"function"==typeof o?o.apply(r,t.args):void 0}}function le(e,t){let n=e;for(const e of t){if(!n||"object"!=typeof n)return n;n=n[e]}return n}function fe(){const e=new Map;return{buildProxySubscriptions(t,n){const r=new Set;for(const[t,n]of e)pe(n,t,[],0,r);!function(e,t,n){for(const n of e)t(n.store,n.invocation?ue(n.path,n.invocation):ae(n.path));n&&function(e){const t=e.size;console.log(`[📡 ${t} ${ie("Proxy Subscription",t)} 📡]:`,JSON.stringify(Array.from(e).map(e=>{const t=V(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}_${ie("arg",r)})`:"()"}`}),null,2))}(e)}(r,t,n)},trackPath(t,n,r,o){let i=e.get(t);i||(i=de(),e.set(t,i)),ye(i,n,0,r,o)}}}function de(){return Object.create(null)}function ye(e,t,n,r,o){if(n===t.length)return r&&(e.isLeaf=!0),void(o&&(e.invocation=o));e.children||(e.children=de());const i=t[n];let s=e.children?.[i];s||(s=de(),e.children[i]=s),ye(s,t,n+1,r,o)}function pe(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&&pe(c,t,[...n,e],r+1,o,i)}}else if(r<i&&a>1&&!e.isLeaf)for(const e of c)pe(s[e],t,[...n,e],r+1,o,i);else{if(1===a){const e=c[0];return void pe(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 he=!1,ge=!1,be=new Map,me=new Map,Se=new Map,ve=null,we=1/0;function Oe(){return he}function je(){return ve}function qe(){he||(he=!0,ge||(ge=!0,queueMicrotask(()=>{ge=!1,t(()=>{for(;me.size>0;){const e=we,t=Se.get(e);if(t){Se.delete(e);for(const e of t)me.delete(e);ve=e;for(const e of t)e();if(ve=null,Se.size>0){we=1/0;for(const e of Se.keys())e<we&&(we=e)}else we=1/0}else{we=1/0;for(const e of Se.keys())e<we&&(we=e)}}for(;be.size>0;){const e=Array.from(be.values());be.clear();for(const t of e)t()}}),he=!1,ve=null,me.clear(),Se.clear(),we=1/0})))}function Ae(e,t){he&&be.set(e,t)}var Fe=e=>e;function Ce(e,t=Object.is){return n=function(e,t=Object.is){const{debounceOptions:n,debugMode:r,equalityFn:o,keepAlive:i,lockDependencies:s}="function"==typeof(u=t)?{debounceOptions:void 0,debugMode:!1,equalityFn:u,keepAlive:!1,lockDependencies:!1}:{debounceOptions:u.debounce,debugMode:(l&&u.debugMode)??!1,equalityFn:u.equalityFn??Object.is,keepAlive:u.keepAlive??!1,lockDependencies:u.lockDependencies??!1},c=String(ke+=1),a=new Set;var u;i&&a.add(Te);const f=new Set;let d,y,p=Ie,h=!1,g=!0,b=!0,m=!0,S=0,v=!1,w=null,O=Ie;function j(e,t,n){if(!m||!a.size)return(t??Fe)(B(e)?e.getSnapshot():e.getState());if(!t)return d||(d=new WeakMap),y||(y=fe()),se(e,d,y.trackPath);const r=e.subscribe(t,D,{equalityFn:n??Object.is,isDerivedStore:!0});return f.add(r),t(B(e)?e.getSnapshot():e.getState())}function q(e){for(const t of f)t(e);f.clear()}function A(){if(!b&&Me(p))return p;b=!1,m&&q(!0);const t=p,n=Me(t);p=function(t){g=!0;const n=p,i=e(t);return Me(n)&&o(n,i)?(r&&console.log("[🥷 Derive Complete 🥷]: No change detected"),g=!1,n):i}(j);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} ${ie("Selector Subscription",e)} 🎯]`)}return y&&m&&(y.buildProxySubscriptions((e,t)=>{const n=e.subscribe(t,D,{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=a.has(Te)?a.size-1:a.size;return S>0&&S<e}(),o=!S||n,i=n||null!==je()||Oe()&&o;n&&qe(),r&&console.log(`[📻 Derive Complete 📻]: Notifying ${a.size} ${ie("watcher",a.size)}`);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)}}i?v||(v=!0,Me(O)||(O=t),Ae(c,C)):F(e,t)}(p,t),s&&(m=!1),p}function F(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 C(){a.size&&(v&&function(){if(b&&!S&&A(),!Me(p))return;const e=Me(O)?O:p;F(p,e)}(),v=!1,O=Ie)}const k=n?I(M,"number"==typeof n?n:n.delay,"number"==typeof n?{leading:!1,maxWait:n,trailing:!0}:n):void 0,T=k??(()=>{h||(h=!0,queueMicrotask(M))});function M(){a.size&&(h=!1,b&&A())}function z(e){e?queueMicrotask(()=>{a.size||$()}):$()}function E(){M(),w=null}function D(){if(!b){if(b=!0,!k){if(S){qe();const e=je(),t=null===e?0:e+1;if(null!==w&&t<=w)return;return w=t,void function(e,t){if(!he)return;const n=t<0?0:0|t,r=me.get(e);if(void 0===r){me.set(e,n);let t=Se.get(n);return t||(t=new Set,Se.set(n,t)),t.add(e),void(n<we&&(we=n))}if(n>r){const t=Se.get(r);if(t&&(t.delete(e),0===t.size&&(Se.delete(r),r===we))){we=1/0;for(const e of Se.keys())e<we&&(we=e)}me.set(e,n);let o=Se.get(n);o||(o=new Set,Se.set(n,o)),o.add(e),n<we&&(we=n)}}(E,t)}if(Oe())return void(v||(v=!0,Me(p)&&(O=p),Ae(c,C)))}w=null,S&&!n?A():T()}}function K(){return b||!Me(p)?a.size>0?A():e(j):p}function $(e=!0){i&&e||(k?.cancel(),q(),a.clear(),S=0,y=void 0,d=void 0,m=!0,h=!1,b=!0,p=Ie,v=!1,O=Ie,w=null)}return{destroy:()=>$(!1),flushUpdates:function(){a.size&&(k?k.flush():b&&A())},getSnapshot:function(){if(!Me(p)){a.add(Te);const e=A();return a.delete(Te),e}return h&&M(),p},getState:K,subscribe:function(...e){if(1===e.length){const t=e[0];return a.add(t),1!==a.size||Me(p)||K(),()=>{a.delete(t),a.size||z(!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 a.add(s),s.currentSlice=t(K()),i&&(S+=1),r?.fireImmediately&&n(s.currentSlice,s.currentSlice),()=>{a.delete(s),i&&(S-=1),a.size||z(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=Fe,t=void 0){return i(n.subscribe,n.getSnapshot,void 0,e,t)},n);var n}var Ie=Symbol(),ke=0;function Te(){}function Me(e){return e!==Ie}var ze=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=D.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)}}},Ee={Error:"error",Idle:"idle",Loading:"loading",Success:"success"};function De(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)||!De(e[r],t[r]))return!1;return!0}function Ke(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 $e(e,t){const n=Object.prototype.hasOwnProperty;function r(e,t){for(const n of e.keys())if($e(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--&&$e(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(!$e(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)||!$e(e[r],t[r]))return!1}return Object.keys(t).length===i}}return e!=e&&t!=t}var Pe=new WeakMap,xe=new WeakMap;function Le(e,t=Re,n=$e){return function(e,t,n){let r=xe.get(e);r||(r=new Map,xe.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 Pe.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(()=>{}),Pe.set(f,s),o.set(n,f),f}(e,t,n)}var Re=e=>e,Ne=(e,t,n)=>{if(!t.length)return n;const[r,...o]=t,i=e[r],s=Ne(i,o,n);if($e(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=B(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!==Re)throw new Error("Cannot set a value with a selector");e.setState(e=>Ne(e,n,r),!0)}]};function We(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var[Je,Ve]=[!0,!1],Be={error:Je,lastFetchedAt:Je,queryCache:Je,queryKey:Je,status:Je,enabled:Ve,fetch:Ve,getCacheEntry:Ve,getData:Ve,getStatus:Ve,isDataExpired:Ve,isStale:Ve,reset:Ve},Ue=D.seconds(5);function Qe(e,t,n){j();const r="function"==typeof t?t:nt,o="object"==typeof t?t:n,i=o&&"storageKey"in o?o:void 0,{fetcher:s,onError:c,onFetched:a,setData:u,transform:d,abortInterruptedFetches:g=!0,cacheTime:b=D.days(7),debugMode:m=!1,disableAutoRefetching:S=!1,disableCache:v=!1,enabled:w=!0,keepPreviousData:O=!1,maxRetries:q=5,paramChangeThrottle:A=!1,params:F,retryDelay:C=He,suppressStaleTimeWarning:k=!1,useParsableQueryKeys:T=!0}=e;let M="function"==typeof e.staleTime?D.minutes(2):e.staleTime??D.minutes(2);l&&!S&&!k&&M<Ue&&console.warn(`[createQueryStore${i?.storageKey?`: ${i.storageKey}`:""}] ❌ Stale times under ${Ue/1e3} seconds are not recommended. Provided staleTime: ${M/1e3} seconds`);const z=T?Xe:Ge,E=new Error("[createQueryStore: AbortError] Fetch interrupted"),K="function"==typeof b,$=l&&m,P=Object.keys(e.params??Object.create(null));let x=null,L=null,R=null,N=[],_=!1,W=!1,J=null,V=null,B=null,U=null,Q=null;const H={enabled:"function"!=typeof w&&w,error:null,lastFetchedAt:null,queryCache:{},queryKey:"",status:Ee.Idle},G=new ze({disableAutoRefetching:S,initialEnabled:H.enabled}),X=()=>{J&&(V=null,J.abort(),J=null)},Y=(t,n,o)=>{const l=o.setState,f=(e,t)=>{const n="function"==typeof e;if(n||void 0!==e.enabled){let t;const r=l(r=>{const i=n?e(r):e,s=void 0!==i.enabled?i.enabled:r.enabled;return s!==r.enabled&&(t=()=>((e,t)=>{e!==t&&Q!==t&&(Q=t,G.setEnabled(t),t?queueMicrotask(()=>o.getState().fetch(void 0,{updateQueryKey:!0})):(B||g)&&(g&&X(),B&&(clearTimeout(B),B=null)))})(r.enabled,s)),i});return t?.(),r}return l(e)};o.setState=f,G.init({onSubscribe:(r,o,i)=>{if(L||x||!F&&"function"!=typeof e.enabled&&"function"!=typeof e.staleTime){if(r)if(o){const e=tt(x,L),r=z(e),o=n();o.queryKey!==r&&t(e=>({...e,queryKey:r})),o.isStale()?w.fetch(e,void 0,!0):m(e,void 0)}else S&&!i&&w.fetch(void 0,void 0,!0)}else _=!0},onLastUnsubscribe:e=>{B&&(clearTimeout(B),B=null),g&&!e&&X()}});const m=(e,t)=>{if(S||t?.skipStoreUpdates)return;if(M<=0||M===1/0)return;B&&(clearTimeout(B),B=null);const r=z(e),o=n(),i=(v?U===r&&o.lastFetchedAt:o.queryCache[r]?.lastFetchedAt)||null,s=i?M-(Date.now()-i):M;B=setTimeout(()=>{const t=G.get();t.enabled&&t.subscriptionCount>0&&w.fetch(e,{force:!0},!0)},s)},w={...r(f,n,o),...H,async fetch(e,r,o=!1){const l=G.get();if(!r?.force&&!r?.skipStoreUpdates&&!l.enabled)return null;const S=n(),j=S.error,A=S.queryKey,F=S.status,I=et(x,L,P,e),k=z(I),T=r?.staleTime??M,D=F===Ee.Loading,R=!!r?.skipStoreUpdates,N="boolean"==typeof r?.updateQueryKey?r.updateQueryKey:o?O:!R,_=o||!R&&(N||A===k);if(V?.promise&&V.key===k&&D)return $&&console.log("[🔄 Using Active Fetch 🔄] for params:",JSON.stringify(I)),V.promise;if(g&&!R&&!1!==r?.updateQueryKey&&X(),!r?.force){const e=S.lastFetchedAt,n=S.queryCache[k],o=n?.lastFetchedAt,i=n?.errorInfo,s=i&&i.retryCount>=q,c=(v?U===k&&e:o)||null;if(c&&!(Date.now()-c>=T)&&(!i||s||R))return _&&!R&&!B&&l.subscriptionCount>0&&0!==M&&M!==1/0&&m(I,r),N&&t(e=>e.queryKey!==k?{...e,queryKey:k}:e),$&&console.log("[💾 Returning Cached Data 💾] for params:",JSON.stringify(I)),n?.data??null}!R&&_&&(B&&(clearTimeout(B),B=null),!j&&D||t(e=>({...e,error:null,status:Ee.Loading})),V={key:k});const W=r?.cacheTime??(K?b(I):b),Q=async()=>{try{$&&(o||!e||rt(e,P)?console.log("[🔄 Fetching 🔄] for params:",JSON.stringify(I)):console.log("[🔄 Fetching with Partial Params 🔄]\n","- Provided params:",`${JSON.stringify(e)}\n`,"- Filled in params:",`${JSON.stringify(Object.fromEntries(Object.keys(I).filter(t=>!(t in e)).map(e=>[e,I[e]])))}`));const n=await(g&&!R&&_?(async e=>{const t=new AbortController;J=t;try{return await new Promise((n,r)=>{t.signal.addEventListener("abort",()=>r(E),{once:!0}),Promise.resolve(s(e,t)).then(n,r)})}finally{J===t&&(J=null)}})(I):s(I,null)),c=Date.now();let l;$&&console.log("[✅ Fetch Successful ✅] for params:",JSON.stringify(I));try{l=d?d(n,I):n}catch(e){throw new y(`[createQueryStore: ${i?.storageKey||k}]: transform failed`,e)}if(R)return $&&console.log("[🥷 Successful Parallel Fetch 🥷] for params:",JSON.stringify(I)),"withCache"===r.skipStoreUpdates&&t(e=>{if(!u)return v?{...e,queryCache:{...e.queryCache,[k]:{cacheTime:W,data:l,errorInfo:null,lastFetchedAt:c}}}:e;let t=e;const n=t.queryCache[k];return u({data:l,params:I,queryKey:k,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!v&&Object.is(n,t.queryCache[k])&&(t={...t,queryCache:{...t.queryCache,[k]:{cacheTime:W,data:l,errorInfo:null,lastFetchedAt:c}}}),t}),l;if((u?f:t)(e=>{let t={...e,error:null,lastFetchedAt:c,queryKey:N?k:e.queryKey,status:Ee.Success};if(u||v){if(u){$&&console.log("[💾 Setting Data 💾] for params:",JSON.stringify(I));const e=t.queryCache[k];u({data:l,params:I,queryKey:k,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!v&&Object.is(e,t.queryCache[k])&&(t.queryCache={...t.queryCache,[k]:{cacheTime:W,data:null,errorInfo:null,lastFetchedAt:c}})}}else $&&console.log("[💾 Setting Cache 💾] for params:",JSON.stringify(I),"| Has previous data?:",!!t.queryCache[k]?.data),t.queryCache={...t.queryCache,[k]:{cacheTime:W,data:l,errorInfo:null,lastFetchedAt:c}};return v||b===1/0?t:ot(O,k,t)}),_&&(U=k,m(I,r)),a)try{a({data:l,fetch:w.fetch,params:I,set:f})}catch(e){p.error(new y(`[createQueryStore: ${i?.storageKey||k}]: onFetched callback failed`,e))}return l??null}catch(s){if(s===E)return $&&console.log("[❌ Fetch Aborted ❌] for params:",JSON.stringify(I)),null;const a=!o&&!0===r?.throwOnError,u=h(s);if(R||!_){if(p.error(new y(`[createQueryStore: ${i?.storageKey||k}]: Failed to fetch data`,u)),a)throw u;return null}const l=v?void 0:n().queryCache[k],f=l?.errorInfo?.retryCount??0,d=f+1;if(c?.(u,f),f<q){if(G.get().subscriptionCount>0){const t="function"==typeof C?C(d,u):C;t!==1/0&&(B&&clearTimeout(B),B=setTimeout(()=>{const{enabled:t,subscriptionCount:n}=G.get();t&&n>0&&w.fetch(e,{force:!0},!0)},t))}t(e=>({...e,error:u,queryCache:{...e.queryCache,[k]:{cacheTime:l?.cacheTime??W,data:l?.data??null,lastFetchedAt:l?.lastFetchedAt??null,errorInfo:{error:u,lastFailedAt:Date.now(),retryCount:d}}},queryKey:N?k:e.queryKey,status:Ee.Error}))}else t(e=>({...e,error:u,queryCache:{...e.queryCache,[k]:{cacheTime:l?.cacheTime??W,data:l?.data??null,lastFetchedAt:l?.lastFetchedAt??null,errorInfo:{error:u,lastFailedAt:Date.now(),retryCount:q}}},queryKey:N?k:e.queryKey,status:Ee.Error}));if(p.error(new y(`[createQueryStore: ${i?.storageKey||k}]: Failed to fetch data`,u)),a)throw u;return null}finally{!R&&_&&(V=null)}};return R||!_?Q():(V={key:k,promise:Q()}).promise},getCacheEntry(e){if(v)return null;const t=n(),r=e?"string"==typeof e?e:z(et(x,L,P,e)):t.queryKey;return t.queryCache[r]??null},getData(e){if(v)return null;const t=n().getCacheEntry(e);return t&&null!==t.data?O?t.data:t.lastFetchedAt&&Date.now()-t.lastFetchedAt>=t.cacheTime?null:t.data:null},getStatus:function(e){switch(e){case"isIdle":return n().status===Ee.Idle;case"isLoading":return n().status===Ee.Loading;case"isSuccess":{const e=n(),t=e.queryCache[e.queryKey]?.lastFetchedAt;return"number"==typeof t||e.status===Ee.Success}case"isError":case"isInitialLoad":case void 0:{const t=n(),r=t.queryCache[t.queryKey],o=(v?U===t.queryKey&&t.lastFetchedAt:r?.lastFetchedAt)||null,i=t.status;switch(e){case"isError":{const e=t.queryCache[t.queryKey];return v?"error"!==i:"number"==typeof e?.errorInfo?.lastFailedAt}case"isInitialLoad":return!o&&i===Ee.Loading}return{isError:i===Ee.Error,isIdle:i===Ee.Idle,isLoading:i===Ee.Loading,isInitialLoad:!o&&i===Ee.Loading,isSuccess:i===Ee.Success}}}},isDataExpired(e){const t=n(),r=t.queryCache[t.queryKey],o=t.queryKey,i=t.lastFetchedAt,s=(v?U===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=(v?U===r&&t.lastFetchedAt:t.queryCache[r]?.lastFetchedAt)||null;if(!o)return!0;const i=e??M;return Date.now()-o>=i},reset(e=!1){for(const e of N)e();N=[],x=null,L=null,R=null,X(),B&&(clearTimeout(B),B=null),V=null,U=null,e&&t(e=>({...e,...H}))}},j=o.subscribe;return o.subscribe=(...e)=>{const t=W?()=>{}:G.subscribe(),n=1===e.length?j(e[0]):j(e[0],e[1],e[2]);return e=>{t(e),n()}},w},Z=i?.storageKey?oe(Y,Object.assign(Object.create(null),i,{partialize:ct(O,i.partialize)})):o&&!("storageKey"in o)?oe(Y,o):oe(Y),ee=Z.getState(),te=ee.error,ne=ee.enabled,re=ee.queryKey;if(re&&!te&&(U=re),W=!0,F||"function"==typeof e.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(!We(t,e))continue;const s=t[e];if(it(s)){const t=s(Le,n);r[e]=t,i[e]=t.value}else st(s)&&(o[e]=s,i[e]=s)}let s,c=null,a=null;if(it(e)){const t=e(Le,n);s=t.value,c=t}else s=e,a=e;return{attachVals:r,directValues:o,enabledAttachVal:c,enabledDirectValue:a,resolvedEnabled:s,resolvedParams:i}}(w,F,Z);x={enabled:t,params:r},L={enabled:n,params:e}}"function"==typeof e.staleTime&&(R=e.staleTime(Le,Z),M=R.value);const ie=function(){let e,t=!1;return function(...n){e=n,t||(t=!0,queueMicrotask(()=>{t=!1,(e=>{ee.fetch(e??tt(x,L),{updateQueryKey:O})})(...e)}))}}();function se(){let e;if(!O){e=tt(x,L);const t=z(e);Z.setState(e=>({...e,queryKey:t}))}ie(e)}const ce=f||!A?se:I(se,"number"==typeof A?A:A.delay,"number"==typeof A?{leading:!1,maxWait:A,trailing:!0}:A);if(x?.enabled){const e=x.enabled,t=Pe.get(e);if(t){let n=e.value;ne!==n&&Z.setState(e=>({...e,enabled:n})),n&&G.setEnabled(n),$&&console.log("[🌀 Enabled Subscription 🌀] Initial value:",n);const r=t(()=>{const t=e.value;t!==n&&($&&console.log("[🌀 Enabled Change 🌀] - [Old]:",`${n},`,"[New]:",t),n=t,Z.setState(e=>({...e,enabled:t})))});N.push(r)}}else ne!==H.enabled&&Z.setState(e=>({...e,enabled:H.enabled}));for(const e in x?.params){const t=x.params[e];if(!t)continue;const n=Pe.get(t);if($&&console.log("[🌀 Param Subscription 🌀] Subscribed to param:",e),n){let r=t.value;const o=n(()=>{const n=t.value;$e(r,n)||($&&console.log("[🌀 Param Change 🌀] -",e,"- [Old]:",`${r?.toString()},`,"[New]:",n?.toString()),r=n,ce())});N.push(o)}}if(R){const e=Pe.get(R);if(e){const t=R;let n=t.value;$&&console.log("[🌀 StaleTime Subscription 🌀] Initial value:",n);const r=e(()=>{const e=t.value;e!==n&&($&&console.log("[🌀 StaleTime Change 🌀] - [Old]:",`${n},`,"[New]:",e),n=e,M=e,Z.getState().fetch())});N.push(r)}}return W=!1,_&&queueMicrotask(ce),ae=Z,ue="_queryStore",Object.assign(ae,{[ue]:!0});var ae,ue}function He(e,t){const n=t?.baseDelay??D.seconds(5),r=t?.maxDelay??D.minutes(5),o=Math.pow(2,e);return Math.min(n*o,r)}function Ge(e){return JSON.stringify(Object.keys(e).sort().map(t=>e[t]))}function Xe(e){return JSON.stringify(Ze(e))}function Ye(e){return JSON.parse(e)}function Ze(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?Ze(r):r,t},{})}function et(e,t,n,r){return r?rt(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(e,t){if(!e)return!1;for(const n of t)if(!(n in e))return!1;return!0}function ot(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(!We(n.queryCache,e))continue;const c=n.queryCache[e];c&&(r-(c.lastFetchedAt??c.errorInfo.lastFailedAt)<c.cacheTime||e===o)?!t&&c.errorInfo&&c.errorInfo.retryCount>0?(s[e]={...c,errorInfo:{...c.errorInfo,retryCount:0}},i=!0):s[e]=c:i=!0}return i?{...n,queryCache:s}:n}function it(e){return"function"==typeof e}function st(e){return!it(e)}function ct(e,t){return n=>{const r={...n},o={};for(const e in r)We(r,e)&&e in Be&&(Be[e]&&(o[e]=r[e]),delete r[e]);return{...t?t(r):E(r),...ot(e,null,o)}}}function at(e,t,n){const r="function"==typeof t,o=r?t:void 0,i=r?n:t,s=new Set,c=Ce(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),W(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 ut=Symbol(),lt=Object.freeze({debugMode:!1,enabled:!0,equalityFn:Object.is,fireImmediately:!1});function ft(e,t,n,r=lt){const o=function(){const e=c(ut);return e.current===ut&&(e.current=function(e,t,n){return{selector:e,react:t,isActive:!1,options:pt(n),resubscribe:()=>{},unsubscribe:()=>{}}}(t,n,r)),e}(),i=function(e){return"function"==typeof e?lt.enabled:e?.enabled??lt.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??lt)}(o,r),s(()=>{if(i)return yt(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 dt=Object.freeze({fireImmediately:!1,forceResubscribe:!1});function yt(e,t,n=dt){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=dt)=>yt(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 pt(e){return"function"==typeof e?{equalityFn:e}:e??lt}var ht=Symbol();function gt(e){const t=c(ht);return t.current===ht&&(t.current=e()),t.current}function bt(e,t){const n=function(e){const t=e.getState(),n=Object.create(null);if(l&&("object"!=typeof t||null===t))throw new Error("[createStoreActions]: State is not an object");if(G(e)){for(const r in t)St(t,r)&&(n[r]=mt(e,r));return n}for(const e in t)St(t,e)&&(n[e]=t[e]);return n}(e);return t?Object.assign(n,t):n}function mt(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 St(e,t){return"function"==typeof e[t]}export{Ee as QueryStatuses,_ as applyStateUpdate,w as configureStores,oe as createBaseStore,Ce as createDerivedStore,Qe as createQueryStore,bt as createStoreActions,at as createVirtualStore,De as deepEqual,He as defaultRetryDelay,W as destroyStore,J as destroyStores,Ge as getLegacyQueryKey,Xe as getQueryKey,V as getStoreName,Q as isDerivedStore,H as isPersistedStore,U as isQueryStore,G as isVirtualStore,Ye as parseQueryKey,M as replacer,z as reviver,Ke as shallowEqual,D as time,ft as useListen,gt as useStableValue};
1
+ import{Platform as e,unstable_batchedUpdates as t}from"react-native";import{createMMKV as n,MMKV as r}from"react-native-mmkv";import{subscribeWithSelector as o,persist as i}from"zustand/middleware";import{createWithEqualityFn as s}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="ios"===e.OS;e.OS;var f="development"===process.env.NODE_ENV,d="test"===process.env.NODE_ENV;function y(e){let t;function o(){if(t)return t;try{const o=function(e){if("function"==typeof n)return n({id:e});if("function"==typeof r)return new r({id:e});throw new Error("[stores]: react-native-mmkv module does not export MMKV/createMMKV.")}(e);let i;if("function"==typeof o.delete){const e=o.delete;i=t=>e.call(o,t)}else if("function"==typeof o.remove){const e=o.remove;i=t=>e.call(o,t)}if("function"!=typeof i)throw new Error("[stores]: Storage instance does not conform to expected interface");t={clearAll:()=>o.clearAll(),contains:e=>o.contains(e),delete:e=>i(e),get:e=>o.getString(e),getAllKeys:()=>o.getAllKeys(),set:(e,t)=>o.set(e,t)}}catch(e){throw new Error("[stores] react-native-mmkv could not be loaded.\n\nPersisted stores require a storage backend. Either:\n - Install MMKV (the default): yarn add react-native-mmkv\n - Or provide a custom adapter via configureStores()\n"+(e instanceof Error?`\n${e.message}`:""))}return function(e){if(!e||"function"!=typeof e.get||"function"!=typeof e.set||"function"!=typeof e.delete||"function"!=typeof e.clearAll)throw new Error("[stores]: Storage instance does not conform to expected interface")}(t),t}return{clearAll:()=>o().clearAll(),contains:e=>o().contains(e),delete:e=>o().delete(e),get:e=>o().get(e),getAllKeys:()=>o().getAllKeys(),set:(e,t)=>o().set(e,t)}}var p=class extends Error{constructor(e,t){super(e),this.name="StoresError",this.cause=g(t)}},h={debug:(e,t)=>{f&&console.debug(e,t)},error:(e,t)=>{f&&!d&&console.error(e,t)},info:(e,t)=>{f&&console.info(e,t)},warn:(e,t)=>{f&&console.warn(e,t)}};function g(e){return e instanceof Error?e:new Error(String(e))}var b,m,S=class{destroy(){}publish(){}},v=class{constructor(){this.sessionId="noop"}register(e){return new S}},w=!1;function O(e){var t;f&&function(){if(w)throw new Error("[stores]: configureStores() called after first store creation. Call it earlier before creating any stores.")}(),e.logger&&(t=e.logger,h=t),m??(m=q(e))}function j(){return m??(m=q(void 0))}function A(){w=!0}function q(e){return{storage:e?.storage??y(e?.storageKeyPrefix??"stores:"),syncEngine:e?.syncEngine??(b||(b=new v),b)}}function F(){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 C=Math.max,I=Math.min;function k(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=T();if(p(e))return g(e);c=setTimeout(h,function(e){const n=t-(e-(a??0));return f&&void 0!==i?I(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=T(),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=M(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?C(M(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(T())},b}function T(){return"undefined"!=typeof performance&&"function"==typeof performance.now?performance.now():Date.now()}function M(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 z(e,t){return t instanceof Map?{__type:"Map",entries:Array.from(t.entries())}:t instanceof Set?{__type:"Set",values:Array.from(t)}:t}function E(e,t){return function(e){return"object"==typeof e&&null!==e&&"__type"in e&&"Map"===e.__type}(t)?new Map(t.entries):function(e){return"object"==typeof e&&null!==e&&"__type"in e&&"Set"===e.__type}(t)?new Set(t.values):t}function K(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 D={ms:e=>e,seconds:e=>1e3*e,minutes:e=>D.seconds(60*e),hours:e=>D.minutes(60*e),days:e=>D.hours(24*e),weeks:e=>D.days(7*e),infinity:1/0,zero:0},$=d?0:l?D.seconds(3):D.seconds(5);function P(e){return t=>{if("string"!=typeof t)throw new p("[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?E:void 0)}catch(e){throw h.error(new p("[createBaseStore]: Failed to deserialize persisted store data"),{error:e}),e}}(t,e)}}function x(e){return t=>function(e,t){try{return JSON.stringify(e,t?z:void 0)}catch(e){throw h.error(new p("[createBaseStore]: Failed to serialize store data"),{error:e}),e}}(t,e)}var L=Object.freeze({shouldClear:!1});function N(e,t,n){if(!t||!e)return L;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 R(e,t){e&&t.shouldClear&&t.fieldSnapshot&&Object.keys(t.fieldSnapshot).length&&e.clearFieldTimestamps(t.fieldSnapshot)}function V(e){return!!e&&!!e.getIsApplyingRemote()}var W=Object.freeze({QueryStore:Symbol("queryStore"),VirtualStore:Symbol("virtualStore")});function _(e,...t){if(!0===t[1])return Z(t[0])?t[0](e):t[0];const n=Z(t[0])?t[0](e):t[0];return function(e){return Array.isArray(e)}(e)?n:{...e,...n}}function J(e,t){H(e)?e.getState().reset(t?.clearQueryCache):function(e){return"destroy"in e}(e)&&e.destroy()}function Q(e,t){for(const n of Array.isArray(e)?e:Object.values(e))n&&!t?.skipDestroy?.(n)&&J(n,t)}function B(e){return X(e)?e.persist.getOptions().name??e.name:e.name}function U(e){return"getSnapshot"in e}function H(e){return W.QueryStore in e}function G(e){return"flushUpdates"in e}function X(e){return"persist"in e}function Y(e){return W.VirtualStore in e}function Z(e){return"function"==typeof e}var[ee,te]=[0,1];function ne(e,t,n){if(!e)return!0;const r=e[ee],o=e[te];return!(t<r)&&(t>r||n>o)}function re(e,t){return Object.prototype.hasOwnProperty.call(t,e)}function oe(e,t){if(!f)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 ie(e){if(null===e)return"null";const t=typeof e;return"object"===t?Object.prototype.toString.call(e):t}function se(e,t){A();const n=void 0!==t&&"string"==typeof t.storageKey,r=n?t.storageKey:void 0,c=t?.sync?function(e,t){if(!e)return null;if(!0===e){if(!t)throw new p("[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 p("[createBaseStore]: sync requires either a key in the config or a storageKey to inherit from");return{...n,key:r}}(t.sync,r):void 0,a=n?t.storage??j().storage:void 0,u=c?function(e,t,n){const r=t.engine??j().syncEngine,o=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:(i,s,c)=>{const a=new Map,u=[],l=[];let f=null,d=!1,y=!1,g=0,b=null,m=[],S=Promise.resolve(),v=!n;const w=(e,t)=>{if(o?.setSessionId&&o?.setTimestamp&&r.sessionId&&(o.setSessionId(r.sessionId),o.setTimestamp(e),o.mergeFieldTimestamps&&t.length>0)){const n=Object.create(null);for(const r of t)n[String(r)]=e;o.mergeFieldTimestamps(n)}},O=function(e,t){if(d||!b)return t?i(e,t):i(e);const n=(()=>{const e=Date.now(),t=e>g?e:g+1;return g=t,t})();let o=[],s=Object.create(null);const c=r=>{const i=_(r,e,t);for(const e of m)Object.is(i[e],r[e])||(o.push(e),s[e]=i[e]);return o.length&&w(n,o),i},u=t?i(c,!0):i(c),p=()=>{o.length&&(e=>{const t=r.sessionId;for(const n of e.keys)a.set(n,[e.timestamp,t]);f&&y?f.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values}):l.push(e)})({keys:o,replace:t??!1,values:s,timestamp:n})};return(h=u)&&"object"==typeof h&&"then"in h&&"function"==typeof h.then?u.finally(p):(p(),u);var h},j=c.setState;c.setState=O;const A=e(O,s,c);if(m=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}(A),!m.length)return A;b=new Set(m);const q=async e=>{g=Math.max(g,e.timestamp);const n=Object.create(null),r=s(),i=e.timestamp;let c;if(e.replace)for(const t of m)re(t,e.values)||ne(a.get(t),i,e.sessionId)&&(c??(c=[])).push(t);for(const o of m){if(!re(o,e.values))continue;if(!b?.has(o))continue;if(!ne(a.get(o),i,e.sessionId))continue;const s=t.merge?.[o];if(s){const t=e.values[o],c=r[o];if(void 0!==t){const u=s(t,c,r,e.values),l=void 0!==c?c:t;if(!oe(u,l))return void h.error(new p(`[sync] Merge function for field "${String(o)}" returned ${ie(u)} but expected ${ie(l)}`));n[o]=u,a.set(o,[i,e.sessionId])}}else n[o]=e.values[o],a.set(o,[i,e.sessionId])}if(Object.keys(n).length>0||c?.length){d=!0,o&&o.setIsApplyingRemote(!0);try{if(e.replace){const e={...r};let t=!1;if(c?.length){t=!0;for(const t of c)delete e[t],a.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(o.setWithoutPersist??j)(e,!0)}else await(o.setWithoutPersist??j)(n)}finally{d=!1,o&&o.setIsApplyingRemote(!1)}}},F=e=>{n?S=S.then(()=>q(e)):q(e)};f=r.register({apply:e=>{v?F(e):u.push(e)},delta:t.delta,fields:m,getState:s,key:t.key});const C=()=>{y=!0,(()=>{if(f&&l.length){for(const e of l){const t=r.sessionId;for(const n of e.keys)a.set(n,[e.timestamp,t]);w(e.timestamp,e.keys),f.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values})}l.length=0}})()},I=()=>{v=!0,(()=>{if(!u.length)return;const e=u.slice();u.length=0;for(const t of e)F(t)})()};return n&&o?(o.onHydrationComplete=C,o.onHydrationFlushEnd=I):f.onHydrated?(f.onHydrated(C),I()):(C(),I()),A},syncContext:o}}(e,c,a?.async??!1):void 0,l=u?.stateCreator??e;if(!n)return s()(o(l),Object.is);const f=a?.async?function(e){let t,n,r,o=!1;return{hydrationPromise:()=>o?t?.promise??n??(n=Promise.resolve()):(t||(t=F()),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=F()),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(g(i)):t?.complete(),s?.(e,i)}}}}(l):null,d=function(e,t,n){const r=t??e.storage??j().storage,o=(e.sync?void 0:e.persistThrottleMs??$)||void 0,i=e.version??0,s=r.async?function(e,t,n,r){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),i="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),s=t.partialize??K,c=t.deserializer??e.deserializer??P(o),a=t.serializer??e.serializer??x(o);async function u(t,n){try{if(V(r))return;n.state,n.state=s(n.state);const o=N(r,i,n),c=a(n);try{await e.set(t,c),R(r,o)}catch(e){h.error(new p("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){h.error(new p("[createBaseStore]: Failed to serialize persisted store data"),{error:e})}}const l=void 0!==n?k(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){h.error(new p("[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),i="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),s=t.partialize??K,c=t.deserializer??e.deserializer??P(o),a=t.serializer??e.serializer??x(o);function u(t,n){try{if(V(r))return;n.state,n.state=s(n.state);const o=N(r,i,n),c=a(n);try{e.set(t,c),R(r,o)}catch(e){h.error(new p("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){h.error(new p("[createBaseStore]: Failed to persist store data"),{error:e})}}const l=void 0!==n?k(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){h.error(new p("[createBaseStore]: Failed to delete persisted store data"),{error:e})}}}}(r,e,o,n);return{persistStorage:s,version:i}}(t,a,u?.syncContext),y=f?f.wrapOnRehydrateStorage(t.onRehydrateStorage,u?.syncContext):t.onRehydrateStorage,b=f?(e,t,n)=>(u&&(u.syncContext.setWithoutPersist=n.setState),f.stateCreator(e,t,n)):l,m=s()(o(i(b,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,d,y))),Object.is);return f?Object.assign(m,{persist:Object.assign(m.persist,{hydrationPromise:f.hydrationPromise})}):m}function ce(e,t,n="s"){return 1===t?e:`${e}${n}`}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)}(U(e)?e.getSnapshot():e.getState(),e,n);return t.set(e,r),r}return r}function ue(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,ue(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 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&&function(e){const t=e.size;console.log(`[📡 ${t} ${ce("Proxy Subscription",t)} 📡]:`,JSON.stringify(Array.from(e).map(e=>{const t=B(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}_${ce("arg",r)})`:"()"}`}),null,2))}(e)}(r,t,n)},trackPath(t,n,r,o){let i=e.get(t);i||(i=pe(),e.set(t,i)),he(i,n,0,r,o)}}}function pe(){return Object.create(null)}function he(e,t,n,r,o){if(n===t.length)return r&&(e.isLeaf=!0),void(o&&(e.invocation=o));e.children||(e.children=pe());const i=t[n];let s=e.children?.[i];s||(s=pe(),e.children[i]=s),he(s,t,n+1,r,o)}function ge(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&&ge(c,t,[...n,e],r+1,o,i)}}else if(r<i&&a>1&&!e.isLeaf)for(const e of c)ge(s[e],t,[...n,e],r+1,o,i);else{if(1===a){const e=c[0];return void ge(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 be=!1,me=!1,Se=new Map,ve=new Map,we=new Map,Oe=null,je=1/0;function Ae(){return be}function qe(){return Oe}function Fe(){be||(be=!0,me||(me=!0,queueMicrotask(()=>{me=!1,t(()=>{for(;ve.size>0;){const e=je,t=we.get(e);if(t){we.delete(e);for(const e of t)ve.delete(e);Oe=e;for(const e of t)e();if(Oe=null,we.size>0){je=1/0;for(const e of we.keys())e<je&&(je=e)}else je=1/0}else{je=1/0;for(const e of we.keys())e<je&&(je=e)}}for(;Se.size>0;){const e=Array.from(Se.values());Se.clear();for(const t of e)t()}}),be=!1,Oe=null,ve.clear(),we.clear(),je=1/0})))}function Ce(e,t){be&&Se.set(e,t)}var Ie=e=>e;function ke(e,t=Object.is){return n=function(e,t=Object.is){const{debounceOptions:n,debugMode:r,equalityFn:o,keepAlive:i,lockDependencies:s}="function"==typeof(u=t)?{debounceOptions:void 0,debugMode:!1,equalityFn:u,keepAlive:!1,lockDependencies:!1}:{debounceOptions:u.debounce,debugMode:(f&&u.debugMode)??!1,equalityFn:u.equalityFn??Object.is,keepAlive:u.keepAlive??!1,lockDependencies:u.lockDependencies??!1},c=String(Me+=1),a=new Set;var u;i&&a.add(ze);const l=new Set;let d,y,p=Te,h=!1,g=!0,b=!0,m=0,S=!1,v=null,w=Te;function O(e,t,n){if(!b||!a.size)return(t??Ie)(U(e)?e.getSnapshot():e.getState());if(!t)return d||(d=new WeakMap),y||(y=ye()),ae(e,d,y.trackPath);const r=e.subscribe(t,K,{equalityFn:n??Object.is,isDerivedStore:!0});return l.add(r),t(U(e)?e.getSnapshot():e.getState())}function j(e){for(const t of l)t(e);l.clear()}let A=!0;function q(){if(!g&&Ee(p))return p;g=!1,b&&j(!0);const t=p,n=Ee(t);p=function(t){A=!0;const n=p,i=e(t);return Ee(n)&&o(n,i)?(r&&console.log("[🥷 Derive Complete 🥷]: No change detected"),A=!1,n):i}(O);const i=r&&(!n||"verbose"===r&&b);if(i){n?"verbose"===r&&console.log("[🌀 Rebuilding Subscriptions 🌀]: Created…"):console.log("[🌀 Initial Derive Complete 🌀]: Created…");const e=l.size;console.log(`[🎯 ${e} ${ce("Selector Subscription",e)} 🎯]`)}return y&&b&&(y.buildProxySubscriptions((e,t)=>{const n=e.subscribe(t,K,{equalityFn:Object.is,isDerivedStore:!0});l.add(n)},i),d=void 0,y=void 0),A&&n&&function(e,t){const n=function(){const e=a.has(ze)?a.size-1:a.size;return m>0&&m<e}(),o=!m||n,i=n||null!==qe()||Ae()&&o;n&&Fe(),r&&console.log(`[📻 Derive Complete 📻]: Notifying ${a.size} ${ce("watcher",a.size)}`);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)}}i?S||(S=!0,Ee(w)||(w=t),Ce(c,C)):F(e,t)}(p,t),s&&(b=!1),p}function F(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 C(){if(!a.size)return;if(g&&!m&&q(),!Ee(p))return;const e=Ee(w)?w:p;F(p,e),S=!1,w=Te}const I=n?k(M,"number"==typeof n?n:n.delay,"number"==typeof n?{leading:!1,maxWait:n,trailing:!0}:n):void 0,T=I??(()=>{h||(h=!0,queueMicrotask(M))});function M(){a.size&&(h=!1,g&&q())}function z(e){e?queueMicrotask(()=>{a.size||$()}):$()}function E(){M(),v=null}function K(){if(!g){if(g=!0,!I){if(m){Fe();const e=qe(),t=null===e?0:e+1;if(null!==v&&t<=v)return;return v=t,void function(e,t){if(!be)return;const n=t<0?0:0|t,r=ve.get(e);if(void 0===r){ve.set(e,n);let t=we.get(n);return t||(t=new Set,we.set(n,t)),t.add(e),void(n<je&&(je=n))}if(n>r){const t=we.get(r);if(t&&(t.delete(e),0===t.size&&(we.delete(r),r===je))){je=1/0;for(const e of we.keys())e<je&&(je=e)}ve.set(e,n);let o=we.get(n);o||(o=new Set,we.set(n,o)),o.add(e),n<je&&(je=n)}}(E,t)}if(Ae())return void(S||(S=!0,Ee(p)&&(w=p),Ce(c,C)))}v=null,T()}}function D(){return g||!Ee(p)?a.size>0?q():e(O):p}function $(e=!0){i&&e||(I?.cancel(),j(),a.clear(),m=0,y=void 0,d=void 0,b=!0,h=!1,g=!0,p=Te,S=!1,w=Te,v=null)}return{destroy:()=>$(!1),flushUpdates:function(){a.size&&(I?I.flush():g&&q())},getSnapshot:function(){if(!Ee(p)){a.add(ze);const e=q();return a.delete(ze),e}return h&&M(),p},getState:D,subscribe:function(...e){if(1===e.length){const t=e[0];return a.add(t),1!==a.size||Ee(p)||D(),()=>{a.delete(t),a.size||z(!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 a.add(s),s.currentSlice=t(D()),i&&(m+=1),r?.fireImmediately&&n(s.currentSlice,s.currentSlice),()=>{a.delete(s),i&&(m-=1),a.size||z(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=Ie,t=void 0){return c(n.subscribe,n.getSnapshot,void 0,e,t)},n);var n}var Te=Symbol(),Me=0;function ze(){}function Ee(e){return e!==Te}var Ke=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=D.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 $e(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)||!$e(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,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--&&xe(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(!xe(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)||!xe(e[r],t[r]))return!1}return Object.keys(t).length===i}}return e!=e&&t!=t}var Le=new WeakMap,Ne=new WeakMap;function Re(e,t=Ve,n=xe){return function(e,t,n){let r=Ne.get(e);r||(r=new Map,Ne.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 Le.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(()=>{}),Le.set(f,s),o.set(n,f),f}(e,t,n)}var Ve=e=>e,We=(e,t,n)=>{if(!t.length)return n;const[r,...o]=t,i=e[r],s=We(i,o,n);if(xe(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=U(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!==Ve)throw new Error("Cannot set a value with a selector");e.setState(e=>We(e,n,r),!0)}]},Je=Object.prototype.hasOwnProperty;function Qe(e,t){return Je.call(e,t)}var[Be,Ue]=[!0,!1],He={error:Be,lastFetchedAt:Be,queryCache:Be,queryKey:Be,status:Be,enabled:Ue,fetch:Ue,getCacheEntry:Ue,getData:Ue,getStatus:Ue,isDataExpired:Ue,isStale:Ue,reset:Ue},Ge=D.seconds(5);function Xe(e,t,n){A();const r="function"==typeof t?t:it,o="object"==typeof t?t:n,i=o&&"storageKey"in o?o:void 0,{fetcher:s,onError:c,onFetched:a,setData:u,transform:l,abortInterruptedFetches:y=!0,cacheTime:b=D.days(7),debugMode:m=!1,disableAutoRefetching:S=!1,disableCache:v=!1,enabled:w=!0,keepPreviousData:O=!1,maxRetries:j=5,paramChangeThrottle:q=!1,params:F,retryDelay:C=Ye,suppressStaleTimeWarning:I=!1,useParsableQueryKeys:T=!0}=e;let M="function"==typeof e.staleTime?D.minutes(2):e.staleTime??D.minutes(2);f&&!S&&!I&&M<Ge&&console.warn(`[createQueryStore${i?.storageKey?`: ${i.storageKey}`:""}] ❌ Stale times under ${Ge/1e3} seconds are not recommended. Provided staleTime: ${M/1e3} seconds`);const z=T?et:Ze,E=new Error("[createQueryStore: AbortError] Fetch interrupted"),K="function"==typeof b,$=f&&m,P=Object.keys(e.params??Object.create(null));let x=null,L=null,N=null,R=[],V=!1,_=!1,J=null,Q=null,B=null,U=null,H=null;const G={enabled:"function"!=typeof w&&w,error:null,lastFetchedAt:null,queryCache:{},queryKey:"",status:De.Idle},X=new Ke({disableAutoRefetching:S,initialEnabled:G.enabled}),Y=()=>{J&&(Q=null,J.abort(),J=null)},Z=(t,n,o)=>{const f=o.setState,d=(e,t)=>{const n="function"==typeof e;if(n||void 0!==e.enabled){let t;const r=f(r=>{const i=n?e(r):e,s=void 0!==i.enabled?i.enabled:r.enabled;return s!==r.enabled&&(t=()=>((e,t)=>{e!==t&&H!==t&&(H=t,X.setEnabled(t),t?queueMicrotask(()=>o.getState().fetch(void 0,{updateQueryKey:!0})):(B||y)&&(y&&Y(),B&&(clearTimeout(B),B=null)))})(r.enabled,s)),i});return t?.(),r}return f(e)};o.setState=d,X.init({onSubscribe:(r,o,i)=>{if(L||x||!F&&"function"!=typeof e.enabled&&"function"!=typeof e.staleTime){if(r)if(o){const e=ot(x,L),r=z(e),o=n();o.queryKey!==r&&t(e=>({...e,queryKey:r})),o.isStale()?w.fetch(e,void 0,!0):m(e,void 0)}else S&&!i&&w.fetch(void 0,void 0,!0)}else V=!0},onLastUnsubscribe:e=>{B&&(clearTimeout(B),B=null),y&&!e&&Y()}});const m=(e,t)=>{if(S||t?.skipStoreUpdates)return;if(M<=0||M===1/0)return;B&&(clearTimeout(B),B=null);const r=z(e),o=n(),i=(v?U===r&&o.lastFetchedAt:o.queryCache[r]?.lastFetchedAt)||null,s=i?M-(Date.now()-i):M;B=setTimeout(()=>{const t=X.get();t.enabled&&t.subscriptionCount>0&&w.fetch(e,{force:!0},!0)},s)},w={...r(d,n,o),...G,async fetch(e,r,o=!1){const f=X.get();if(!r?.force&&!r?.skipStoreUpdates&&!f.enabled)return null;const S=n(),A=S.error,q=S.queryKey,F=S.status,I=rt(x,L,P,e),k=z(I),T=r?.staleTime??M,D=F===De.Loading,N=!!r?.skipStoreUpdates,R="boolean"==typeof r?.updateQueryKey?r.updateQueryKey:o?O:!N,V=o||!N&&(R||q===k);if(Q?.promise&&Q.key===k&&D)return $&&console.log("[🔄 Using Active Fetch 🔄] for params:",JSON.stringify(I)),Q.promise;if(y&&!N&&!1!==r?.updateQueryKey&&Y(),!r?.force){const e=S.lastFetchedAt,n=S.queryCache[k],o=n?.lastFetchedAt,i=n?.errorInfo,s=i&&i.retryCount>=j,c=(v?U===k&&e:o)||null;if(c&&!(Date.now()-c>=T)&&(!i||s||N))return V&&!N&&!B&&f.subscriptionCount>0&&0!==M&&M!==1/0&&m(I,r),R&&t(e=>e.queryKey!==k?{...e,queryKey:k}:e),$&&console.log("[💾 Returning Cached Data 💾] for params:",JSON.stringify(I)),n?.data??null}!N&&V&&(B&&(clearTimeout(B),B=null),!A&&D||t(e=>({...e,error:null,status:De.Loading})),Q={key:k});const W=r?.cacheTime??(K?b(I):b),_=async()=>{try{$&&(o||!e||st(e,P)?console.log("[🔄 Fetching 🔄] for params:",JSON.stringify(I)):console.log("[🔄 Fetching with Partial Params 🔄]\n","- Provided params:",`${JSON.stringify(e)}\n`,"- Filled in params:",`${JSON.stringify(Object.fromEntries(Object.keys(I).filter(t=>!(t in e)).map(e=>[e,I[e]])))}`));const n=await(y&&!N&&V?(async e=>{const t=new AbortController;J=t;try{return await new Promise((n,r)=>{t.signal.addEventListener("abort",()=>r(E),{once:!0}),Promise.resolve(s(e,t)).then(n,r)})}finally{J===t&&(J=null)}})(I):s(I,null)),c=Date.now();let f;$&&console.log("[✅ Fetch Successful ✅] for params:",JSON.stringify(I));try{f=l?l(n,I):n}catch(e){throw new p(`[createQueryStore: ${i?.storageKey||k}]: transform failed`,e)}if(N)return $&&console.log("[🥷 Successful Parallel Fetch 🥷] for params:",JSON.stringify(I)),"withCache"===r.skipStoreUpdates&&t(e=>{if(!u)return v?{...e,queryCache:{...e.queryCache,[k]:{cacheTime:W,data:f,errorInfo:null,lastFetchedAt:c}}}:e;let t=e;const n=t.queryCache[k];return u({data:f,params:I,queryKey:k,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!v&&Object.is(n,t.queryCache[k])&&(t={...t,queryCache:{...t.queryCache,[k]:{cacheTime:W,data:f,errorInfo:null,lastFetchedAt:c}}}),t}),f;if((u?d:t)(e=>{let t={...e,error:null,lastFetchedAt:c,queryKey:R?k:e.queryKey,status:De.Success};if(u||v){if(u){$&&console.log("[💾 Setting Data 💾] for params:",JSON.stringify(I));const e=t.queryCache[k];u({data:f,params:I,queryKey:k,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!v&&Object.is(e,t.queryCache[k])&&(t.queryCache={...t.queryCache,[k]:{cacheTime:W,data:null,errorInfo:null,lastFetchedAt:c}})}}else $&&console.log("[💾 Setting Cache 💾] for params:",JSON.stringify(I),"| Has previous data?:",!!t.queryCache[k]?.data),t.queryCache={...t.queryCache,[k]:{cacheTime:W,data:f,errorInfo:null,lastFetchedAt:c}};return v||b===1/0?t:ct(O,k,t)}),V&&(U=k,m(I,r)),a)try{a({data:f,fetch:w.fetch,params:I,set:d})}catch(e){h.error(new p(`[createQueryStore: ${i?.storageKey||k}]: onFetched callback failed`,e))}return f??null}catch(s){if(s===E)return $&&console.log("[❌ Fetch Aborted ❌] for params:",JSON.stringify(I)),null;const a=!o&&!0===r?.throwOnError,u=g(s);if(N||!V){if(h.error(new p(`[createQueryStore: ${i?.storageKey||k}]: Failed to fetch data`,u)),a)throw u;return null}const l=v?void 0:n().queryCache[k],f=l?.errorInfo?.retryCount??0,d=f+1;if(c?.(u,f),f<j){if(X.get().subscriptionCount>0){const t="function"==typeof C?C(d,u):C;t!==1/0&&(B&&clearTimeout(B),B=setTimeout(()=>{const{enabled:t,subscriptionCount:n}=X.get();t&&n>0&&w.fetch(e,{force:!0},!0)},t))}t(e=>({...e,error:u,queryCache:{...e.queryCache,[k]:{cacheTime:l?.cacheTime??W,data:l?.data??null,lastFetchedAt:l?.lastFetchedAt??null,errorInfo:{error:u,lastFailedAt:Date.now(),retryCount:d}}},queryKey:R?k:e.queryKey,status:De.Error}))}else t(e=>({...e,error:u,queryCache:{...e.queryCache,[k]:{cacheTime:l?.cacheTime??W,data:l?.data??null,lastFetchedAt:l?.lastFetchedAt??null,errorInfo:{error:u,lastFailedAt:Date.now(),retryCount:j}}},queryKey:R?k:e.queryKey,status:De.Error}));if(h.error(new p(`[createQueryStore: ${i?.storageKey||k}]: Failed to fetch data`,u)),a)throw u;return null}finally{!N&&V&&(Q=null)}};return N||!V?_():(Q={key:k,promise:_()}).promise},getCacheEntry(e){if(v)return null;const t=n(),r=e?"string"==typeof e?e:z(rt(x,L,P,e)):t.queryKey;return t.queryCache[r]??null},getData(e){if(v)return null;const t=n().getCacheEntry(e);return t&&null!==t.data?O?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?U===t.queryKey&&t.lastFetchedAt:r?.lastFetchedAt)||null,i=t.status;switch(e){case"isError":{const e=t.queryCache[t.queryKey];return v?"error"!==i:"number"==typeof e?.errorInfo?.lastFailedAt}case"isInitialLoad":return!o&&i===De.Loading}return{isError:i===De.Error,isIdle:i===De.Idle,isLoading:i===De.Loading,isInitialLoad:!o&&i===De.Loading,isSuccess:i===De.Success}}}},isDataExpired(e){const t=n(),r=t.queryCache[t.queryKey],o=t.queryKey,i=t.lastFetchedAt,s=(v?U===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=(v?U===r&&t.lastFetchedAt:t.queryCache[r]?.lastFetchedAt)||null;if(!o)return!0;const i=e??M;return Date.now()-o>=i},reset(e=!1){for(const e of R)e();R=[],x=null,L=null,N=null,Y(),B&&(clearTimeout(B),B=null),Q=null,U=null,e&&t(e=>({...e,...G}))}},A=o.subscribe;return o.subscribe=(...e)=>{const t=_?()=>{}:X.subscribe(),n=1===e.length?A(e[0]):A(e[0],e[1],e[2]);return e=>{t(e),n()}},w},ee=i?.storageKey?se(Z,Object.assign(Object.create(null),i,{partialize:lt(O,i.partialize)})):o&&!("storageKey"in o)?se(Z,o):se(Z),te=ee.getState(),ne=te.error,re=te.enabled,oe=te.queryKey;if(oe&&!ne&&(U=oe),_=!0,F||"function"==typeof e.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(!Qe(t,e))continue;const s=t[e];if(at(s)){const t=s(Re,n);r[e]=t,i[e]=t.value}else ut(s)&&(o[e]=s,i[e]=s)}let s,c=null,a=null;if(at(e)){const t=e(Re,n);s=t.value,c=t}else s=e,a=e;return{attachVals:r,directValues:o,enabledAttachVal:c,enabledDirectValue:a,resolvedEnabled:s,resolvedParams:i}}(w,F,ee);x={enabled:t,params:r},L={enabled:n,params:e}}"function"==typeof e.staleTime&&(N=e.staleTime(Re,ee),M=N.value);const ie=function(){let e,t=!1;return function(...n){e=n,t||(t=!0,queueMicrotask(()=>{t=!1,(e=>{te.fetch(e??ot(x,L),{updateQueryKey:O})})(...e)}))}}();function ce(){let e;if(!O){e=ot(x,L);const t=z(e);ee.setState(e=>({...e,queryKey:t}))}ie(e)}const ae=d||!q?ce:k(ce,"number"==typeof q?q:q.delay,"number"==typeof q?{leading:!1,maxWait:q,trailing:!0}:q);if(x?.enabled){const e=x.enabled,t=Le.get(e);if(t){let n=e.value;re!==n&&ee.setState(e=>({...e,enabled:n})),n&&X.setEnabled(n),$&&console.log("[🌀 Enabled Subscription 🌀] Initial value:",n);const r=t(()=>{const t=e.value;t!==n&&($&&console.log("[🌀 Enabled Change 🌀] - [Old]:",`${n},`,"[New]:",t),n=t,ee.setState(e=>({...e,enabled:t})))});R.push(r)}}else re!==G.enabled&&ee.setState(e=>({...e,enabled:G.enabled}));for(const e in x?.params){const t=x.params[e];if(!t)continue;const n=Le.get(t);if($&&console.log("[🌀 Param Subscription 🌀] Subscribed to param:",e),n){let r=t.value;const o=n(()=>{const n=t.value;xe(r,n)||($&&console.log("[🌀 Param Change 🌀] -",e,"- [Old]:",`${r?.toString()},`,"[New]:",n?.toString()),r=n,ae())});R.push(o)}}if(N){const e=Le.get(N);if(e){const t=N;let n=t.value;$&&console.log("[🌀 StaleTime Subscription 🌀] Initial value:",n);const r=e(()=>{const e=t.value;e!==n&&($&&console.log("[🌀 StaleTime Change 🌀] - [Old]:",`${n},`,"[New]:",e),n=e,M=e,ee.getState().fetch())});R.push(r)}}return _=!1,V&&queueMicrotask(ae),ue=ee,le=W.QueryStore,Object.assign(ue,{[le]:!0});var ue,le}function Ye(e,t){const n=t?.baseDelay??D.seconds(5),r=t?.maxDelay??D.minutes(5),o=Math.pow(2,e);return Math.min(n*o,r)}function Ze(e){return JSON.stringify(Object.keys(e).sort().map(t=>e[t]))}function et(e){return JSON.stringify(nt(e))}function tt(e){return JSON.parse(e)}function nt(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?nt(r):r,t},{})}function rt(e,t,n,r){return r?st(r,n)?r:{...ot(e,t),...r}:ot(e,t)}function ot(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 it(){return Object.create(null)}function st(e,t){if(!e)return!1;for(const n of t)if(!(n in e))return!1;return!0}function ct(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(!Qe(n.queryCache,e))continue;const c=n.queryCache[e];c&&(r-(c.lastFetchedAt??c.errorInfo.lastFailedAt)<c.cacheTime||e===o)?!t&&c.errorInfo&&c.errorInfo.retryCount>0?(s[e]={...c,errorInfo:{...c.errorInfo,retryCount:0}},i=!0):s[e]=c:i=!0}return i?{...n,queryCache:s}:n}function at(e){return"function"==typeof e}function ut(e){return!at(e)}function lt(e,t){return n=>{const r={...n},o={};for(const e in r)Qe(r,e)&&e in He&&(He[e]&&(o[e]=r[e]),delete r[e]);return{...t?t(r):K(r),...ct(e,null,o)}}}function ft(e,t,n){const r="function"==typeof t,o=r?t:void 0,i=r?n:t,s=new Set,c=ke(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),J(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()},{[W.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 dt=Symbol(),yt=Object.freeze({debugMode:!1,enabled:!0,equalityFn:Object.is,fireImmediately:!1});function pt(e,t,n,r=yt){const o=function(){const e=u(dt);return e.current===dt&&(e.current=function(e,t,n){return{selector:e,react:t,isActive:!1,options:bt(n),resubscribe:()=>{},unsubscribe:()=>{}}}(t,n,r)),e}(),i=function(e){return"function"==typeof e?yt.enabled:e?.enabled??yt.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??yt)}(o,r),a(()=>{if(i)return gt(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 ht=Object.freeze({fireImmediately:!1,forceResubscribe:!1});function gt(e,t,n=ht){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=ht)=>gt(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 bt(e){return"function"==typeof e?{equalityFn:e}:e??yt}var mt=Symbol();function St(e){const t=u(mt);return t.current===mt&&(t.current=e()),t.current}function vt(e,t){const n=function(e){const t=e.getState(),n=Object.create(null);if(f&&("object"!=typeof t||null===t))throw new Error("[createStoreActions]: State is not an object");if(Y(e)){for(const r in t)Ot(t,r)&&(n[r]=wt(e,r));return n}for(const e in t)Ot(t,e)&&(n[e]=t[e]);return n}(e);return t?Object.assign(n,t):n}function wt(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 Ot(e,t){return"function"==typeof e[t]}export{De as QueryStatuses,_ as applyStateUpdate,O as configureStores,se as createBaseStore,ke as createDerivedStore,Xe as createQueryStore,vt as createStoreActions,ft as createVirtualStore,$e as deepEqual,Ye as defaultRetryDelay,J as destroyStore,Q as destroyStores,Ze as getLegacyQueryKey,et as getQueryKey,B as getStoreName,G as isDerivedStore,X as isPersistedStore,H as isQueryStore,Y as isVirtualStore,tt as parseQueryKey,z as replacer,E as reviver,Pe as shallowEqual,D as time,pt as useListen,St as useStableValue};
@@ -1,7 +1,7 @@
1
- import { AsyncStorageInterface, BaseStoreOptions, EnforceStorageKey, SyncStorageInterface } from 'src/types';
2
1
  import { PersistStorage } from 'zustand/middleware';
3
2
  import { StorageValue } from './storageTypes';
4
3
  import { SyncContext } from '../sync/syncEnhancer';
4
+ import { AsyncStorageInterface, BaseStoreOptions, EnforceStorageKey, SyncStorageInterface } from '../types';
5
5
  type SyncPersistStorage<S> = {
6
6
  getItem: (name: string) => StorageValue<S> | null;
7
7
  removeItem: (name: string) => void;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Safe `hasOwnProperty` check. Use to guard `for..in` loops against inherited properties.
2
+ * Typed `hasOwnProperty` alias.
3
3
  */
4
4
  export declare function hasOwn<T extends Record<string, unknown>, K extends string>(value: T, key: K): value is T & Record<K, unknown>;
5
5
  /**
package/dist/types.d.ts CHANGED
@@ -10,7 +10,7 @@ type HydrationPromise<PersistReturn> = PersistReturn extends Promise<void> ? {
10
10
  } : {
11
11
  hydrationPromise?: undefined;
12
12
  };
13
- export type StorePersist<Store, PersistedState, PersistReturn> = Store extends {
13
+ type WithPersist<Store, PersistedState, PersistReturn> = Store extends {
14
14
  getState: () => infer S;
15
15
  setState: {
16
16
  (...args: infer SetPartialArgs): infer _;
@@ -33,15 +33,15 @@ export type StateCreator<S, U = S> = ZustandStateCreator<S, [SubscribeWithSelect
33
33
  export type BaseStore<S, ExtraSubscribeOptions extends boolean = false> = UseBoundStoreWithEqualityFn<Mutate<StoreApi<S>, [SubscribeWithSelector]>> & {
34
34
  subscribe: SubscribeOverloads<S, ExtraSubscribeOptions>;
35
35
  };
36
- export type PersistedStore<S, PersistedState = Partial<S>, ExtraSubscribeOptions extends boolean = false, PersistReturn = unknown> = {
36
+ export type PersistedStore<S, PersistedState = Partial<S>, PersistReturn = unknown, ExtraSubscribeOptions extends boolean = false> = {
37
37
  (): S;
38
38
  <U>(selector: (state: S) => U, equalityFn?: (a: U, b: U) => boolean): U;
39
- } & Omit<BaseStore<S, ExtraSubscribeOptions>, 'setState' | 'persist'> & StorePersist<BaseStore<S, ExtraSubscribeOptions>, PersistedState, PersistReturn>;
40
- export type Store<S, PersistedState extends Partial<S> = never, ExtraSubscribeOptions extends boolean = false, PersistReturn = unknown> = [
39
+ } & Omit<BaseStore<S, ExtraSubscribeOptions>, 'setState' | 'persist'> & WithPersist<BaseStore<S, ExtraSubscribeOptions>, PersistedState, PersistReturn>;
40
+ export type Store<S, PersistedState extends Partial<S> = never, PersistReturn = unknown, ExtraSubscribeOptions extends boolean = false> = [
41
41
  PersistedState
42
- ] extends [never] ? BaseStore<S, ExtraSubscribeOptions> : PersistedStore<S, PersistedState, ExtraSubscribeOptions, PersistReturn>;
42
+ ] extends [never] ? BaseStore<S, ExtraSubscribeOptions> : PersistedStore<S, PersistedState, PersistReturn, ExtraSubscribeOptions>;
43
43
  export type OptionallyPersistedStore<S, PersistedState, PersistReturn = void> = WithAsyncSet<Store<S>, S, PersistedState, PersistReturn> & UseStoreCallSignatures<S> & {
44
- persist?: PersistedStore<S, PersistedState, false, PersistReturn>['persist'];
44
+ persist?: PersistedStore<S, PersistedState, PersistReturn, false>['persist'];
45
45
  };
46
46
  export type NoInfer<T> = [T][T extends unknown ? 0 : never];
47
47
  export type Timeout = ReturnType<typeof setTimeout>;
@@ -85,7 +85,7 @@ export type SetStateOverloads<S, PersistReturn extends Promise<void> | void = vo
85
85
  (update: SetFull<S>, replace: true): PersistReturn;
86
86
  };
87
87
  export type WithAsyncSet<Store extends StoreApi<unknown>, S, PersistedState, PersistReturn> = Omit<Store, 'persist' | 'setState'> & {
88
- persist?: PersistedStore<S, PersistedState, false, PersistReturn>['persist'];
88
+ persist?: PersistedStore<S, PersistedState, PersistReturn, false>['persist'];
89
89
  setState(update: SetPartial<InferStoreState<Store>>, replace?: false): PersistReturn;
90
90
  setState(update: SetFull<InferStoreState<Store>>, replace: true): PersistReturn;
91
91
  };
@@ -111,6 +111,10 @@ export type DerivedStore<S> = WithFlushUpdates<ReadOnlyDerivedStore<BaseStore<S>
111
111
  export type WithFlushUpdates<Store extends StoreApi<unknown>> = Store & {
112
112
  /**
113
113
  * Destroy the derived store and its subscriptions.
114
+ *
115
+ * Derived stores automatically clean up internal resources and subscriptions
116
+ * when no subscribers exist. So calling `destroy()` is usually unnecessary,
117
+ * unless `keepAlive: true` is specified and explict teardown is desired.
114
118
  */
115
119
  destroy: () => void;
116
120
  /**