@storesjs/stores 0.8.4 β†’ 0.8.6

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.
Files changed (60) hide show
  1. package/dist/config.d.ts +31 -4
  2. package/dist/createBaseStore.d.ts +1 -0
  3. package/dist/createDerivedStore.d.ts +1 -0
  4. package/dist/createQueryStore.d.ts +1 -0
  5. package/dist/createVirtualStore.d.ts +1 -0
  6. package/dist/derivedStore/deriveProxy.d.ts +1 -0
  7. package/dist/derivedStore/globalDeriveScheduler.d.ts +1 -0
  8. package/dist/env.native.d.ts +1 -0
  9. package/dist/env.web.d.ts +1 -0
  10. package/dist/hooks/compareHooks.d.ts +1 -0
  11. package/dist/hooks/useLazyRef.d.ts +1 -0
  12. package/dist/hooks/useListen.d.ts +1 -0
  13. package/dist/hooks/useStableValue.d.ts +1 -0
  14. package/dist/index.d.ts +1 -0
  15. package/dist/logger.d.ts +4 -3
  16. package/dist/middleware/createHydrationGate.d.ts +1 -0
  17. package/dist/native/index.js +1 -1
  18. package/dist/native/index.mjs +1 -1
  19. package/dist/plugins/chrome/chromeExtensionSyncEngine.d.ts +4 -7
  20. package/dist/plugins/chrome/chromeStorageAdapter.d.ts +4 -5
  21. package/dist/plugins/chrome/createSyncedChromeStorage.d.ts +3 -5
  22. package/dist/plugins/chrome/index.d.ts +1 -0
  23. package/dist/queryStore/classes/SubscriptionManager.d.ts +1 -0
  24. package/dist/queryStore/types.d.ts +1 -0
  25. package/dist/signal.d.ts +1 -0
  26. package/dist/storage/storageCreators.d.ts +1 -0
  27. package/dist/storage/storageTypes.d.ts +1 -0
  28. package/dist/storesStorage.native.d.ts +2 -1
  29. package/dist/storesStorage.web.d.ts +2 -1
  30. package/dist/sync/browserSyncEngine.d.ts +1 -0
  31. package/dist/sync/noopSyncEngine.d.ts +1 -0
  32. package/dist/sync/syncEnhancer.d.ts +1 -0
  33. package/dist/sync/syncUtils.d.ts +1 -0
  34. package/dist/sync/transport.d.ts +1 -0
  35. package/dist/sync/types.d.ts +1 -0
  36. package/dist/types/functions.d.ts +1 -0
  37. package/dist/types/objects.d.ts +1 -0
  38. package/dist/types/utils.d.ts +1 -0
  39. package/dist/types.d.ts +1 -0
  40. package/dist/utils/core.d.ts +1 -0
  41. package/dist/utils/createAsyncMicrotaskScheduler.d.ts +1 -0
  42. package/dist/utils/createMicrotaskScheduler.d.ts +1 -0
  43. package/dist/utils/createStoreActions.d.ts +1 -0
  44. package/dist/utils/debounce.d.ts +1 -0
  45. package/dist/utils/equality.d.ts +1 -0
  46. package/dist/utils/hydrationCoordinator.d.ts +1 -0
  47. package/dist/utils/persistUtils.d.ts +1 -0
  48. package/dist/utils/promiseUtils.d.ts +1 -0
  49. package/dist/utils/serialization.d.ts +1 -0
  50. package/dist/utils/storeUtils.d.ts +1 -0
  51. package/dist/utils/stringUtils.d.ts +1 -0
  52. package/dist/utils/time.d.ts +1 -0
  53. package/dist/web/chrome.js +1 -1
  54. package/dist/web/chrome.mjs +1 -1
  55. package/dist/web/chunk-B3GRBY25.mjs +1 -0
  56. package/dist/web/index.js +1 -1
  57. package/dist/web/index.mjs +1 -1
  58. package/package.json +2 -1
  59. package/dist/utils/factoryUtils.d.ts +0 -21
  60. package/dist/web/chunk-YWUZUTPH.mjs +0 -1
package/dist/config.d.ts CHANGED
@@ -1,13 +1,40 @@
1
- import { StoresLogger } from './logger';
1
+ import { Logger } from './logger';
2
2
  import { SyncEngine } from './sync/types';
3
3
  import { AsyncStorageInterface, SyncStorageInterface } from './types';
4
+ /**
5
+ * Global configuration for all stores.
6
+ */
4
7
  export type StoresConfig = {
5
- logger: StoresLogger;
8
+ /** Custom logger for debug output. Defaults to a no-op logger in production. */
9
+ logger: Logger;
10
+ /** Storage backend for persisted stores. Defaults to `localStorage` in browsers, MMKV in React Native. */
6
11
  storage: AsyncStorageInterface | SyncStorageInterface;
12
+ /**
13
+ * Prefix for storage keys built by the default storage adapter.
14
+ * Should include a delimiter, e.g., `'myapp:'`.
15
+ * @default 'stores:'
16
+ */
17
+ storageKeyPrefix: string;
18
+ /** Sync engine for cross-client state synchronization. Defaults to cross-tab sync in browsers. */
7
19
  syncEngine: SyncEngine;
8
20
  };
9
- type ConfigWithoutLogger = Omit<StoresConfig, 'logger'>;
21
+ type StorageConfig = Pick<StoresConfig, 'storage' | 'syncEngine'>;
22
+ export declare const DEFAULT_STORAGE_KEY_PREFIX = "stores:";
23
+ /**
24
+ * Configures global defaults for all stores. Must be called before creating any stores.
25
+ *
26
+ * @see {@link StoresConfig} for details.
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * configureStores({
31
+ * logger: { debug: console.debug, error: console.error },
32
+ * storageKeyPrefix: 'myapp:',
33
+ * });
34
+ * ```
35
+ */
10
36
  export declare function configureStores(update: Partial<StoresConfig>): void;
11
- export declare function getStoresConfig(): ConfigWithoutLogger;
37
+ export declare function getStoresConfig(): StorageConfig;
12
38
  export declare function markStoreCreated(): void;
13
39
  export {};
40
+ //# sourceMappingURL=config.d.ts.map
@@ -33,3 +33,4 @@ export declare function createBaseStore<S, PersistedState extends Partial<S> = P
33
33
  * @returns A Zustand store with the specified state and optional persistence.
34
34
  */
35
35
  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>): OptionallyPersistedStore<S, PersistedState, PersistReturn>;
36
+ //# sourceMappingURL=createBaseStore.d.ts.map
@@ -68,3 +68,4 @@ export type DeriveGetter = {
68
68
  <S extends Store<unknown>>(store: S): InferStoreState<S>;
69
69
  <S extends Store<unknown>, Selected>(store: S, selector: Selector<InferStoreState<S>, Selected>, equalityFn?: EqualityFn<Selected>): Selected;
70
70
  };
71
+ //# sourceMappingURL=createDerivedStore.d.ts.map
@@ -129,3 +129,4 @@ export declare function getQueryKey<TParams extends Record<string, unknown>>(par
129
129
  * Parses a query store `queryKey` into the corresponding parameters.
130
130
  */
131
131
  export declare function parseQueryKey<TParams extends Record<string, unknown>>(queryKey: string): TParams;
132
+ //# sourceMappingURL=createQueryStore.d.ts.map
@@ -37,3 +37,4 @@ type VirtualStoreOptions = {
37
37
  export declare function createVirtualStore<Store extends BaseStore<InferStoreState<Store>>>(createStore: ($: DeriveGetter) => Store, options?: VirtualStoreOptions): OptionallyPersistedStore<InferStoreState<Store>, InferPersistedState<Store, InferStoreState<Store>>, InferSetStateReturn<Store>>;
38
38
  export declare function createVirtualStore<Store extends BaseStore<InferStoreState<Store>>, Overrides extends MethodOverrides<Store>>(createStore: ($: DeriveGetter) => Store, overrides: (getStore: () => Store) => Overrides, options?: VirtualStoreOptions): OptionallyPersistedStore<InferStoreState<Store>, InferPersistedState<Store, InferStoreState<Store>>, InferSetStateReturn<Store>> & Overrides;
39
39
  export {};
40
+ //# sourceMappingURL=createVirtualStore.d.ts.map
@@ -22,3 +22,4 @@ export type PathFinder = {
22
22
  */
23
23
  export declare function createPathFinder(): PathFinder;
24
24
  export {};
25
+ //# sourceMappingURL=deriveProxy.d.ts.map
@@ -20,3 +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
@@ -6,3 +6,4 @@ export declare const IS_ANDROID: boolean;
6
6
  export declare const IS_DEV: boolean;
7
7
  export declare const IS_TEST: boolean;
8
8
  export { unstable_batchedUpdates };
9
+ //# sourceMappingURL=env.native.d.ts.map
package/dist/env.web.d.ts CHANGED
@@ -5,3 +5,4 @@ export declare const IS_ANDROID = false;
5
5
  export declare const IS_DEV: boolean;
6
6
  export declare const IS_TEST: boolean;
7
7
  export declare const unstable_batchedUpdates: <T>(callback: () => T) => T;
8
+ //# sourceMappingURL=env.web.d.ts.map
@@ -47,3 +47,4 @@ export declare function useDeepLayoutEffect(effect: EffectCallback, deps: Depend
47
47
  */
48
48
  export declare function useCompareEffect<PreparedResult>(prepare: () => PreparedResult, react: (current: PreparedResult, previous: PreparedResult | null) => void, dependencies: DependencyList, equalityFn?: EqualityFn): void;
49
49
  export {};
50
+ //# sourceMappingURL=compareHooks.d.ts.map
@@ -10,3 +10,4 @@ import { RefObject } from 'react';
10
10
  * @returns A stable, pre-initialized `RefObject<T>`.
11
11
  */
12
12
  export declare function useLazyRef<T>(initializer: () => T): RefObject<T>;
13
+ //# sourceMappingURL=useLazyRef.d.ts.map
@@ -95,3 +95,4 @@ export type UseListenOptions<Selected> = {
95
95
  * ```
96
96
  */
97
97
  export declare function useListen<Store extends BaseStore<S>, Selected, S = InferStoreState<Store>>(store: Store, selector: Selector<S, Selected>, react: (current: Selected, previous: Selected, unsubscribe: () => void) => void, optionsOrEqualityFn?: UseListenOptions<Selected> | UseListenOptions<Selected>['equalityFn']): RefObject<Readonly<ListenHandle>>;
98
+ //# sourceMappingURL=useListen.d.ts.map
@@ -13,3 +13,4 @@
13
13
  * ```
14
14
  */
15
15
  export declare function useStableValue<T>(init: () => T): T;
16
+ //# sourceMappingURL=useStableValue.d.ts.map
package/dist/index.d.ts CHANGED
@@ -14,3 +14,4 @@ export * from './types';
14
14
  export * from './utils/createStoreActions';
15
15
  export { deepEqual, shallowEqual } from './utils/equality';
16
16
  export { time } from './utils/time';
17
+ //# sourceMappingURL=index.d.ts.map
package/dist/logger.d.ts CHANGED
@@ -2,7 +2,7 @@ export declare class StoresError extends Error {
2
2
  cause: Error;
3
3
  constructor(message: string, error?: unknown);
4
4
  }
5
- export interface StoresLogger {
5
+ export interface Logger {
6
6
  debug: (message: string, context?: Record<string, unknown>) => void;
7
7
  error: {
8
8
  <T extends Error>(error: T, context?: Record<string, unknown>): void;
@@ -11,6 +11,7 @@ export interface StoresLogger {
11
11
  info: (message: string, context?: Record<string, unknown>) => void;
12
12
  warn: (message: string, context?: Record<string, unknown>) => void;
13
13
  }
14
- export declare let logger: StoresLogger;
14
+ export declare let logger: Logger;
15
15
  export declare function ensureError(error: unknown): Error;
16
- export declare function setLogger(customLogger: StoresLogger): void;
16
+ export declare function setLogger(customLogger: Logger): void;
17
+ //# sourceMappingURL=logger.d.ts.map
@@ -17,3 +17,4 @@ export declare function createHydrationGate<S>(stateCreator: StateCreator<S>): {
17
17
  wrapOnRehydrateStorage: WrappedOnRehydrateStorage<S>;
18
18
  };
19
19
  export {};
20
+ //# sourceMappingURL=createHydrationGate.d.ts.map
@@ -1 +1 @@
1
- var e=require("react-native"),t=require("zustand/middleware"),n=require("zustand/traditional"),r=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,a="development"===process.env.NODE_ENV,u="test"===process.env.NODE_ENV;function l(){if(c)return c;try{const{MMKV:e}=i("react-native-mmkv"),t=new e({id:"stores-storage"}),{getString:n,...r}=t;c=Object.assign(Object.create(null),r,{get:n})}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")}(c),c}var f={clearAll:()=>l().clearAll(),contains:e=>l().contains(e),delete:e=>l().delete(e),getAllKeys:()=>l().getAllKeys(),get:e=>l().get(e),set:(e,t)=>l().set(e,t)},d=class extends Error{constructor(e,t){super(e),this.name="StoresError",this.cause=p(t)}},y={debug:(e,t)=>{a&&console.debug(e,t)},error:(e,t)=>{u||console.error(e,t)},info:(e,t)=>{a&&console.info(e,t)},warn:(e,t)=>{a&&console.warn(e,t)}};function p(e){return e instanceof Error?e:new Error(String(e))}var h,g,b=class{destroy(){}publish(){}},m=class{constructor(){this.sessionId="noop"}register(e){return new b}},S=!1;function v(){return g??(g=O())}function w(){S=!0}function O(){return{storage:f,syncEngine:(h||(h=new m),h)}}function j(){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 q=Math.max,F=Math.min;function A(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=C();if(p(e))return g(e);c=setTimeout(h,function(e){const n=t-(e-(a??0));return f&&void 0!==i?F(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=C(),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=I(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?q(I(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(C())},b}function C(){return"undefined"!=typeof performance&&"function"==typeof performance.now?performance.now():Date.now()}function I(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 k(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 T(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 x={ms:e=>e,seconds:e=>1e3*e,minutes:e=>x.seconds(60*e),hours:e=>x.minutes(60*e),days:e=>x.hours(24*e),weeks:e=>x.days(7*e),infinity:1/0,zero:0},M=u?0:s?x.seconds(3):x.seconds(5);function z(e){return t=>{if("string"!=typeof t)throw new d("[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 y.error(new d("[createBaseStore]: Failed to deserialize persisted Rainbow store data"),{error:e}),e}}(t,e)}}function D(e){return t=>function(e,t){try{return JSON.stringify(e,t?k:void 0)}catch(e){throw y.error(new d("[createBaseStore]: Failed to serialize Rainbow store data"),{error:e}),e}}(t,e)}var K=Object.freeze({shouldClear:!1});function P(e,t,n){if(!t||!e)return K;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 $(e,t){e&&t.shouldClear&&t.fieldSnapshot&&Object.keys(t.fieldSnapshot).length&&e.clearFieldTimestamps(t.fieldSnapshot)}function L(e){return!!e&&!!e.getIsApplyingRemote()}function R(e,...t){return!0===t[1]?U(t[0])?t[0](e):t[0]:{...e,...U(t[0])?t[0](e):t[0]}}function N(e,t){Q(e)?e.getState().reset(t?.clearQueryCache):function(e){return"destroy"in e}(e)&&e.destroy()}function W(e){return V(e)?e.persist.getOptions().name??e.name:e.name}function _(e){return"getSnapshot"in e}function Q(e){return"_queryStore"in e}function V(e){return"persist"in e}function J(e){return"_virtualStore"in e}function U(e){return"function"==typeof e}var[B,H]=[0,1];function G(e,t,n){if(!e)return!0;const r=e[B],o=e[H];return!(t<r)&&(t>r||n>o)}function X(e,t){return Object.prototype.hasOwnProperty.call(t,e)}function Y(e,t){if(!a)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 Z(e){if(null===e)return"null";const t=typeof e;return"object"===t?Object.prototype.toString.call(e):t}function ee(e,r){w();const o=void 0!==r&&"string"==typeof r.storageKey,i=o?r.storageKey:void 0,s=r?.sync?function(e,t){if(!e)return null;if(!0===e){if(!t)throw new d("[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 d("[createBaseStore]: sync requires either a key in the config or a storageKey to inherit from");return{...n,key:r}}(r.sync,i):void 0,c=o?r.storage??v().storage:void 0,a=s?function(e,t,n){const r=t.engine??v().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,p=!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(p||!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(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),d=()=>{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(y=u)&&"object"==typeof y&&"then"in y&&"function"==typeof y.then?u.finally(d):(d(),u);var y},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 F=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)X(t,e.values)||G(a.get(t),i,e.sessionId)&&(c??(c=[])).push(t);for(const o of m){if(!X(o,e.values))continue;if(!b?.has(o))continue;if(!G(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(!Y(u,l))return void y.error(new d(`[sync] Merge function for field "${String(o)}" returned ${Z(u)} but expected ${Z(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){p=!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{p=!1,o&&o.setIsApplyingRemote(!1)}}},A=e=>{n?S=S.then(()=>F(e)):F(e)};f=r.register({apply:e=>{v?A(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)A(t)})()};return n&&o?(o.onHydrationComplete=C,o.onHydrationFlushEnd=I):f.onHydrated?(f.onHydrated(C),I()):(C(),I()),q},syncContext:o}}(e,s,c?.async??!1):void 0,u=a?.stateCreator??e;if(!o)return n.createWithEqualityFn()(t.subscribeWithSelector(u),Object.is);const l=c?.async?function(e){let t,n,r,o=!1;return{hydrationPromise:()=>o?t?.promise??n??(n=Promise.resolve()):(t||(t=j()),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=j()),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(p(i)):t?.complete(),s?.(e,i)}}}}(u):null,f=function(e,t,n){const r=t??e.storage??v().storage,o=(e.sync?void 0:e.persistThrottleMs??M)||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??T,c=t.deserializer??e.deserializer??z(o),a=t.serializer??e.serializer??D(o);async function u(t,n){try{if(L(r))return;n.state=s(n.state);const o=P(r,i,n),c=a(n);try{await e.set(t,c),$(r,o)}catch(e){y.error(new d("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){y.error(new d("[createBaseStore]: Failed to serialize persisted store data"),{error:e})}}const l=void 0!==n?A(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){y.error(new d("[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??T,c=t.deserializer??e.deserializer??z(o),a=t.serializer??e.serializer??D(o);function u(t,n){try{if(L(r))return;n.state=s(n.state);const o=P(r,i,n),c=a(n);try{e.set(t,c),$(r,o)}catch(e){y.error(new d("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){y.error(new d("[createBaseStore]: Failed to persist store data"),{error:e})}}const l=void 0!==n?A(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){y.error(new d("[createBaseStore]: Failed to delete persisted store data"),{error:e})}}}}(r,e,o,n);return{persistStorage:s,version:i}}(r,c,a?.syncContext),h=l?l.wrapOnRehydrateStorage(r.onRehydrateStorage,a?.syncContext):r.onRehydrateStorage,g=l?(e,t,n)=>(a&&(a.syncContext.setWithoutPersist=n.setState),l.stateCreator(e,t,n)):u,b=n.createWithEqualityFn()(t.subscribeWithSelector(t.persist(g,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}(r,f,h))),Object.is);return l?Object.assign(b,{persist:Object.assign(b.persist,{hydrationPromise:l.hydrationPromise})}):b}function te(e,t,n="s"){return 1===t?e:`${e}${n}`}function ne(e,t,n){const r=t.get(e);if(!r){const r=function(e,t,n,r=[]){return e&&"object"==typeof e?re(e,r,t,n,new WeakSet,new WeakMap):(n(t,r,!0),e)}(_(e)?e.getSnapshot():e.getState(),e,n);return t.set(e,r),r}return r}function re(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,re(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 oe(e){return t=>se(t,e)}function ie(e,t){const n=e.slice(0,-1);return e=>{const r=se(e,n),o=r?.[t.method];return"function"==typeof o?o.apply(r,t.args):void 0}}function se(e,t){let n=e;for(const e of t){if(!n||"object"!=typeof n)return n;n=n[e]}return n}function ce(){const e=new Map;return{buildProxySubscriptions(t,n){const r=new Set;for(const[t,n]of e)le(n,t,[],0,r);!function(e,t,n){for(const n of e)t(n.store,n.invocation?ie(n.path,n.invocation):oe(n.path));n&&function(e){const t=e.size;console.log(`[πŸ“‘ ${t} ${te("Proxy Subscription",t)} πŸ“‘]:`,JSON.stringify(Array.from(e).map(e=>{const t=W(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}_${te("arg",r)})`:"()"}`}),null,2))}(e)}(r,t,n)},trackPath(t,n,r,o){let i=e.get(t);i||(i=ae(),e.set(t,i)),ue(i,n,0,r,o)}}}function ae(){return Object.create(null)}function ue(e,t,n,r,o){if(n===t.length)return r&&(e.isLeaf=!0),void(o&&(e.invocation=o));e.children||(e.children=ae());const i=t[n];let s=e.children?.[i];s||(s=ae(),e.children[i]=s),ue(s,t,n+1,r,o)}function le(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&&le(c,t,[...n,e],r+1,o,i)}}else if(r<i&&a>1&&!e.isLeaf)for(const e of c)le(s[e],t,[...n,e],r+1,o,i);else{if(1===a){const e=c[0];return void le(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 fe=!1,de=!1,ye=new Map,pe=new Map,he=new Map,ge=null,be=1/0;function me(){return fe}function Se(){return ge}function ve(){fe||(fe=!0,de||(de=!0,queueMicrotask(()=>{de=!1,e.unstable_batchedUpdates(()=>{for(;pe.size>0;){const e=be,t=he.get(e);if(t){he.delete(e);for(const e of t)pe.delete(e);ge=e;for(const e of t)e();if(ge=null,he.size>0){be=1/0;for(const e of he.keys())e<be&&(be=e)}else be=1/0}else{be=1/0;for(const e of he.keys())e<be&&(be=e)}}for(;ye.size>0;){const e=Array.from(ye.values());ye.clear();for(const t of e)t()}}),fe=!1,ge=null,pe.clear(),he.clear(),be=1/0})))}function we(e,t){fe&&ye.set(e,t)}var Oe=e=>e;function je(e,t=Object.is){return n=function(e,t=Object.is){const{debounceOptions:n,debugMode:r,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:(a&&l.debugMode)??!1,equalityFn:l.equalityFn??Object.is,keepAlive:l.keepAlive??!1,lockDependencies:l.lockDependencies??!1},c=String(Fe+=1),u=new Set;var l;i&&u.add(Ae);const f=new Set;let d,y,p=qe,h=!1,g=!0,b=!0,m=!0,S=0,v=!1,w=null,O=qe;function j(e,t,n){if(!m||!u.size)return(t??Oe)(_(e)?e.getSnapshot():e.getState());if(!t)return d||(d=new WeakMap),y||(y=ce()),ne(e,d,y.trackPath);const r=e.subscribe(t,z,{equalityFn:n??Object.is,isDerivedStore:!0});return f.add(r),t(_(e)?e.getSnapshot():e.getState())}function q(e){for(const t of f)t(e);f.clear()}function F(){if(!b&&Ce(p))return p;b=!1,m&&q(!0);const t=p,n=Ce(t);p=function(t){g=!0;const n=p,i=e(t);return Ce(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} ${te("Selector Subscription",e)} 🎯]`)}return y&&m&&(y.buildProxySubscriptions((e,t)=>{const n=e.subscribe(t,z,{equalityFn:Object.is,isDerivedStore:!0});f.add(n)},i),d=void 0,y=void 0),g&&n&&function(e,t){const n=function(){const e=u.has(Ae)?u.size-1:u.size;return S>0&&S<e}(),o=!S||n,i=n||null!==Se()||me()&&o;n&&ve(),r&&console.log(`[πŸ“» Derive Complete πŸ“»]: Notifying ${u.size} ${te("watcher",u.size)}`);for(const t of u){if("function"==typeof t||!t.isDerivedWatcher)continue;const n=t.selector(e);if(!t.equalityFn(t.currentSlice,n)){const e=t.currentSlice;t.currentSlice=n,t.listener(n,e)}}i?v||(v=!0,Ce(O)||(O=t),we(c,I)):C(e,t)}(p,t),s&&(m=!1),p}function C(e,t){for(const n of u)if("function"==typeof n)n(e,t);else if(!n.isDerivedWatcher){const t=n.selector(e);if(!n.equalityFn(n.currentSlice,t)){const e=n.currentSlice;n.currentSlice=t,n.listener(t,e)}}}function I(){u.size&&(v&&function(){if(b&&!S&&F(),!Ce(p))return;const e=Ce(O)?O:p;C(p,e)}(),v=!1,O=qe)}const k=n?A(T,"number"==typeof n?n:n.delay,"number"==typeof n?{leading:!1,maxWait:n,trailing:!0}:n):void 0,E=k??(()=>{h||(h=!0,queueMicrotask(T))});function T(){u.size&&(h=!1,b&&F())}function x(e){e?queueMicrotask(()=>{u.size||K()}):K()}function M(){T(),w=null}function z(){if(!b){if(b=!0,!k){if(S){ve();const e=Se(),t=null===e?0:e+1;if(null!==w&&t<=w)return;return w=t,void function(e,t){if(!fe)return;const n=t<0?0:0|t,r=pe.get(e);if(void 0===r){pe.set(e,n);let t=he.get(n);return t||(t=new Set,he.set(n,t)),t.add(e),void(n<be&&(be=n))}if(n>r){const t=he.get(r);if(t&&(t.delete(e),0===t.size&&(he.delete(r),r===be))){be=1/0;for(const e of he.keys())e<be&&(be=e)}pe.set(e,n);let o=he.get(n);o||(o=new Set,he.set(n,o)),o.add(e),n<be&&(be=n)}}(M,t)}if(me())return void(v||(v=!0,Ce(p)&&(O=p),we(c,I)))}w=null,S&&!n?F():E()}}function D(){return b||!Ce(p)?u.size>0?F():e(j):p}function K(e=!0){i&&e||(k?.cancel(),q(),u.clear(),S=0,y=void 0,d=void 0,m=!0,h=!1,b=!0,p=qe,v=!1,O=qe,w=null)}return{destroy:()=>K(!1),flushUpdates:function(){u.size&&(k?k.flush():b&&F())},getSnapshot:function(){if(!Ce(p)){u.add(Ae);const e=F();return u.delete(Ae),e}return h&&T(),p},getState:D,subscribe:function(...e){if(1===e.length){const t=e[0];return u.add(t),1!==u.size||Ce(p)||D(),()=>{u.delete(t),u.size||x(!1)}}const[t,n,r]=e,o=r?.equalityFn??Object.is,i=r?.isDerivedStore??!1,s={currentSlice:void 0,equalityFn:o,isDerivedWatcher:i,listener:n,selector:t};return u.add(s),s.currentSlice=t(D()),i&&(S+=1),r?.fireImmediately&&n(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=Oe,t=void 0){return r.useSyncExternalStoreWithSelector(n.subscribe,n.getSnapshot,void 0,e,t)},n);var n}var qe=Symbol(),Fe=0;function Ae(){}function Ce(e){return e!==qe}var Ie=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=x.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)}}},ke={Error:"error",Idle:"idle",Loading:"loading",Success:"success"};function Ee(e,t){const n=Object.prototype.hasOwnProperty;function r(e,t){for(const n of e.keys())if(Ee(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--&&Ee(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(!Ee(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)||!Ee(e[r],t[r]))return!1}return Object.keys(t).length===i}}return e!=e&&t!=t}var Te=new WeakMap,xe=new WeakMap;function Me(e,t=ze,n=Ee){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]=Ke(e,t,n),u=new Map,l=e=>{const t={get(t,n){if("value"===n){let t=c();const n=e.split(".");for(const e of n)e&&(t=t[e]);return t}const r="string"==typeof n?n:n.toString(),o=e?`${e}.${r}`:r,i=u.get(o);if(i)return i;const a=l(o);return Te.set(a,s),u.set(o,a),a},set(t,n,r){const o=e.split(".");return""===o[0]&&o.shift(),a(o,r),!0}};return new Proxy(Object.create(null),t)},f=l("");return s(()=>{}),Te.set(f,s),o.set(n,f),f}(e,t,n)}var ze=e=>e,De=(e,t,n)=>{if(!t.length)return n;const[r,...o]=t,i=e[r],s=De(i,o,n);if(Ee(i,s))return e;const c=Array.isArray(e)?e.slice():{...e};return c[r]=s,c},Ke=(e,t,n)=>{const r=new Set,o=_(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!==ze)throw new Error("Cannot set a value with a selector");e.setState(e=>De(e,n,r),!0)}]};function Pe(e,t){return Object.prototype.hasOwnProperty.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=x.seconds(5);function We(e,t){const n=t?.baseDelay??x.seconds(5),r=t?.maxDelay??x.minutes(5),o=Math.pow(2,e);return Math.min(n*o,r)}function _e(e){return JSON.stringify(Object.keys(e).sort().map(t=>e[t]))}function Qe(e){return JSON.stringify(Ve(e))}function Ve(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?Ve(r):r,t},{})}function Je(e,t,n,r){return r?He(r,n)?r:{...Ue(e,t),...r}:Ue(e,t)}function Ue(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 Be(){return Object.create(null)}function He(e,t){if(!e)return!1;for(const n of t)if(!(n in e))return!1;return!0}function Ge(e,t,n){if(!n.queryCache)return n;const r=Date.now(),o=t??(e&&n.queryKey||null);let i=!1;const s=Object.create(null);for(const e in n.queryCache){if(!Pe(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 Xe(e){return"function"==typeof e}function Ye(e){return!Xe(e)}function Ze(e,t){return n=>{const r={...n},o={};for(const e in r)Pe(r,e)&&e in Re&&(Re[e]&&(o[e]=r[e]),delete r[e]);return{...t?t(r):T(r),...Ge(e,null,o)}}}var et=Symbol(),tt=Object.freeze({debugMode:!1,enabled:!0,equalityFn:Object.is,fireImmediately:!1}),nt=Object.freeze({fireImmediately:!1,forceResubscribe:!1});function rt(e,t,n=nt){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=nt)=>rt(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 ot(e){return"function"==typeof e?{equalityFn:e}:e??tt}var it=Symbol();function st(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 ct(e,t){return"function"==typeof e[t]}exports.QueryStatuses=ke,exports.applyStateUpdate=R,exports.configureStores=function(e){if(g??(g=O()),a&&S)throw new Error("[configureStores]: Configuration cannot be changed after the first store has been created. Call configureStores before creating any stores.");var t;e.logger&&(t=e.logger,y=t),e.storage&&(g.storage=e.storage),e.syncEngine&&(g.syncEngine=e.syncEngine)},exports.createBaseStore=ee,exports.createDerivedStore=je,exports.createQueryStore=function(e,t,n){w();const r="function"==typeof t?t:Be,o="object"==typeof t?t:n,i=o&&"storageKey"in o?o:void 0,{fetcher:s,onError:c,onFetched:l,setData:f,transform:h,abortInterruptedFetches:g=!0,cacheTime:b=x.days(7),debugMode:m=!1,disableAutoRefetching:S=!1,disableCache:v=!1,enabled:O=!0,keepPreviousData:j=!1,maxRetries:q=5,paramChangeThrottle:F=!1,params:C,retryDelay:I=We,suppressStaleTimeWarning:k=!1,useParsableQueryKeys:E=!0}=e;let T="function"==typeof e.staleTime?x.minutes(2):e.staleTime??x.minutes(2);a&&!S&&!k&&T<Ne&&console.warn(`[createQueryStore${i?.storageKey?`: ${i.storageKey}`:""}] ❌ Stale times under ${Ne/1e3} seconds are not recommended. Provided staleTime: ${T/1e3} seconds`);const M=E?Qe:_e,z=new Error("[createQueryStore: AbortError] Fetch interrupted"),D="function"==typeof b,K=a&&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:ke.Idle},G=new Ie({disableAutoRefetching:S,initialEnabled:H.enabled}),X=()=>{Q&&(V=null,Q.abort(),Q=null)},Y=(t,n,o)=>{const a=o.setState,u=(e,t)=>{const n="function"==typeof e;if(n||void 0!==e.enabled){let t;const r=a(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&&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)))})(r.enabled,s)),i});return t?.(),r}return a(e)};o.setState=u,G.init({onSubscribe:(r,o,i)=>{if(L||$||!C&&"function"!=typeof e.enabled&&"function"!=typeof e.staleTime){if(r)if(o){const e=Ue($,L),r=M(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 W=!0},onLastUnsubscribe:e=>{J&&(clearTimeout(J),J=null),g&&!e&&X()}});const m=(e,t)=>{if(S||t?.skipStoreUpdates)return;if(T<=0||T===1/0)return;J&&(clearTimeout(J),J=null);const r=M(e),o=n(),i=(v?U===r&&o.lastFetchedAt:o.queryCache[r]?.lastFetchedAt)||null,s=i?T-(Date.now()-i):T;J=setTimeout(()=>{const t=G.get();t.enabled&&t.subscriptionCount>0&&w.fetch(e,{force:!0},!0)},s)},w={...r(u,n,o),...H,async fetch(e,r,o=!1){const a=G.get();if(!r?.force&&!r?.skipStoreUpdates&&!a.enabled)return null;const S=n(),O=S.error,F=S.queryKey,A=S.status,C=Je($,L,P,e),k=M(C),E=r?.staleTime??T,x=A===ke.Loading,R=!!r?.skipStoreUpdates,N="boolean"==typeof r?.updateQueryKey?r.updateQueryKey:o?j:!R,W=o||!R&&(N||F===k);if(V?.promise&&V.key===k&&x)return K&&console.log("[πŸ”„ Using Active Fetch πŸ”„] for params:",JSON.stringify(C)),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>=E)&&(!i||s||R))return W&&!R&&!J&&a.subscriptionCount>0&&0!==T&&T!==1/0&&m(C,r),N&&t(e=>e.queryKey!==k?{...e,queryKey:k}:e),K&&console.log("[πŸ’Ύ Returning Cached Data πŸ’Ύ] for params:",JSON.stringify(C)),n?.data??null}!R&&W&&(J&&(clearTimeout(J),J=null),!O&&x||t(e=>({...e,error:null,status:ke.Loading})),V={key:k});const _=r?.cacheTime??(D?b(C):b),B=async()=>{try{K&&(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 n=await(g&&!R&&W?(async e=>{const t=new AbortController;Q=t;try{return await new Promise((n,r)=>{t.signal.addEventListener("abort",()=>r(z),{once:!0}),Promise.resolve(s(e,t)).then(n,r)})}finally{Q===t&&(Q=null)}})(C):s(C,null)),c=Date.now();let a;K&&console.log("[βœ… Fetch Successful βœ…] for params:",JSON.stringify(C));try{a=h?h(n,C):n}catch(e){throw new d(`[createQueryStore: ${i?.storageKey||k}]: transform failed`,e)}if(R)return K&&console.log("[πŸ₯· Successful Parallel Fetch πŸ₯·] for params:",JSON.stringify(C)),"withCache"===r.skipStoreUpdates&&t(e=>{if(!f)return v?{...e,queryCache:{...e.queryCache,[k]:{cacheTime:_,data:a,errorInfo:null,lastFetchedAt:c}}}:e;let t=e;const n=t.queryCache[k];return f({data:a,params:C,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:_,data:a,errorInfo:null,lastFetchedAt:c}}}),t}),a;if((f?u:t)(e=>{let t={...e,error:null,lastFetchedAt:c,queryKey:N?k:e.queryKey,status:ke.Success};if(f||v){if(f){K&&console.log("[πŸ’Ύ Setting Data πŸ’Ύ] for params:",JSON.stringify(C));const e=t.queryCache[k];f({data:a,params:C,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:_,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:a,errorInfo:null,lastFetchedAt:c}};return v||b===1/0?t:Ge(j,k,t)}),W&&(U=k,m(C,r)),l)try{l({data:a,fetch:w.fetch,params:C,set:u})}catch(e){y.error(new d(`[createQueryStore: ${i?.storageKey||k}]: onFetched callback failed`,e))}return a??null}catch(s){if(s===z)return K&&console.log("[❌ Fetch Aborted ❌] for params:",JSON.stringify(C)),null;const a=!o&&!0===r?.throwOnError,u=p(s);if(R||!W){if(y.error(new d(`[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,h=f+1;if(c?.(u,f),f<q){if(G.get().subscriptionCount>0){const t="function"==typeof I?I(h,u):I;t!==1/0&&(J&&clearTimeout(J),J=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??_,data:l?.data??null,lastFetchedAt:l?.lastFetchedAt??null,errorInfo:{error:u,lastFailedAt:Date.now(),retryCount:h}}},queryKey:N?k:e.queryKey,status:ke.Error}))}else t(e=>({...e,error:u,queryCache:{...e.queryCache,[k]:{cacheTime:l?.cacheTime??_,data:l?.data??null,lastFetchedAt:l?.lastFetchedAt??null,errorInfo:{error:u,lastFailedAt:Date.now(),retryCount:q}}},queryKey:N?k:e.queryKey,status:ke.Error}));if(y.error(new d(`[createQueryStore: ${i?.storageKey||k}]: Failed to fetch data`,u)),a)throw u;return null}finally{!R&&W&&(V=null)}};return R||!W?B():(V={key:k,promise:B()}).promise},getCacheEntry(e){if(v)return null;const t=n(),r=e?"string"==typeof e?e:M(Je($,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?j?t.data:t.lastFetchedAt&&Date.now()-t.lastFetchedAt>=t.cacheTime?null:t.data:null},getStatus:function(e){switch(e){case"isIdle":return n().status===ke.Idle;case"isLoading":return n().status===ke.Loading;case"isSuccess":{const e=n(),t=e.queryCache[e.queryKey]?.lastFetchedAt;return"number"==typeof t||e.status===ke.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===ke.Loading}return{isError:i===ke.Error,isIdle:i===ke.Idle,isLoading:i===ke.Loading,isInitialLoad:!o&&i===ke.Loading,isSuccess:i===ke.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??T;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(),n=1===e.length?O(e[0]):O(...e);return e=>{t(e),n()}},w},Z=i?.storageKey?ee(Y,Object.assign(Object.create(null),i,{partialize:Ze(j,i.partialize)})):o&&!("storageKey"in o)?ee(Y,o):ee(Y),te=Z.getState(),ne=te.error,re=te.enabled,oe=te.queryKey;if(oe&&!ne&&(U=oe),_=!0,C||"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(!Pe(t,e))continue;const s=t[e];if(Xe(s)){const t=s(Me,n);r[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(Me,n);s=t.value,c=t}else s=e,a=e;return{attachVals:r,directValues:o,enabledAttachVal:c,enabledDirectValue:a,resolvedEnabled:s,resolvedParams:i}}(O,C,Z);$={enabled:t,params:r},L={enabled:n,params:e}}"function"==typeof e.staleTime&&(R=e.staleTime(Me,Z),T=R.value);const ie=function(){let e,t=!1;return function(...n){e=n,t||(t=!0,queueMicrotask(()=>{t=!1,(e=>{te.fetch(e??Ue($,L),{updateQueryKey:j})})(...e)}))}}();function se(){let e;if(!j){e=Ue($,L);const t=M(e);Z.setState(e=>({...e,queryKey:t}))}ie(e)}const ce=u||!F?se:A(se,"number"==typeof F?F:F.delay,"number"==typeof F?{leading:!1,maxWait:F,trailing:!0}:F);if($?.enabled){const e=$.enabled,t=Te.get(e);if(t){let n=e.value;re!==n&&Z.setState(e=>({...e,enabled:n})),n&&G.setEnabled(n),K&&console.log("[πŸŒ€ Enabled Subscription πŸŒ€] Initial value:",n);const r=t(()=>{const t=e.value;t!==n&&(K&&console.log("[πŸŒ€ Enabled Change πŸŒ€] - [Old]:",`${n},`,"[New]:",t),n=t,Z.setState(e=>({...e,enabled:t})))});N.push(r)}}else re!==H.enabled&&Z.setState(e=>({...e,enabled:H.enabled}));for(const e in $?.params){const t=$.params[e];if(!t)continue;const n=Te.get(t);if(K&&console.log("[πŸŒ€ Param Subscription πŸŒ€] Subscribed to param:",e),n){let r=t.value;const o=n(()=>{const n=t.value;Ee(r,n)||(K&&console.log("[πŸŒ€ Param Change πŸŒ€] -",e,"- [Old]:",`${r?.toString()},`,"[New]:",n?.toString()),r=n,ce())});N.push(o)}}if(R){const e=Te.get(R);if(e){const t=R;let n=t.value;K&&console.log("[πŸŒ€ StaleTime Subscription πŸŒ€] Initial value:",n);const r=e(()=>{const e=t.value;e!==n&&(K&&console.log("[πŸŒ€ StaleTime Change πŸŒ€] - [Old]:",`${n},`,"[New]:",e),n=e,T=e,Z.getState().fetch())});N.push(r)}}return _=!1,W&&queueMicrotask(ce),ae=Z,ue="_queryStore",Object.assign(ae,{[ue]:!0});var ae,ue},exports.createStoreActions=function(e,t){const n=function(e){const t=e.getState(),n=Object.create(null);if(a&&("object"!=typeof t||null===t))throw new Error("[createStoreActions]: State is not an object");if(J(e)){for(const r in t)ct(t,r)&&(n[r]=st(e,r));return n}for(const e in t)ct(t,e)&&(n[e]=t[e]);return n}(e);return t?Object.assign(n,t):n},exports.createVirtualStore=function(e,t,n){const r="function"==typeof t,o=r?t:void 0,i=r?n:t,s=new Set,c=je(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=s?.equalityFn??Object.is,a=o(e.getState()),u=o(t.getState()),l=t.subscribe(...r);n.unsubscribe=l,c(a,u)||i(u,a)}}(e,t),N(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)};return s.add(t),()=>{t.unsubscribe(),s.delete(t)}}},o?o(c.getState):void 0)},exports.deepEqual=function e(t,n){if("object"!=typeof t||null==t||"object"!=typeof n||null==n)return t===n;if(Object.is(t,n))return!0;const r=Object.keys(t);if(r.length!==Object.keys(n).length)return!1;for(const o of r)if(!(o in n)||!e(t[o],n[o]))return!1;return!0},exports.defaultRetryDelay=We,exports.destroyStore=N,exports.destroyStores=function(e,t){for(const n of Array.isArray(e)?e:Object.values(e))n&&!t?.skipDestroy?.(n)&&N(n,t)},exports.getLegacyQueryKey=_e,exports.getQueryKey=Qe,exports.getStoreName=W,exports.isDerivedStore=function(e){return"flushUpdates"in e},exports.isPersistedStore=V,exports.isQueryStore=Q,exports.isVirtualStore=J,exports.parseQueryKey=function(e){return JSON.parse(e)},exports.replacer=k,exports.reviver=E,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 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},exports.time=x,exports.useListen=function(e,t,n,r=tt){const i=function(){const e=o.useRef(et);return e.current===et&&(e.current=function(e,t,n){return{selector:e,react:t,isActive:!1,options:ot(n),resubscribe:()=>{},unsubscribe:()=>{}}}(t,n,r)),e}(),s=function(e){return"function"==typeof e?tt.enabled:e?.enabled??tt.enabled}(r);return i.current.react=n,i.current.selector=t,function(e,t){"function"==typeof t?e.current.options.equalityFn=t:t&&(e.current.options=t??tt)}(i,r),o.useLayoutEffect(()=>{if(s)return rt(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(it);return t.current===it&&(t.current=e()),t.current};
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 +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,f="development"===process.env.NODE_ENV,d="test"===process.env.NODE_ENV;function y(){if(l)return l;try{const{MMKV:e}=a("react-native-mmkv"),t=new e({id:"stores-storage"}),{getString:n,...r}=t;l=Object.assign(Object.create(null),r,{get:n})}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")}(l),l}var p={clearAll:()=>y().clearAll(),contains:e=>y().contains(e),delete:e=>y().delete(e),getAllKeys:()=>y().getAllKeys(),get:e=>y().get(e),set:(e,t)=>y().set(e,t)},g=class extends Error{constructor(e,t){super(e),this.name="StoresError",this.cause=b(t)}},h={debug:(e,t)=>{f&&console.debug(e,t)},error:(e,t)=>{d||console.error(e,t)},info:(e,t)=>{f&&console.info(e,t)},warn:(e,t)=>{f&&console.warn(e,t)}};function b(e){return e instanceof Error?e:new Error(String(e))}var m,S,v=class{destroy(){}publish(){}},w=class{constructor(){this.sessionId="noop"}register(e){return new v}},O=!1;function j(e){if(S??(S=F()),f&&O)throw new Error("[configureStores]: Configuration cannot be changed after the first store has been created. Call configureStores before creating any stores.");var t;e.logger&&(t=e.logger,h=t),e.storage&&(S.storage=e.storage),e.syncEngine&&(S.syncEngine=e.syncEngine)}function q(){return S??(S=F())}function A(){O=!0}function F(){return{storage:p,syncEngine:(m||(m=new w),m)}}function C(){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 I=Math.max,k=Math.min;function T(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 g(){const e=E();if(p(e))return h(e);c=setTimeout(g,function(e){const n=t-(e-(a??0));return f&&void 0!==i?k(n,i-(e-u)):n}(e))}function h(e){return c=void 0,d&&r?y(e):(r=o=void 0,s)}function b(...e){const n=E(),i=p(n);if(r=e,o=this,a=n,i){if(void 0===c)return function(e){return u=e,c=setTimeout(g,t),l?y(e):s}(a);if(f)return clearTimeout(c),c=setTimeout(g,t),y(a)}return void 0===c&&(c=setTimeout(g,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?I(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:h(E())},b}function E(){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 D(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 $={ms:e=>e,seconds:e=>1e3*e,minutes:e=>$.seconds(60*e),hours:e=>$.minutes(60*e),days:e=>$.hours(24*e),weeks:e=>$.days(7*e),infinity:1/0,zero:0},P=d?0:u?$.seconds(3):$.seconds(5);function L(e){return t=>{if("string"!=typeof t)throw new g("[createBaseStore]: Received non-string serialized state without a custom deserializer. Provide a deserializer on the store or storage adapter.");return function(e,t){try{return JSON.parse(e,t?D:void 0)}catch(e){throw h.error(new g("[createBaseStore]: Failed to deserialize persisted Rainbow 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 g("[createBaseStore]: Failed to serialize Rainbow store data"),{error:e}),e}}(t,e)}var R=Object.freeze({shouldClear:!1});function N(e,t,n){if(!t||!e)return R;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 _(e,t){e&&t.shouldClear&&t.fieldSnapshot&&Object.keys(t.fieldSnapshot).length&&e.clearFieldTimestamps(t.fieldSnapshot)}function W(e){return!!e&&!!e.getIsApplyingRemote()}function J(e,...t){return!0===t[1]?Z(t[0])?t[0](e):t[0]:{...e,...Z(t[0])?t[0](e):t[0]}}function V(e,t){H(e)?e.getState().reset(t?.clearQueryCache):function(e){return"destroy"in e}(e)&&e.destroy()}function B(e,t){for(const n of Array.isArray(e)?e:Object.values(e))n&&!t?.skipDestroy?.(n)&&V(n,t)}function U(e){return X(e)?e.persist.getOptions().name??e.name:e.name}function Q(e){return"getSnapshot"in e}function H(e){return"_queryStore"in e}function G(e){return"flushUpdates"in e}function X(e){return"persist"in e}function Y(e){return"_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 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 g("[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 g("[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??q().storage:void 0,u=c?function(e,t,n){const r=t.engine??q().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,p=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>p?e:p+1;return p=t,t})();let o=[],s=Object.create(null);const c=r=>{const i=J(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),g=()=>{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(g):(g(),u);var h},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=>{p=Math.max(p,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 g(`[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(()=>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=()=>{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()),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=C()),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=C()),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(b(i)):t?.complete(),s?.(e,i)}}}}(l):null,d=function(e,t,n){const r=t??e.storage??q().storage,o=(e.sync?void 0:e.persistThrottleMs??P)||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??L(o),a=t.serializer??e.serializer??x(o);async function u(t,n){try{if(W(r))return;n.state=s(n.state);const o=N(r,i,n),c=a(n);try{await e.set(t,c),_(r,o)}catch(e){h.error(new g("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){h.error(new g("[createBaseStore]: Failed to serialize persisted store data"),{error:e})}}const l=void 0!==n?T(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 g("[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??L(o),a=t.serializer??e.serializer??x(o);function u(t,n){try{if(W(r))return;n.state=s(n.state);const o=N(r,i,n),c=a(n);try{e.set(t,c),_(r,o)}catch(e){h.error(new g("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){h.error(new g("[createBaseStore]: Failed to persist store data"),{error:e})}}const l=void 0!==n?T(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 g("[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,p=f?(e,t,n)=>(u&&(u.syncContext.setWithoutPersist=n.setState),f.stateCreator(e,t,n)):l,m=o()(n(r(p,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)}(Q(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)he(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=U(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)),ge(i,n,0,r,o)}}}function pe(){return Object.create(null)}function ge(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),ge(s,t,n+1,r,o)}function he(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&&he(c,t,[...n,e],r+1,o,i)}}else if(r<i&&a>1&&!e.isLeaf)for(const e of c)he(s[e],t,[...n,e],r+1,o,i);else{if(1===a){const e=c[0];return void he(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 qe(){return be}function Ae(){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(Ee+=1),a=new Set;var u;i&&a.add(Me);const l=new Set;let d,y,p=Te,g=!1,h=!0,b=!0,m=!0,S=0,v=!1,w=null,O=Te;function j(e,t,n){if(!m||!a.size)return(t??Ie)(Q(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,D,{equalityFn:n??Object.is,isDerivedStore:!0});return l.add(r),t(Q(e)?e.getSnapshot():e.getState())}function q(e){for(const t of l)t(e);l.clear()}function A(){if(!b&&ze(p))return p;b=!1,m&&q(!0);const t=p,n=ze(t);p=function(t){h=!0;const n=p,i=e(t);return ze(n)&&o(n,i)?(r&&console.log("[πŸ₯· Derive Complete πŸ₯·]: No change detected"),h=!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=l.size;console.log(`[🎯 ${e} ${ce("Selector Subscription",e)} 🎯]`)}return y&&m&&(y.buildProxySubscriptions((e,t)=>{const n=e.subscribe(t,D,{equalityFn:Object.is,isDerivedStore:!0});l.add(n)},i),d=void 0,y=void 0),h&&n&&function(e,t){const n=function(){const e=a.has(Me)?a.size-1:a.size;return S>0&&S<e}(),o=!S||n,i=n||null!==Ae()||qe()&&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?v||(v=!0,ze(O)||(O=t),Ce(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(),!ze(p))return;const e=ze(O)?O:p;F(p,e)}(),v=!1,O=Te)}const I=n?T(E,"number"==typeof n?n:n.delay,"number"==typeof n?{leading:!1,maxWait:n,trailing:!0}:n):void 0,k=I??(()=>{g||(g=!0,queueMicrotask(E))});function E(){a.size&&(g=!1,b&&A())}function M(e){e?queueMicrotask(()=>{a.size||$()}):$()}function z(){E(),w=null}function D(){if(!b){if(b=!0,!I){if(S){Fe();const e=Ae(),t=null===e?0:e+1;if(null!==w&&t<=w)return;return w=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)}}(z,t)}if(qe())return void(v||(v=!0,ze(p)&&(O=p),Ce(c,C)))}w=null,S&&!n?A():k()}}function K(){return b||!ze(p)?a.size>0?A():e(j):p}function $(e=!0){i&&e||(I?.cancel(),q(),a.clear(),S=0,y=void 0,d=void 0,m=!0,g=!1,b=!0,p=Te,v=!1,O=Te,w=null)}return{destroy:()=>$(!1),flushUpdates:function(){a.size&&(I?I.flush():b&&A())},getSnapshot:function(){if(!ze(p)){a.add(Me);const e=A();return a.delete(Me),e}return g&&E(),p},getState:K,subscribe:function(...e){if(1===e.length){const t=e[0];return a.add(t),1!==a.size||ze(p)||K(),()=>{a.delete(t),a.size||M(!1)}}const[t,n,r]=e,o=r?.equalityFn??Object.is,i=r?.isDerivedStore??!1,s={currentSlice:void 0,equalityFn:o,isDerivedWatcher:i,listener:n,selector:t};return 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||M(i)}},getInitialState:()=>{throw new Error("[createDerivedStore]: getInitialState() is not available on derived stores.")},setState:()=>{throw new Error("[createDerivedStore]: setState() is not available on derived stores.")}}}(e,t),Object.assign(function(e=Ie,t=void 0){return i(n.subscribe,n.getSnapshot,void 0,e,t)},n);var n}var Te=Symbol(),Ee=0;function Me(){}function ze(e){return e!==Te}var De=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=$.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)}}},Ke={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 Le(e,t){const n=Object.prototype.hasOwnProperty;function r(e,t){for(const n of e.keys())if(Le(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--&&Le(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(!Le(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)||!Le(e[r],t[r]))return!1}return Object.keys(t).length===i}}return e!=e&&t!=t}var xe=new WeakMap,Re=new WeakMap;function Ne(e,t=_e,n=Le){return function(e,t,n){let r=Re.get(e);r||(r=new Map,Re.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]=Je(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 xe.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(()=>{}),xe.set(f,s),o.set(n,f),f}(e,t,n)}var _e=e=>e,We=(e,t,n)=>{if(!t.length)return n;const[r,...o]=t,i=e[r],s=We(i,o,n);if(Le(i,s))return e;const c=Array.isArray(e)?e.slice():{...e};return c[r]=s,c},Je=(e,t,n)=>{const r=new Set,o=Q(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!==_e)throw new Error("Cannot set a value with a selector");e.setState(e=>We(e,n,r),!0)}]};function Ve(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var[Be,Ue]=[!0,!1],Qe={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},He=$.seconds(5);function Ge(e,t,n){A();const r="function"==typeof t?t:ot,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:p=$.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=Xe,suppressStaleTimeWarning:I=!1,useParsableQueryKeys:k=!0}=e;let E="function"==typeof e.staleTime?$.minutes(2):e.staleTime??$.minutes(2);f&&!S&&!I&&E<He&&console.warn(`[createQueryStore${i?.storageKey?`: ${i.storageKey}`:""}] ❌ Stale times under ${He/1e3} seconds are not recommended. Provided staleTime: ${E/1e3} seconds`);const M=k?Ze:Ye,z=new Error("[createQueryStore: AbortError] Fetch interrupted"),D="function"==typeof p,K=f&&m,P=Object.keys(e.params??Object.create(null));let L=null,x=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:Ke.Idle},G=new De({disableAutoRefetching:S,initialEnabled:H.enabled}),X=()=>{J&&(V=null,J.abort(),J=null)},Y=(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&&Q!==t&&(Q=t,G.setEnabled(t),t?queueMicrotask(()=>o.getState().fetch(void 0,{updateQueryKey:!0})):(B||y)&&(y&&X(),B&&(clearTimeout(B),B=null)))})(r.enabled,s)),i});return t?.(),r}return f(e)};o.setState=d,G.init({onSubscribe:(r,o,i)=>{if(x||L||!F&&"function"!=typeof e.enabled&&"function"!=typeof e.staleTime){if(r)if(o){const e=rt(L,x),r=M(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),y&&!e&&X()}});const m=(e,t)=>{if(S||t?.skipStoreUpdates)return;if(E<=0||E===1/0)return;B&&(clearTimeout(B),B=null);const r=M(e),o=n(),i=(v?U===r&&o.lastFetchedAt:o.queryCache[r]?.lastFetchedAt)||null,s=i?E-(Date.now()-i):E;B=setTimeout(()=>{const t=G.get();t.enabled&&t.subscriptionCount>0&&w.fetch(e,{force:!0},!0)},s)},w={...r(d,n,o),...H,async fetch(e,r,o=!1){const f=G.get();if(!r?.force&&!r?.skipStoreUpdates&&!f.enabled)return null;const S=n(),q=S.error,A=S.queryKey,F=S.status,I=nt(L,x,P,e),k=M(I),T=r?.staleTime??E,$=F===Ke.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&&$)return K&&console.log("[πŸ”„ Using Active Fetch πŸ”„] for params:",JSON.stringify(I)),V.promise;if(y&&!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>=j,c=(v?U===k&&e:o)||null;if(c&&!(Date.now()-c>=T)&&(!i||s||R))return _&&!R&&!B&&f.subscriptionCount>0&&0!==E&&E!==1/0&&m(I,r),N&&t(e=>e.queryKey!==k?{...e,queryKey:k}:e),K&&console.log("[πŸ’Ύ Returning Cached Data πŸ’Ύ] for params:",JSON.stringify(I)),n?.data??null}!R&&_&&(B&&(clearTimeout(B),B=null),!q&&$||t(e=>({...e,error:null,status:Ke.Loading})),V={key:k});const W=r?.cacheTime??(D?p(I):p),Q=async()=>{try{K&&(o||!e||it(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&&!R&&_?(async e=>{const t=new AbortController;J=t;try{return await new Promise((n,r)=>{t.signal.addEventListener("abort",()=>r(z),{once:!0}),Promise.resolve(s(e,t)).then(n,r)})}finally{J===t&&(J=null)}})(I):s(I,null)),c=Date.now();let f;K&&console.log("[βœ… Fetch Successful βœ…] for params:",JSON.stringify(I));try{f=l?l(n,I):n}catch(e){throw new g(`[createQueryStore: ${i?.storageKey||k}]: transform failed`,e)}if(R)return K&&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:N?k:e.queryKey,status:Ke.Success};if(u||v){if(u){K&&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 K&&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||p===1/0?t:st(O,k,t)}),_&&(U=k,m(I,r)),a)try{a({data:f,fetch:w.fetch,params:I,set:d})}catch(e){h.error(new g(`[createQueryStore: ${i?.storageKey||k}]: onFetched callback failed`,e))}return f??null}catch(s){if(s===z)return K&&console.log("[❌ Fetch Aborted ❌] for params:",JSON.stringify(I)),null;const a=!o&&!0===r?.throwOnError,u=b(s);if(R||!_){if(h.error(new g(`[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(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:Ke.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:N?k:e.queryKey,status:Ke.Error}));if(h.error(new g(`[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:M(nt(L,x,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===Ke.Idle;case"isLoading":return n().status===Ke.Loading;case"isSuccess":{const e=n(),t=e.queryCache[e.queryKey]?.lastFetchedAt;return"number"==typeof t||e.status===Ke.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===Ke.Loading}return{isError:i===Ke.Error,isIdle:i===Ke.Idle,isLoading:i===Ke.Loading,isInitialLoad:!o&&i===Ke.Loading,isSuccess:i===Ke.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??E;return Date.now()-o>=i},reset(e=!1){for(const e of N)e();N=[],L=null,x=null,R=null,X(),B&&(clearTimeout(B),B=null),V=null,U=null,e&&t(e=>({...e,...H}))}},q=o.subscribe;return o.subscribe=(...e)=>{const t=W?()=>{}:G.subscribe(),n=1===e.length?q(e[0]):q(...e);return e=>{t(e),n()}},w},Z=i?.storageKey?se(Y,Object.assign(Object.create(null),i,{partialize:ut(O,i.partialize)})):o&&!("storageKey"in o)?se(Y,o):se(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(!Ve(t,e))continue;const s=t[e];if(ct(s)){const t=s(Ne,n);r[e]=t,i[e]=t.value}else at(s)&&(o[e]=s,i[e]=s)}let s,c=null,a=null;if(ct(e)){const t=e(Ne,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);L={enabled:t,params:r},x={enabled:n,params:e}}"function"==typeof e.staleTime&&(R=e.staleTime(Ne,Z),E=R.value);const oe=function(){let e,t=!1;return function(...n){e=n,t||(t=!0,queueMicrotask(()=>{t=!1,(e=>{ee.fetch(e??rt(L,x),{updateQueryKey:O})})(...e)}))}}();function ie(){let e;if(!O){e=rt(L,x);const t=M(e);Z.setState(e=>({...e,queryKey:t}))}oe(e)}const ce=d||!q?ie:T(ie,"number"==typeof q?q:q.delay,"number"==typeof q?{leading:!1,maxWait:q,trailing:!0}:q);if(L?.enabled){const e=L.enabled,t=xe.get(e);if(t){let n=e.value;ne!==n&&Z.setState(e=>({...e,enabled:n})),n&&G.setEnabled(n),K&&console.log("[πŸŒ€ Enabled Subscription πŸŒ€] Initial value:",n);const r=t(()=>{const t=e.value;t!==n&&(K&&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 L?.params){const t=L.params[e];if(!t)continue;const n=xe.get(t);if(K&&console.log("[πŸŒ€ Param Subscription πŸŒ€] Subscribed to param:",e),n){let r=t.value;const o=n(()=>{const n=t.value;Le(r,n)||(K&&console.log("[πŸŒ€ Param Change πŸŒ€] -",e,"- [Old]:",`${r?.toString()},`,"[New]:",n?.toString()),r=n,ce())});N.push(o)}}if(R){const e=xe.get(R);if(e){const t=R;let n=t.value;K&&console.log("[πŸŒ€ StaleTime Subscription πŸŒ€] Initial value:",n);const r=e(()=>{const e=t.value;e!==n&&(K&&console.log("[πŸŒ€ StaleTime Change πŸŒ€] - [Old]:",`${n},`,"[New]:",e),n=e,E=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 Xe(e,t){const n=t?.baseDelay??$.seconds(5),r=t?.maxDelay??$.minutes(5),o=Math.pow(2,e);return Math.min(n*o,r)}function Ye(e){return JSON.stringify(Object.keys(e).sort().map(t=>e[t]))}function Ze(e){return JSON.stringify(tt(e))}function et(e){return JSON.parse(e)}function tt(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?tt(r):r,t},{})}function nt(e,t,n,r){return r?it(r,n)?r:{...rt(e,t),...r}:rt(e,t)}function rt(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 ot(){return Object.create(null)}function it(e,t){if(!e)return!1;for(const n of t)if(!(n in e))return!1;return!0}function st(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(!Ve(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 ct(e){return"function"==typeof e}function at(e){return!ct(e)}function ut(e,t){return n=>{const r={...n},o={};for(const e in r)Ve(r,e)&&e in Qe&&(Qe[e]&&(o[e]=r[e]),delete r[e]);return{...t?t(r):K(r),...st(e,null,o)}}}function lt(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=s?.equalityFn??Object.is,a=o(e.getState()),u=o(t.getState()),l=t.subscribe(...r);n.unsubscribe=l,c(a,u)||i(u,a)}}(e,t),V(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)};return s.add(t),()=>{t.unsubscribe(),s.delete(t)}}},o?o(c.getState):void 0)}var ft=Symbol(),dt=Object.freeze({debugMode:!1,enabled:!0,equalityFn:Object.is,fireImmediately:!1});function yt(e,t,n,r=dt){const o=function(){const e=c(ft);return e.current===ft&&(e.current=function(e,t,n){return{selector:e,react:t,isActive:!1,options:ht(n),resubscribe:()=>{},unsubscribe:()=>{}}}(t,n,r)),e}(),i=function(e){return"function"==typeof e?dt.enabled:e?.enabled??dt.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??dt)}(o,r),s(()=>{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 pt=Object.freeze({fireImmediately:!1,forceResubscribe:!1});function gt(e,t,n=pt){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=pt)=>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 ht(e){return"function"==typeof e?{equalityFn:e}:e??dt}var bt=Symbol();function mt(e){const t=c(bt);return t.current===bt&&(t.current=e()),t.current}function St(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)wt(t,r)&&(n[r]=vt(e,r));return n}for(const e in t)wt(t,e)&&(n[e]=t[e]);return n}(e);return t?Object.assign(n,t):n}function vt(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 wt(e,t){return"function"==typeof e[t]}export{Ke as QueryStatuses,J as applyStateUpdate,j as configureStores,se as createBaseStore,ke as createDerivedStore,Ge as createQueryStore,St as createStoreActions,lt as createVirtualStore,$e as deepEqual,Xe as defaultRetryDelay,V as destroyStore,B as destroyStores,Ye as getLegacyQueryKey,Ze as getQueryKey,U as getStoreName,G as isDerivedStore,X as isPersistedStore,H as isQueryStore,Y as isVirtualStore,et as parseQueryKey,z as replacer,D as reviver,Pe as shallowEqual,$ as time,yt as useListen,mt as useStableValue};
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};