@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
@@ -1,16 +1,13 @@
1
1
  import { SyncEngine, SyncHandle, SyncRegistration } from '../../sync/types';
2
- import { AreaName, ChromeStorageAdapter } from './chromeStorageAdapter';
3
- export type ChromeExtensionSyncEngineOptions = {
4
- area?: AreaName;
5
- namespace?: string;
6
- } | {
2
+ import { ChromeStorageAdapter, ChromeStorageAdapterOptions } from './chromeStorageAdapter';
3
+ export type ChromeExtensionSyncEngineOptions = ChromeStorageAdapterOptions | {
7
4
  storage: ChromeStorageAdapter;
8
5
  };
9
6
  export declare class ChromeExtensionSyncEngine implements SyncEngine {
10
7
  readonly injectStorageMetadata = true;
11
8
  readonly sessionId: string;
12
9
  private readonly area;
13
- private readonly namespace;
10
+ private readonly storageKeyPrefix;
14
11
  private readonly registrations;
15
12
  private isListening;
16
13
  constructor(options?: ChromeExtensionSyncEngineOptions);
@@ -25,7 +22,7 @@ export declare class ChromeExtensionSyncEngine implements SyncEngine {
25
22
  * Does NOT perform conflict resolution - that's handled by syncEnhancer.processUpdate.
26
23
  */
27
24
  private extractChangedFields;
28
- private namespacePrefix;
29
25
  private toStorageKey;
30
26
  private parsePersistValue;
31
27
  }
28
+ //# sourceMappingURL=chromeExtensionSyncEngine.d.ts.map
@@ -1,15 +1,14 @@
1
1
  import { StorageValue } from '../../storage/storageTypes';
2
2
  import { AsyncStorageInterface } from '../../types';
3
- export declare const CHROME_STORAGE_NAMESPACE = "stores/chrome-storage";
4
3
  export type AreaName = keyof Pick<typeof chrome.storage, 'local' | 'managed' | 'session' | 'sync'>;
5
4
  export type ChromeStorageAdapterOptions = {
6
5
  area?: AreaName;
7
- namespace?: string;
6
+ storageKeyPrefix?: string;
8
7
  };
9
8
  export type ChromeStorageValue<PersistedState = unknown> = StorageValue<PersistedState>;
10
9
  export declare class ChromeStorageAdapter implements AsyncStorageInterface {
11
- readonly area: 'local' | 'session' | 'sync' | 'managed';
12
- readonly namespace: string;
10
+ readonly area: AreaName;
11
+ readonly storageKeyPrefix: string;
13
12
  readonly async = true;
14
13
  readonly deserializer: typeof deserializeChromeStorageValue;
15
14
  readonly serializer: typeof serializeChromeStorageValue;
@@ -21,7 +20,6 @@ export declare class ChromeStorageAdapter implements AsyncStorageInterface {
21
20
  get(key: string): Promise<unknown>;
22
21
  set(key: string, value: unknown): Promise<void>;
23
22
  private ensureStorage;
24
- private namespacePrefix;
25
23
  private toStorageKey;
26
24
  private listPrefixedKeys;
27
25
  private getFromStorage;
@@ -30,3 +28,4 @@ export declare class ChromeStorageAdapter implements AsyncStorageInterface {
30
28
  }
31
29
  export declare function serializeChromeStorageValue<PersistedState>(storageValue: StorageValue<PersistedState>): unknown;
32
30
  export declare function deserializeChromeStorageValue<PersistedState>(serializedState: unknown): StorageValue<PersistedState>;
31
+ //# sourceMappingURL=chromeStorageAdapter.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { ChromeExtensionSyncEngine } from './chromeExtensionSyncEngine';
2
- import { AreaName, ChromeStorageAdapter } from './chromeStorageAdapter';
2
+ import { ChromeStorageAdapter, ChromeStorageAdapterOptions } from './chromeStorageAdapter';
3
3
  /**
4
4
  * Creates a synced Chrome storage engine for extension environments.
5
5
  * @returns
@@ -7,10 +7,8 @@ import { AreaName, ChromeStorageAdapter } from './chromeStorageAdapter';
7
7
  * { engine: ChromeExtensionSyncEngine; storage: ChromeStorageAdapter }
8
8
  * ```
9
9
  */
10
- export declare function createSyncedChromeStorage(options?: {
11
- area?: AreaName;
12
- namespace?: string;
13
- }): {
10
+ export declare function createSyncedChromeStorage(options?: ChromeStorageAdapterOptions): {
14
11
  storage: ChromeStorageAdapter;
15
12
  syncEngine: ChromeExtensionSyncEngine;
16
13
  };
14
+ //# sourceMappingURL=createSyncedChromeStorage.d.ts.map
@@ -1,3 +1,4 @@
1
1
  export { ChromeExtensionSyncEngine, ChromeExtensionSyncEngineOptions } from './chromeExtensionSyncEngine';
2
2
  export { AreaName, ChromeStorageAdapter, ChromeStorageAdapterOptions } from './chromeStorageAdapter';
3
3
  export { createSyncedChromeStorage } from './createSyncedChromeStorage';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -64,3 +64,4 @@ export declare class SubscriptionManager {
64
64
  subscribe(): (skipAbortFetch?: boolean) => void;
65
65
  }
66
66
  export {};
67
+ //# sourceMappingURL=SubscriptionManager.d.ts.map
@@ -394,3 +394,4 @@ export type SetDataParams<TData, TParams extends Record<string, unknown> = Recor
394
394
  queryKey: string;
395
395
  set: (update: SetPartial<S>) => void;
396
396
  };
397
+ //# sourceMappingURL=types.d.ts.map
package/dist/signal.d.ts CHANGED
@@ -17,3 +17,4 @@ export declare function $<T>(store: BaseStore<T>): AttachValue<T>;
17
17
  export declare function $<T, S>(store: BaseStore<T>, selector: (state: T) => S, equalityFn?: (a: S, b: S) => boolean): AttachValue<S>;
18
18
  export declare const createSignal: <T, S>(store: BaseStore<T>, selector: (state: T) => S, equalityFn: (a: S, b: S) => boolean) => [Subscribe, GetValue, SetValue];
19
19
  export {};
20
+ //# sourceMappingURL=signal.d.ts.map
@@ -19,3 +19,4 @@ export declare function createPersistStorage<S, PersistedState extends Partial<S
19
19
  */
20
20
  export declare function createAsyncPersistStorage<S, PersistedState extends Partial<S>, PersistReturn>(storage: AsyncStorageInterface, options: EnforceStorageKey<BaseStoreOptions<S, PersistedState, PersistReturn>>, persistThrottleMs: number | undefined, syncContext?: SyncContext): PersistStorage<PersistedState, Promise<void>>;
21
21
  export {};
22
+ //# sourceMappingURL=storageCreators.d.ts.map
@@ -10,3 +10,4 @@ export type StorageValue<S, HideSyncMetadata extends boolean = false> = HideSync
10
10
  };
11
11
  version?: number;
12
12
  };
13
+ //# sourceMappingURL=storageTypes.d.ts.map
@@ -1,2 +1,3 @@
1
1
  import { SyncStorageInterface } from './types';
2
- export declare const storesStorage: SyncStorageInterface<string>;
2
+ export declare function createStoresStorage(storageKeyPrefix: string): SyncStorageInterface<string>;
3
+ //# sourceMappingURL=storesStorage.native.d.ts.map
@@ -1,2 +1,3 @@
1
1
  import { SyncStorageInterface } from './types';
2
- export declare const storesStorage: SyncStorageInterface;
2
+ export declare function createStoresStorage(storageKeyPrefix: string): SyncStorageInterface;
3
+ //# sourceMappingURL=storesStorage.web.d.ts.map
@@ -1,2 +1,3 @@
1
1
  import { SyncEngine } from './types';
2
2
  export declare function createBrowserSyncEngine(): SyncEngine;
3
+ //# sourceMappingURL=browserSyncEngine.d.ts.map
@@ -1,2 +1,3 @@
1
1
  import { SyncEngine } from './types';
2
2
  export declare function createNoopSyncEngine(): SyncEngine;
3
+ //# sourceMappingURL=noopSyncEngine.d.ts.map
@@ -19,3 +19,4 @@ export declare function createSyncedStateCreator<T extends Record<string, unknow
19
19
  stateCreator: StateCreator<T>;
20
20
  syncContext: SyncContext;
21
21
  };
22
+ //# sourceMappingURL=syncEnhancer.d.ts.map
@@ -3,3 +3,4 @@ import { FieldMetadata } from './types';
3
3
  * Helper to create `FieldMetadata` tuples.
4
4
  */
5
5
  export declare function createFieldMetadata(timestamp: number, sessionId: string): FieldMetadata;
6
+ //# sourceMappingURL=syncUtils.d.ts.map
@@ -110,3 +110,4 @@ export interface SyncTransport {
110
110
  export type SyncTransportConnectOptions = {
111
111
  readonly auth?: SyncAuthPayload | null;
112
112
  };
113
+ //# sourceMappingURL=transport.d.ts.map
@@ -187,3 +187,4 @@ export type SyncAuthenticator = {
187
187
  readonly onFailure?: (failure: SyncAuthFailure) => void;
188
188
  };
189
189
  export {};
190
+ //# sourceMappingURL=types.d.ts.map
@@ -4,3 +4,4 @@ export type FunctionKeys<T> = {
4
4
  }[keyof T];
5
5
  export type OmitFunctionKeys<T> = Omit<T, FunctionKeys<T>>;
6
6
  export type UnknownFunction = (...args: never[]) => unknown;
7
+ //# sourceMappingURL=functions.d.ts.map
@@ -1,3 +1,4 @@
1
1
  import { FunctionKeys, UnknownFunction } from './functions';
2
2
  export type NoOverlap<State, Bundled extends ObjectMethods> = Extract<keyof Bundled, FunctionKeys<State>> extends never ? Bundled : never;
3
3
  export type ObjectMethods = Record<string, UnknownFunction>;
4
+ //# sourceMappingURL=objects.d.ts.map
@@ -6,3 +6,4 @@ export declare function hasOwn<T extends Record<string, unknown>, K extends stri
6
6
  * Checks prototype is `Object.prototype` or `null`. Excludes arrays, class instances, etc.
7
7
  */
8
8
  export declare function isPlainObject(value: unknown): value is Record<string, unknown>;
9
+ //# sourceMappingURL=utils.d.ts.map
package/dist/types.d.ts CHANGED
@@ -330,3 +330,4 @@ export type DebounceOptions = {
330
330
  trailing?: boolean;
331
331
  };
332
332
  export {};
333
+ //# sourceMappingURL=types.d.ts.map
@@ -4,3 +4,4 @@
4
4
  * @returns `value`.
5
5
  */
6
6
  export declare const identity: (value: any) => any;
7
+ //# sourceMappingURL=core.d.ts.map
@@ -32,3 +32,4 @@
32
32
  * ```
33
33
  */
34
34
  export declare function createAsyncMicrotaskScheduler<Args extends unknown[]>(fn: (...args: Args) => Promise<void>): (...args: Args) => Promise<void>;
35
+ //# sourceMappingURL=createAsyncMicrotaskScheduler.d.ts.map
@@ -25,3 +25,4 @@
25
25
  * ```
26
26
  */
27
27
  export declare function createMicrotaskScheduler<Args extends unknown[]>(fn: (...args: Args) => void): (...args: Args) => void;
28
+ //# sourceMappingURL=createMicrotaskScheduler.d.ts.map
@@ -22,3 +22,4 @@ export type StoreActions<Store extends StoreApi<unknown>> = Pick<InferStoreState
22
22
  */
23
23
  export declare function createStoreActions<Store extends StoreApi<unknown>>(store: Store): StoreActions<Store>;
24
24
  export declare function createStoreActions<Store extends StoreApi<unknown>, Bundled extends ObjectMethods>(store: Store, bundledMethods: NoOverlap<InferStoreState<Store>, Bundled>): StoreActions<Store> & Bundled;
25
+ //# sourceMappingURL=createStoreActions.d.ts.map
@@ -19,3 +19,4 @@ export type DebouncedFunction<F extends (...args: Parameters<F>) => ReturnType<F
19
19
  * @returns Returns the new debounced function.
20
20
  */
21
21
  export declare function debounce<F extends (...args: Parameters<F>) => ReturnType<F>>(func: F, wait?: number, options?: DebounceOptions): DebouncedFunction<F>;
22
+ //# sourceMappingURL=debounce.d.ts.map
@@ -35,3 +35,4 @@ export declare function shallowEqual<U>(obj1: U, obj2: U): boolean;
35
35
  * @returns `true` if the values are deeply equal; otherwise, `false`.
36
36
  */
37
37
  export declare function dequal(foo: unknown, bar: unknown): boolean;
38
+ //# sourceMappingURL=equality.d.ts.map
@@ -10,3 +10,4 @@ export type HydrationCoordinator = {
10
10
  * to signal completion or failure.
11
11
  */
12
12
  export declare function createHydrationCoordinator(): HydrationCoordinator;
13
+ //# sourceMappingURL=hydrationCoordinator.d.ts.map
@@ -6,3 +6,4 @@ import { StorageValue } from '../storage/storageTypes';
6
6
  export declare function omitStoreMethods<S, PersistedState extends Partial<S>>(state: S): PersistedState;
7
7
  export declare function defaultSerializeState<PersistedState>(storageValue: StorageValue<PersistedState>, shouldUseReplacer: boolean): string;
8
8
  export declare function defaultDeserializeState<PersistedState>(serializedState: string, shouldUseReviver: boolean): StorageValue<PersistedState>;
9
+ //# sourceMappingURL=persistUtils.d.ts.map
@@ -1 +1,2 @@
1
1
  export declare function isPromiseLike<T>(value: T | Promise<T> | void): value is Promise<T>;
2
+ //# sourceMappingURL=promiseUtils.d.ts.map
@@ -11,3 +11,4 @@ export declare function isSerializedSet(value: unknown): value is SerializedSet;
11
11
  export declare function replacer(_: string, value: unknown): unknown;
12
12
  export declare function reviver(_: string, value: unknown): unknown;
13
13
  export {};
14
+ //# sourceMappingURL=serialization.d.ts.map
@@ -54,3 +54,4 @@ export declare function isPersistedStore<S>(store: BaseStore<S>): store is Persi
54
54
  export declare function isVirtualStore<S>(store: BaseStore<S> | StoreApi<S>): store is BaseStore<S> & {
55
55
  [StoreTags.VirtualStore]: true;
56
56
  };
57
+ //# sourceMappingURL=storeUtils.d.ts.map
@@ -4,3 +4,4 @@
4
4
  * `word` should be provided in singular form.
5
5
  */
6
6
  export declare function pluralize(word: string, count: number, pluralSuffix?: string): string;
7
+ //# sourceMappingURL=stringUtils.d.ts.map
@@ -44,3 +44,4 @@ export declare const time: TimeUtils;
44
44
  */
45
45
  export declare function waitForMicrotask(): Promise<void>;
46
46
  export {};
47
+ //# sourceMappingURL=time.d.ts.map
@@ -1 +1 @@
1
- "use strict";function e(e){if("object"!=typeof e||null===e)return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function t(e,t){return t instanceof Map?{__type:"Map",entries:Array.from(t.entries())}:t instanceof Set?{__type:"Set",values:Array.from(t)}:t}function r(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}var s="stores/chrome-storage",n=class{constructor(e){this.async=!0,this.deserializer=i,this.serializer=a,this.area=e?.area??"local",this.namespace=e?.namespace??s}async clearAll(){const e=this.ensureStorage();if(!e)return;const t=this.namespacePrefix();if(!t)throw new Error("Cannot clear all storage with empty namespace. This would delete all storage entries. Please provide a namespace.");const r=await this.listPrefixedKeys(e,t);r.length&&await this.execute(e,t=>e.remove(r,t))}async contains(e){const t=this.ensureStorage();if(!t)return!1;const r=this.toStorageKey(e),s=await this.getFromStorage(t,r);return Object.prototype.hasOwnProperty.call(s,r)}async delete(e){const t=this.ensureStorage();if(!t)return;const r=this.toStorageKey(e);await this.execute(t,e=>t.remove(r,e))}async getAllKeys(){const e=this.ensureStorage();if(!e)return[];const t=this.namespacePrefix(),r=await this.getFromStorage(e,null);return Object.keys(r).filter(e=>e.startsWith(t)).map(e=>e.slice(t.length))}async get(e){const t=this.ensureStorage();if(!t)return;const r=this.toStorageKey(e),s=(await this.getFromStorage(t,r))[r];return o(s)?s:void 0}async set(e,t){const r=this.ensureStorage();if(!r)return;const s=this.toStorageKey(e);await this.execute(r,e=>r.set({[s]:t},e))}ensureStorage(){return e=this.area,"undefined"!=typeof chrome&&chrome.storage?chrome.storage[e]??null:null;var e}namespacePrefix(){return this.namespace?`${this.namespace}:`:""}toStorageKey(e){return`${this.namespacePrefix()}${e}`}async listPrefixedKeys(e,t){const r=await this.getFromStorage(e,null);return Object.keys(r).filter(e=>e.startsWith(t))}async getFromStorage(e,t){return this.invokeWithCallbackSupport(r=>e.get(t,r))}async execute(e,t){await this.invokeWithCallbackSupport(t)}async invokeWithCallbackSupport(e){return new Promise((t,r)=>{let s=!1;const n=e=>{if(s)return;s=!0;const n="undefined"!=typeof chrome&&chrome.runtime&&chrome.runtime.lastError?new Error(chrome.runtime.lastError.message):null;n?r(n):t(e)};try{const t=e(n);(a=t)&&"object"==typeof a&&"then"in a&&"function"==typeof a.then&&t.then(n).catch(r)}catch(e){r(e)}var a})}};function a(e){return{state:c(e.state),syncMetadata:e.syncMetadata,version:e.version}}function i(e){if(!o(e))throw new Error("[ChromeStorageAdapter] Invalid serialized state format");return{state:h(e.state),syncMetadata:e.syncMetadata,version:e.version}}function o(e){return!(!e||"object"!=typeof e)&&Object.prototype.hasOwnProperty.call(e,"state")}function c(r,s=t){if(r instanceof Map||r instanceof Set)return s.call(void 0,"",r);if(!e(r))return r;const n={};for(const[e,t]of Object.entries(r))n[e]=s.call(r,e,t);return n}function h(t,s=r){const n=s.call(void 0,"",t);if(!e(n))return n;const a={};for(const e of Object.entries(n)){const t=e[0],r=e[1];a[t]=s.call(n,t,r)}return a}var l=class{constructor(e){this.injectStorageMetadata=!0,this.registrations=new Map,this.isListening=!1,this.onStorageChanged=async(e,t)=>{if(t===this.area)for(const t of this.registrations){const r=t[0],s=t[1];if(s.destroyed)continue;const n=e[this.toStorageKey(r)];if(n&&void 0!==n.newValue)try{const e=this.parsePersistValue(n.newValue);if(!e||e.syncMetadata?.origin===this.sessionId)continue;const t=e?.syncMetadata,r=this.extractChangedFields(s,e.state,t,n.oldValue);if(!Object.keys(r).length)continue;s.registration.apply({replace:!1,sessionId:t?.origin??"unknown",timestamp:t?.timestamp??Date.now(),values:r})}catch(e){continue}}},e&&"storage"in e?(this.area=e.storage.area,this.namespace=e.storage.namespace):(this.area=e?.area??"local",this.namespace=e?.namespace??s),this.sessionId=this.generateSessionId(),this.attachListener()}generateSessionId(){return"undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`${Math.random().toString(36).slice(2)}:${Date.now().toString(36)}`}register(e){this.attachListener();const t={destroyed:!1,hydrated:!0,listeners:new Set,registration:e};return this.registrations.set(e.key,t),{destroy:()=>{t.destroyed=!0,t.listeners.clear(),this.registrations.delete(e.key),this.registrations.size||this.detachListener()},publish:null}}attachListener(){"undefined"!=typeof chrome&&chrome.storage&&!this.isListening&&(this.isListening=!0,chrome.storage.onChanged.addListener(this.onStorageChanged))}detachListener(){"undefined"!=typeof chrome&&chrome.storage&&this.isListening&&(chrome.storage.onChanged.removeListener(this.onStorageChanged),this.isListening=!1)}extractChangedFields(e,t,r,s){const n=Object.create(null),a=r?.fields;if(a&&Object.keys(a).length>0){let r=!1;for(const s of e.registration.fields){const e=String(s);Object.prototype.hasOwnProperty.call(a,e)&&(n[s]=t[s],r=!0)}if(r)return n}const i=this.parsePersistValue(s);for(const r of e.registration.fields){const e=t[r],s=i?.state[r];Object.is(e,s)||(n[r]=e)}return n}namespacePrefix(){return this.namespace?`${this.namespace}:`:""}toStorageKey(e){return`${this.namespacePrefix()}${e}`}parsePersistValue(e){return i(e)}};exports.ChromeExtensionSyncEngine=l,exports.ChromeStorageAdapter=n,exports.createSyncedChromeStorage=function(e){const t=new n(e);return{storage:t,syncEngine:new l({storage:t})}};
1
+ var e="stores:";function t(e){if("object"!=typeof e||null===e)return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function r(e,t){return t instanceof Map?{__type:"Map",entries:Array.from(t.entries())}:t instanceof Set?{__type:"Set",values:Array.from(t)}:t}function s(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}var n=class{constructor(t){this.async=!0,this.deserializer=i,this.serializer=o,this.area=t?.area??"local",this.storageKeyPrefix=t?.storageKeyPrefix??e}async clearAll(){const e=this.ensureStorage();if(!e)return;if(!this.storageKeyPrefix)throw new Error("Cannot clear all storage with empty storageKeyPrefix. This would delete all storage entries.");const t=await this.listPrefixedKeys(e,this.storageKeyPrefix);t.length&&await this.execute(e,r=>e.remove(t,r))}async contains(e){const t=this.ensureStorage();if(!t)return!1;const r=this.toStorageKey(e),s=await this.getFromStorage(t,r);return Object.prototype.hasOwnProperty.call(s,r)}async delete(e){const t=this.ensureStorage();if(!t)return;const r=this.toStorageKey(e);await this.execute(t,e=>t.remove(r,e))}async getAllKeys(){const e=this.ensureStorage();if(!e)return[];const t=await this.getFromStorage(e,null),r=this.storageKeyPrefix;return r?Object.keys(t).filter(e=>e.startsWith(r)).map(e=>e.slice(r.length)):Object.keys(t)}async get(e){const t=this.ensureStorage();if(!t)return;const r=this.toStorageKey(e);return a((await this.getFromStorage(t,r))[r])||void 0}async set(e,t){const r=this.ensureStorage();if(!r)return;const s=this.toStorageKey(e);await this.execute(r,e=>r.set({[s]:t},e))}ensureStorage(){return e=this.area,"undefined"!=typeof chrome&&chrome.storage?chrome.storage[e]??null:null;var e}toStorageKey(e){return this.storageKeyPrefix?`${this.storageKeyPrefix}${e}`:e}async listPrefixedKeys(e,t){const r=await this.getFromStorage(e,null);return Object.keys(r).filter(e=>e.startsWith(t))}async getFromStorage(e,t){return this.invokeWithCallbackSupport(r=>e.get(t,r))}async execute(e,t){await this.invokeWithCallbackSupport(t)}async invokeWithCallbackSupport(e){return new Promise((t,r)=>{let s=!1;const n=e=>{if(s)return;s=!0;const n="undefined"!=typeof chrome&&chrome.runtime&&chrome.runtime.lastError?new Error(chrome.runtime.lastError.message):null;n?r(n):t(e)};try{const t=e(n);(o=t)&&"object"==typeof o&&"then"in o&&"function"==typeof o.then&&t.then(n).catch(r)}catch(e){r(e)}var o})}};function o(e){return{state:h(e.state),syncMetadata:e.syncMetadata,version:e.version}}function i(e){const t=a(e);if(!t)throw new Error("[ChromeStorageAdapter] Invalid serialized state format");return{state:u(t.state),syncMetadata:t.syncMetadata,version:t.version}}function a(e){if(c(e))return e;if("string"==typeof e)try{const t=JSON.parse(e);if(c(t))return t}catch{}return null}function c(e){return!(!e||"object"!=typeof e)&&Object.prototype.hasOwnProperty.call(e,"state")}function h(e,s=r){if(e instanceof Map||e instanceof Set)return s.call(void 0,"",e);if(!t(e))return e;const n={};for(const[t,r]of Object.entries(e))n[t]=s.call(e,t,r);return n}function u(e,r=s){const n=r.call(void 0,"",e);if(!t(n))return n;const o={};for(const e of Object.entries(n)){const t=e[0],s=e[1];o[t]=r.call(n,t,s)}return o}var l=class{constructor(t){this.injectStorageMetadata=!0,this.registrations=new Map,this.isListening=!1,this.onStorageChanged=async(e,t)=>{if(t===this.area)for(const t of this.registrations){const r=t[0],s=t[1];if(s.destroyed)continue;const n=e[this.toStorageKey(r)];if(n&&void 0!==n.newValue)try{const e=this.parsePersistValue(n.newValue);if(!e||e.syncMetadata?.origin===this.sessionId)continue;const t=e?.syncMetadata,r=this.extractChangedFields(s,e.state,t,n.oldValue);if(!Object.keys(r).length)continue;s.registration.apply({replace:!1,sessionId:t?.origin??"unknown",timestamp:t?.timestamp??Date.now(),values:r})}catch(e){continue}}},t&&"storage"in t?(this.area=t.storage.area,this.storageKeyPrefix=t.storage.storageKeyPrefix):(this.area=t?.area??"local",this.storageKeyPrefix=t?.storageKeyPrefix??e),this.sessionId=this.generateSessionId(),this.attachListener()}generateSessionId(){return"undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`${Math.random().toString(36).slice(2)}:${Date.now().toString(36)}`}register(e){this.attachListener();const t={destroyed:!1,hydrated:!0,listeners:new Set,registration:e};return this.registrations.set(e.key,t),{destroy:()=>{t.destroyed=!0,t.listeners.clear(),this.registrations.delete(e.key),this.registrations.size||this.detachListener()},publish:null}}attachListener(){"undefined"!=typeof chrome&&chrome.storage&&!this.isListening&&(this.isListening=!0,chrome.storage.onChanged.addListener(this.onStorageChanged))}detachListener(){"undefined"!=typeof chrome&&chrome.storage&&this.isListening&&(chrome.storage.onChanged.removeListener(this.onStorageChanged),this.isListening=!1)}extractChangedFields(e,t,r,s){const n=Object.create(null),o=r?.fields;if(o&&Object.keys(o).length>0){let r=!1;for(const s of e.registration.fields){const e=String(s);Object.prototype.hasOwnProperty.call(o,e)&&(n[s]=t[s],r=!0)}if(r)return n}const i=this.parsePersistValue(s);for(const r of e.registration.fields){const e=t[r],s=i?.state[r];Object.is(e,s)||(n[r]=e)}return n}toStorageKey(e){return this.storageKeyPrefix?`${this.storageKeyPrefix}${e}`:e}parsePersistValue(e){return i(e)}};exports.ChromeExtensionSyncEngine=l,exports.ChromeStorageAdapter=n,exports.createSyncedChromeStorage=function(e){const t=new n(e);return{storage:t,syncEngine:new l({storage:t})}};
@@ -1 +1 @@
1
- import{isPromiseLike as e,replacer as t,reviver as s,isPlainObject as r}from"./chunk-YWUZUTPH.mjs";var n="stores/chrome-storage",a=class{constructor(e){this.async=!0,this.deserializer=o,this.serializer=i,this.area=e?.area??"local",this.namespace=e?.namespace??n}async clearAll(){const e=this.ensureStorage();if(!e)return;const t=this.namespacePrefix();if(!t)throw new Error("Cannot clear all storage with empty namespace. This would delete all storage entries. Please provide a namespace.");const s=await this.listPrefixedKeys(e,t);s.length&&await this.execute(e,t=>e.remove(s,t))}async contains(e){const t=this.ensureStorage();if(!t)return!1;const s=this.toStorageKey(e),r=await this.getFromStorage(t,s);return Object.prototype.hasOwnProperty.call(r,s)}async delete(e){const t=this.ensureStorage();if(!t)return;const s=this.toStorageKey(e);await this.execute(t,e=>t.remove(s,e))}async getAllKeys(){const e=this.ensureStorage();if(!e)return[];const t=this.namespacePrefix(),s=await this.getFromStorage(e,null);return Object.keys(s).filter(e=>e.startsWith(t)).map(e=>e.slice(t.length))}async get(e){const t=this.ensureStorage();if(!t)return;const s=this.toStorageKey(e),r=(await this.getFromStorage(t,s))[s];return c(r)?r:void 0}async set(e,t){const s=this.ensureStorage();if(!s)return;const r=this.toStorageKey(e);await this.execute(s,e=>s.set({[r]:t},e))}ensureStorage(){return e=this.area,"undefined"!=typeof chrome&&chrome.storage?chrome.storage[e]??null:null;var e}namespacePrefix(){return this.namespace?`${this.namespace}:`:""}toStorageKey(e){return`${this.namespacePrefix()}${e}`}async listPrefixedKeys(e,t){const s=await this.getFromStorage(e,null);return Object.keys(s).filter(e=>e.startsWith(t))}async getFromStorage(e,t){return this.invokeWithCallbackSupport(s=>e.get(t,s))}async execute(e,t){await this.invokeWithCallbackSupport(t)}async invokeWithCallbackSupport(t){return new Promise((s,r)=>{let n=!1;const a=e=>{if(n)return;n=!0;const t="undefined"!=typeof chrome&&chrome.runtime&&chrome.runtime.lastError?new Error(chrome.runtime.lastError.message):null;t?r(t):s(e)};try{const s=t(a);e(s)&&s.then(a).catch(r)}catch(e){r(e)}})}};function i(e){return{state:h(e.state),syncMetadata:e.syncMetadata,version:e.version}}function o(e){if(!c(e))throw new Error("[ChromeStorageAdapter] Invalid serialized state format");return{state:l(e.state),syncMetadata:e.syncMetadata,version:e.version}}function c(e){return!(!e||"object"!=typeof e)&&Object.prototype.hasOwnProperty.call(e,"state")}function h(e,s=t){if(e instanceof Map||e instanceof Set)return s.call(void 0,"",e);if(!r(e))return e;const n={};for(const[t,r]of Object.entries(e))n[t]=s.call(e,t,r);return n}function l(e,t=s){const n=t.call(void 0,"",e);if(!r(n))return n;const a={};for(const e of Object.entries(n)){const s=e[0],r=e[1];a[s]=t.call(n,s,r)}return a}var u=class{constructor(e){this.injectStorageMetadata=!0,this.registrations=new Map,this.isListening=!1,this.onStorageChanged=async(e,t)=>{if(t===this.area)for(const t of this.registrations){const s=t[0],r=t[1];if(r.destroyed)continue;const n=e[this.toStorageKey(s)];if(n&&void 0!==n.newValue)try{const e=this.parsePersistValue(n.newValue);if(!e||e.syncMetadata?.origin===this.sessionId)continue;const t=e?.syncMetadata,s=this.extractChangedFields(r,e.state,t,n.oldValue);if(!Object.keys(s).length)continue;r.registration.apply({replace:!1,sessionId:t?.origin??"unknown",timestamp:t?.timestamp??Date.now(),values:s})}catch(e){continue}}},e&&"storage"in e?(this.area=e.storage.area,this.namespace=e.storage.namespace):(this.area=e?.area??"local",this.namespace=e?.namespace??n),this.sessionId=this.generateSessionId(),this.attachListener()}generateSessionId(){return"undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`${Math.random().toString(36).slice(2)}:${Date.now().toString(36)}`}register(e){this.attachListener();const t={destroyed:!1,hydrated:!0,listeners:new Set,registration:e};return this.registrations.set(e.key,t),{destroy:()=>{t.destroyed=!0,t.listeners.clear(),this.registrations.delete(e.key),this.registrations.size||this.detachListener()},publish:null}}attachListener(){"undefined"!=typeof chrome&&chrome.storage&&!this.isListening&&(this.isListening=!0,chrome.storage.onChanged.addListener(this.onStorageChanged))}detachListener(){"undefined"!=typeof chrome&&chrome.storage&&this.isListening&&(chrome.storage.onChanged.removeListener(this.onStorageChanged),this.isListening=!1)}extractChangedFields(e,t,s,r){const n=Object.create(null),a=s?.fields;if(a&&Object.keys(a).length>0){let s=!1;for(const r of e.registration.fields){const e=String(r);Object.prototype.hasOwnProperty.call(a,e)&&(n[r]=t[r],s=!0)}if(s)return n}const i=this.parsePersistValue(r);for(const s of e.registration.fields){const e=t[s],r=i?.state[s];Object.is(e,r)||(n[s]=e)}return n}namespacePrefix(){return this.namespace?`${this.namespace}:`:""}toStorageKey(e){return`${this.namespacePrefix()}${e}`}parsePersistValue(e){return o(e)}};function g(e){const t=new a(e);return{storage:t,syncEngine:new u({storage:t})}}export{u as ChromeExtensionSyncEngine,a as ChromeStorageAdapter,g as createSyncedChromeStorage};
1
+ import{DEFAULT_STORAGE_KEY_PREFIX as t,isPromiseLike as e,replacer as r,reviver as s,isPlainObject as n}from"./chunk-B3GRBY25.mjs";var i=class{constructor(e){this.async=!0,this.deserializer=a,this.serializer=o,this.area=e?.area??"local",this.storageKeyPrefix=e?.storageKeyPrefix??t}async clearAll(){const t=this.ensureStorage();if(!t)return;if(!this.storageKeyPrefix)throw new Error("Cannot clear all storage with empty storageKeyPrefix. This would delete all storage entries.");const e=await this.listPrefixedKeys(t,this.storageKeyPrefix);e.length&&await this.execute(t,r=>t.remove(e,r))}async contains(t){const e=this.ensureStorage();if(!e)return!1;const r=this.toStorageKey(t),s=await this.getFromStorage(e,r);return Object.prototype.hasOwnProperty.call(s,r)}async delete(t){const e=this.ensureStorage();if(!e)return;const r=this.toStorageKey(t);await this.execute(e,t=>e.remove(r,t))}async getAllKeys(){const t=this.ensureStorage();if(!t)return[];const e=await this.getFromStorage(t,null),r=this.storageKeyPrefix;return r?Object.keys(e).filter(t=>t.startsWith(r)).map(t=>t.slice(r.length)):Object.keys(e)}async get(t){const e=this.ensureStorage();if(!e)return;const r=this.toStorageKey(t);return c((await this.getFromStorage(e,r))[r])||void 0}async set(t,e){const r=this.ensureStorage();if(!r)return;const s=this.toStorageKey(t);await this.execute(r,t=>r.set({[s]:e},t))}ensureStorage(){return t=this.area,"undefined"!=typeof chrome&&chrome.storage?chrome.storage[t]??null:null;var t}toStorageKey(t){return this.storageKeyPrefix?`${this.storageKeyPrefix}${t}`:t}async listPrefixedKeys(t,e){const r=await this.getFromStorage(t,null);return Object.keys(r).filter(t=>t.startsWith(e))}async getFromStorage(t,e){return this.invokeWithCallbackSupport(r=>t.get(e,r))}async execute(t,e){await this.invokeWithCallbackSupport(e)}async invokeWithCallbackSupport(t){return new Promise((r,s)=>{let n=!1;const i=t=>{if(n)return;n=!0;const e="undefined"!=typeof chrome&&chrome.runtime&&chrome.runtime.lastError?new Error(chrome.runtime.lastError.message):null;e?s(e):r(t)};try{const r=t(i);e(r)&&r.then(i).catch(s)}catch(t){s(t)}})}};function o(t){return{state:g(t.state),syncMetadata:t.syncMetadata,version:t.version}}function a(t){const e=c(t);if(!e)throw new Error("[ChromeStorageAdapter] Invalid serialized state format");return{state:l(e.state),syncMetadata:e.syncMetadata,version:e.version}}function c(t){if(h(t))return t;if("string"==typeof t)try{const e=JSON.parse(t);if(h(e))return e}catch{}return null}function h(t){return!(!t||"object"!=typeof t)&&Object.prototype.hasOwnProperty.call(t,"state")}function g(t,e=r){if(t instanceof Map||t instanceof Set)return e.call(void 0,"",t);if(!n(t))return t;const s={};for(const[r,n]of Object.entries(t))s[r]=e.call(t,r,n);return s}function l(t,e=s){const r=e.call(void 0,"",t);if(!n(r))return r;const i={};for(const t of Object.entries(r)){const s=t[0],n=t[1];i[s]=e.call(r,s,n)}return i}var u=class{constructor(e){this.injectStorageMetadata=!0,this.registrations=new Map,this.isListening=!1,this.onStorageChanged=async(t,e)=>{if(e===this.area)for(const e of this.registrations){const r=e[0],s=e[1];if(s.destroyed)continue;const n=t[this.toStorageKey(r)];if(n&&void 0!==n.newValue)try{const t=this.parsePersistValue(n.newValue);if(!t||t.syncMetadata?.origin===this.sessionId)continue;const e=t?.syncMetadata,r=this.extractChangedFields(s,t.state,e,n.oldValue);if(!Object.keys(r).length)continue;s.registration.apply({replace:!1,sessionId:e?.origin??"unknown",timestamp:e?.timestamp??Date.now(),values:r})}catch(t){continue}}},e&&"storage"in e?(this.area=e.storage.area,this.storageKeyPrefix=e.storage.storageKeyPrefix):(this.area=e?.area??"local",this.storageKeyPrefix=e?.storageKeyPrefix??t),this.sessionId=this.generateSessionId(),this.attachListener()}generateSessionId(){return"undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`${Math.random().toString(36).slice(2)}:${Date.now().toString(36)}`}register(t){this.attachListener();const e={destroyed:!1,hydrated:!0,listeners:new Set,registration:t};return this.registrations.set(t.key,e),{destroy:()=>{e.destroyed=!0,e.listeners.clear(),this.registrations.delete(t.key),this.registrations.size||this.detachListener()},publish:null}}attachListener(){"undefined"!=typeof chrome&&chrome.storage&&!this.isListening&&(this.isListening=!0,chrome.storage.onChanged.addListener(this.onStorageChanged))}detachListener(){"undefined"!=typeof chrome&&chrome.storage&&this.isListening&&(chrome.storage.onChanged.removeListener(this.onStorageChanged),this.isListening=!1)}extractChangedFields(t,e,r,s){const n=Object.create(null),i=r?.fields;if(i&&Object.keys(i).length>0){let r=!1;for(const s of t.registration.fields){const t=String(s);Object.prototype.hasOwnProperty.call(i,t)&&(n[s]=e[s],r=!0)}if(r)return n}const o=this.parsePersistValue(s);for(const r of t.registration.fields){const t=e[r],s=o?.state[r];Object.is(t,s)||(n[r]=t)}return n}toStorageKey(t){return this.storageKeyPrefix?`${this.storageKeyPrefix}${t}`:t}parsePersistValue(t){return a(t)}};function f(t){const e=new i(t);return{storage:e,syncEngine:new u({storage:e})}}export{u as ChromeExtensionSyncEngine,i as ChromeStorageAdapter,f as createSyncedChromeStorage};
@@ -0,0 +1 @@
1
+ var e="undefined"!=typeof window&&"undefined"!=typeof document,t=!1,r="development"===process.env.NODE_ENV,o="test"===process.env.NODE_ENV,n=e=>e();function s(){return"undefined"!=typeof window?window.localStorage:null}var i=class extends Error{constructor(e,t){super(e),this.name="StoresError",this.cause=c(t)}},a={debug:(e,t)=>{r&&console.debug(e,t)},error:(e,t)=>{r&&!o&&console.error(e,t)},info:(e,t)=>{r&&console.info(e,t)},warn:(e,t)=>{r&&console.warn(e,t)}};function c(e){return e instanceof Error?e:new Error(String(e))}var l="stores/core/sync-channel",u=`${l}:storage:`;function d(){try{return"undefined"!=typeof window?window.localStorage:null}catch{return null}}var h,y,g,f=class{constructor(e){this.broadcast=e.broadcast,this.origin=e.origin,this.storeKey=e.storeKey,this.teardown=e.teardown}destroy(){this.teardown()}publish(e){const t=Object.create(null);for(const r of Object.entries(e.values))t[r[0]]=r[1];const r={origin:this.origin,replace:e.replace,sessionId:e.sessionId,storeKey:this.storeKey,timestamp:e.timestamp,values:t};this.broadcast(r)}},p=class{constructor(){this.listeners=new Map,this.origin="undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`${Math.random().toString(36).slice(2)}:${Date.now().toString(36)}`,this.onChannelMessage=e=>{e.data&&this.dispatch(e.data)},this.onStorageEvent=e=>{if(e.key&&e.newValue&&e.key.startsWith(u))try{const t=JSON.parse(e.newValue);this.dispatch(t)}catch(e){a.error(new i("[sync] Failed to parse storage event payload"),{error:e})}},this.channel="undefined"==typeof BroadcastChannel?null:new BroadcastChannel(l),this.storage=d(),this.channel&&this.channel.addEventListener("message",this.onChannelMessage),e&&window.addEventListener("storage",this.onStorageEvent)}get sessionId(){return this.origin}register(e){const t=t=>{if(t.origin===this.origin||t.storeKey!==e.key)return;const r=Object.create(null);for(const o of e.fields)Object.prototype.hasOwnProperty.call(t.values,o)&&(r[o]=t.values[o]);Object.keys(r).length&&e.apply({replace:t.replace,sessionId:t.sessionId,timestamp:t.timestamp,values:r})};let r=this.listeners.get(e.key);return r||(r=new Set,this.listeners.set(e.key,r)),r.add(t),new f({broadcast:e=>this.broadcast(e),origin:this.origin,storeKey:e.key,teardown:()=>this.removeListener(e.key,t)})}broadcast(e){try{this.channel&&this.channel.postMessage(e),this.writeToStorage(e)}catch(e){a.error(new i("[sync] Failed to broadcast update"),{error:e})}}dispatch(e){if(!e.storeKey)return;const t=this.listeners.get(e.storeKey);if(t&&t.size)for(const r of t)r(e)}removeListener(e,t){const r=this.listeners.get(e);r&&(r.delete(t),r.size||this.listeners.delete(e))}writeToStorage(e){if(this.storage||(this.storage=d()),!this.storage)return;const t=`${u}${e.storeKey}`;try{this.storage.setItem(t,JSON.stringify(e))}catch(e){a.error(new i("[sync] Failed to write broadcast payload to storage"),{error:e})}}},w=class{destroy(){}publish(){}},m=class{constructor(){this.sessionId="noop"}register(e){return new w}},v="stores:",b=!1;function S(e){var t;r&&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,a=t),g??(g=I(e))}function E(){return g??(g=I(void 0))}function O(){b=!0}function I(t){return{storage:t?.storage??(r=t?.storageKeyPrefix??v,{clearAll(){try{const e=s();if(!e)return;const t=[];for(let o=0;o<e.length;o++){const n=e.key(o);n?.startsWith(r)&&t.push(n)}for(const r of t)e.removeItem(r)}catch(e){console.error("Error clearing localStorage:",e)}},contains(e){const t=s();return null!==t?.getItem(`${r}${e}`)},delete(e){try{const t=s();t?.removeItem(`${r}${e}`)}catch(e){console.error("Error deleting from localStorage:",e)}},getAllKeys(){try{const e=s();return e?Array.from(e.keys()):[]}catch(e){return console.error("Error getting keys from localStorage:",e),[]}},get(e){try{const t=s();return t?t.getItem(`${r}${e}`)??void 0:void 0}catch(e){return void console.error("Error reading from localStorage:",e)}},set(e,t){try{const o=s();o?.setItem(`${r}${e}`,t)}catch(e){console.error("Error writing to localStorage:",e)}}}),syncEngine:t?.syncEngine??(e?(h||(h=new p),h):(y||(y=new m),y))};var r}function _(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,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 j(e){return!!e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then}function k(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function K(e){if("object"!=typeof e||null===e)return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}export{v as DEFAULT_STORAGE_KEY_PREFIX,e as IS_BROWSER,r as IS_DEV,t as IS_IOS,o as IS_TEST,i as StoresError,S as configureStores,c as ensureError,E as getStoresConfig,k as hasOwn,K as isPlainObject,j as isPromiseLike,a as logger,O as markStoreCreated,_ as replacer,$ as reviver,n as unstable_batchedUpdates};
package/dist/web/index.js CHANGED
@@ -1 +1 @@
1
- var e=require("zustand/middleware"),t=require("zustand/traditional"),r=require("use-sync-external-store/shim/with-selector"),n=require("react"),o="undefined"!=typeof window&&"undefined"!=typeof document,s="development"===process.env.NODE_ENV,i="test"===process.env.NODE_ENV,a="stores-storage";function c(){return"undefined"!=typeof window?window.localStorage:null}var u={clearAll(){try{const e=c();if(!e)return;const t=[],r=`${a}:`;for(let n=0;n<e.length;n++){const o=e.key(n);o?.startsWith(r)&&t.push(o)}for(const r of t)e.removeItem(r)}catch(e){console.error("Error clearing localStorage:",e)}},contains(e){const t=c();return null!==t?.getItem(`${a}:${e}`)},delete(e){try{const t=c();t?.removeItem(`${a}:${e}`)}catch(e){console.error("Error deleting from localStorage:",e)}},getAllKeys(){try{const e=c();return e?Array.from(e.keys()):[]}catch(e){return console.error("Error getting keys from localStorage:",e),[]}},get(e){try{const t=c();return t?t.getItem(`${a}:${e}`)??void 0:void 0}catch(e){return void console.error("Error reading from localStorage:",e)}},set(e,t){try{const r=c();r?.setItem(`${a}:${e}`,t)}catch(e){console.error("Error writing to localStorage:",e)}}},l=class extends Error{constructor(e,t){super(e),this.name="StoresError",this.cause=d(t)}},f={debug:(e,t)=>{s&&console.debug(e,t)},error:(e,t)=>{i||console.error(e,t)},info:(e,t)=>{s&&console.info(e,t)},warn:(e,t)=>{s&&console.warn(e,t)}};function d(e){return e instanceof Error?e:new Error(String(e))}var y="stores/core/sync-channel",p=`${y}:storage:`;function h(){try{return"undefined"!=typeof window?window.localStorage:null}catch{return null}}var g,b,m,S=class{constructor(e){this.broadcast=e.broadcast,this.origin=e.origin,this.storeKey=e.storeKey,this.teardown=e.teardown}destroy(){this.teardown()}publish(e){const t=Object.create(null);for(const r of Object.entries(e.values))t[r[0]]=r[1];const r={origin:this.origin,replace:e.replace,sessionId:e.sessionId,storeKey:this.storeKey,timestamp:e.timestamp,values:t};this.broadcast(r)}},v=class{constructor(){this.listeners=new Map,this.origin="undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`${Math.random().toString(36).slice(2)}:${Date.now().toString(36)}`,this.onChannelMessage=e=>{e.data&&this.dispatch(e.data)},this.onStorageEvent=e=>{if(e.key&&e.newValue&&e.key.startsWith(p))try{const t=JSON.parse(e.newValue);this.dispatch(t)}catch(e){f.error(new l("[sync] Failed to parse storage event payload"),{error:e})}},this.channel="undefined"==typeof BroadcastChannel?null:new BroadcastChannel(y),this.storage=h(),this.channel&&this.channel.addEventListener("message",this.onChannelMessage),o&&window.addEventListener("storage",this.onStorageEvent)}get sessionId(){return this.origin}register(e){const t=t=>{if(t.origin===this.origin||t.storeKey!==e.key)return;const r=Object.create(null);for(const n of e.fields)Object.prototype.hasOwnProperty.call(t.values,n)&&(r[n]=t.values[n]);Object.keys(r).length&&e.apply({replace:t.replace,sessionId:t.sessionId,timestamp:t.timestamp,values:r})};let r=this.listeners.get(e.key);return r||(r=new Set,this.listeners.set(e.key,r)),r.add(t),new S({broadcast:e=>this.broadcast(e),origin:this.origin,storeKey:e.key,teardown:()=>this.removeListener(e.key,t)})}broadcast(e){try{this.channel&&this.channel.postMessage(e),this.writeToStorage(e)}catch(e){f.error(new l("[sync] Failed to broadcast update"),{error:e})}}dispatch(e){if(!e.storeKey)return;const t=this.listeners.get(e.storeKey);if(t&&t.size)for(const r of t)r(e)}removeListener(e,t){const r=this.listeners.get(e);r&&(r.delete(t),r.size||this.listeners.delete(e))}writeToStorage(e){if(this.storage||(this.storage=h()),!this.storage)return;const t=`${p}${e.storeKey}`;try{this.storage.setItem(t,JSON.stringify(e))}catch(e){f.error(new l("[sync] Failed to write broadcast payload to storage"),{error:e})}}},w=class{destroy(){}publish(){}},O=class{constructor(){this.sessionId="noop"}register(e){return new w}},j=!1;function q(){return m??(m=C())}function F(){j=!0}function C(){return{storage:u,syncEngine:o?(g||(g=new v),g):(b||(b=new O),b)}}function I(){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 A=Math.max,k=Math.min;function E(e,t=0,r={}){let n,o,s,i,a,c,u=0,l=!1,f=!1,d=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function y(t){const r=n,s=o;return n=o=void 0,u=t,i=r?e.apply(s,r):e.apply(s),i}function p(e){const r=e-(c??0);return void 0===c||r>=t||r<0||f&&void 0!==s&&e-u>=s}function h(){const e=T();if(p(e))return g(e);a=setTimeout(h,function(e){const r=t-(e-(c??0));return f&&void 0!==s?k(r,s-(e-u)):r}(e))}function g(e){return a=void 0,d&&n?y(e):(n=o=void 0,i)}function b(...e){const r=T(),s=p(r);if(n=e,o=this,c=r,s){if(void 0===a)return function(e){return u=e,a=setTimeout(h,t),l?y(e):i}(c);if(f)return clearTimeout(a),a=setTimeout(h,t),y(c)}return void 0===a&&(a=setTimeout(h,t)),i}return t=K(t)||0,function(e){const t=typeof e;return null!==e&&("object"===t||"function"===t)}(r)&&(l=!!r.leading,f="maxWait"in r,s=f?A(K(r.maxWait)||0,t):void 0,d="trailing"in r?!!r.trailing:d),b.cancel=function(){void 0!==a&&clearTimeout(a),u=0,n=c=o=a=void 0},b.flush=function(){return void 0===a?i:g(T())},b}function T(){return"undefined"!=typeof performance&&"function"==typeof performance.now?performance.now():Date.now()}function K(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 M(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 D(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 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},$=i?0:o?x.ms(200):x.seconds(5);function L(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?M:void 0)}catch(e){throw f.error(new l("[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?z:void 0)}catch(e){throw f.error(new l("[createBaseStore]: Failed to serialize Rainbow store data"),{error:e}),e}}(t,e)}var R=Object.freeze({shouldClear:!1});function N(e,t,r){if(!t||!e)return R;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 W(e,t){e&&t.shouldClear&&t.fieldSnapshot&&Object.keys(t.fieldSnapshot).length&&e.clearFieldTimestamps(t.fieldSnapshot)}function _(e){return!!e&&!!e.getIsApplyingRemote()}function Q(e,...t){return!0===t[1]?X(t[0])?t[0](e):t[0]:{...e,...X(t[0])?t[0](e):t[0]}}function U(e,t){B(e)?e.getState().reset(t?.clearQueryCache):function(e){return"destroy"in e}(e)&&e.destroy()}function V(e){return H(e)?e.persist.getOptions().name??e.name:e.name}function J(e){return"getSnapshot"in e}function B(e){return"_queryStore"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,r){if(!e)return!0;const n=e[Y],o=e[Z];return!(t<n)&&(t>n||r>o)}function te(e,t){return Object.prototype.hasOwnProperty.call(t,e)}function re(e,t){if(!s)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 ne(e){if(null===e)return"null";const t=typeof e;return"object"===t?Object.prototype.toString.call(e):t}function oe(r,n){F();const o=void 0!==n&&"string"==typeof n.storageKey,s=o?n.storageKey:void 0,i=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,s):void 0,a=o?n.storage??q().storage:void 0,c=i?function(e,t,r){const n=t.engine??q().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:(s,i,a)=>{const c=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?s(e,t):s(e);const r=(()=>{const e=Date.now(),t=e>g?e:g+1;return g=t,t})();let o=[],i=Object.create(null);const a=n=>{const s=Q(n,e,t);for(const e of m)Object.is(s[e],n[e])||(o.push(e),i[e]=s[e]);return o.length&&w(r,o),s},u=t?s(a,!0):s(a),l=()=>{o.length&&(e=>{const t=n.sessionId;for(const r of e.keys)c.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:i,timestamp:r})};return(f=u)&&"object"==typeof f&&"then"in f&&"function"==typeof f.then?u.finally(l):(l(),u);var f},j=a.setState;a.setState=O;const q=e(O,i,a);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=i(),s=e.timestamp;let a;if(e.replace)for(const t of m)te(t,e.values)||ee(c.get(t),s,e.sessionId)&&(a??(a=[])).push(t);for(const o of m){if(!te(o,e.values))continue;if(!b?.has(o))continue;if(!ee(c.get(o),s,e.sessionId))continue;const i=t.merge?.[o];if(i){const t=e.values[o],a=n[o];if(void 0!==t){const u=i(t,a,n,e.values),d=void 0!==a?a:t;if(!re(u,d))return void f.error(new l(`[sync] Merge function for field "${String(o)}" returned ${ne(u)} but expected ${ne(d)}`));r[o]=u,c.set(o,[s,e.sessionId])}}else r[o]=e.values[o],c.set(o,[s,e.sessionId])}if(Object.keys(r).length>0||a?.length){p=!0,o&&o.setIsApplyingRemote(!0);try{if(e.replace){const e={...n};let t=!1;if(a?.length){t=!0;for(const t of a)delete e[t],c.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)}}},C=e=>{r?S=S.then(()=>F(e)):F(e)};y=n.register({apply:e=>{v?C(e):u.push(e)},delta:t.delta,fields:m,getState:i,key:t.key});const I=()=>{h=!0,(()=>{if(y&&d.length){for(const e of d){const t=n.sessionId;for(const r of e.keys)c.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}})()},A=()=>{v=!0,(()=>{if(!u.length)return;const e=u.slice();u.length=0;for(const t of e)C(t)})()};return r&&o?(o.onHydrationComplete=I,o.onHydrationFlushEnd=A):y.onHydrated?(y.onHydrated(I),A()):(I(),A()),q},syncContext:o}}(r,i,a?.async??!1):void 0,u=c?.stateCreator??r;if(!o)return t.createWithEqualityFn()(e.subscribeWithSelector(u),Object.is);const y=a?.async?function(e){let t,r,n,o=!1;return{hydrationPromise:()=>o?t?.promise??r??(r=Promise.resolve()):(t||(t=I()),t.promise),stateCreator:(r,s,i)=>{let a;return n=()=>{if(a?.length){for(const e of a)e[1]?i.setState(e[0],e[1]):i.setState(e[0]);a=void 0}},e((...e)=>o?!0===e[1]?r(e[0],e[1]):r(e[0]):(t||(t=I()),a||(a=[]),a.push(e),t.promise),s,i)},wrapOnRehydrateStorage:(e,r)=>s=>{const i=e?.(s);return(e,s)=>{o=!0,r?.onHydrationComplete?.(),n&&n(),r?.onHydrationFlushEnd?.(),s?t?.fail(d(s)):t?.complete(),i?.(e,s)}}}}(u):null,p=function(e,t,r){const n=t??e.storage??q().storage,o=(e.sync?void 0:e.persistThrottleMs??$)||void 0,s=e.version??0,i=n.async?function(e,t,r,n){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),s="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),i=t.partialize??D,a=t.deserializer??e.deserializer??L(o),c=t.serializer??e.serializer??P(o);async function u(t,r){try{if(_(n))return;r.state=i(r.state);const o=N(n,s,r),a=c(r);try{await e.set(t,a),W(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?E(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:a(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),s="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),i=t.partialize??D,a=t.deserializer??e.deserializer??L(o),c=t.serializer??e.serializer??P(o);function u(t,r){try{if(_(n))return;r.state=i(r.state);const o=N(n,s,r),a=c(r);try{e.set(t,a),W(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?E(u,r,{leading:!1,maxWait:r,trailing:!0}):u;return{getItem:t=>{const r=e.get(t);return void 0===r?null:a(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:i,version:s}}(n,a,c?.syncContext),h=y?y.wrapOnRehydrateStorage(n.onRehydrateStorage,c?.syncContext):n.onRehydrateStorage,g=y?(e,t,r)=>(c&&(c.syncContext.setWithoutPersist=r.setState),y.stateCreator(e,t,r)):u,b=t.createWithEqualityFn()(e.subscribeWithSelector(e.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 se(e,t,r="s"){return 1===t?e:`${e}${r}`}function ie(e,t,r){const n=t.get(e);if(!n){const n=function(e,t,r,n=[]){return e&&"object"==typeof e?ae(e,n,t,r,new WeakSet,new WeakMap):(r(t,n,!0),e)}(J(e)?e.getSnapshot():e.getState(),e,r);return t.set(e,n),n}return n}function ae(e,t,r,n,o,s){return new Proxy(e,{get(i,a,c){if(o.has(i))return Reflect.get(i,a,c);if("__proto__"===a||"symbol"==typeof a)return a===Symbol.iterator&&(n(r,t,!0),o.add(i)),Reflect.get(i,a,c);const u=Reflect.get(i,a,i),l=String(a),f=t.concat(l);if("function"==typeof u)return Object.prototype.hasOwnProperty.call(i,a)?function(...e){return n(r,f,!0,{method:l,args:e.length?e:void 0}),Reflect.apply(u,i,e)}:(n(r,t,!0),u.bind(e));const d=!!u&&"object"==typeof u;return n(r,f,!d),d?(s.has(u)||s.set(u,ae(u,f,r,n,o,s)),s.get(u)):u},getOwnPropertyDescriptor:(e,s)=>(n(r,t,!0),o.add(e),Reflect.getOwnPropertyDescriptor(e,s)),has:(e,o)=>(n(r,t,!0),Reflect.has(e,o)),ownKeys:e=>(n(r,t,!0),o.add(e),Reflect.ownKeys(e))})}function ce(e){return t=>le(t,e)}function ue(e,t){const r=e.slice(0,-1);return e=>{const n=le(e,r),o=n?.[t.method];return"function"==typeof o?o.apply(n,t.args):void 0}}function le(e,t){let r=e;for(const e of t){if(!r||"object"!=typeof r)return r;r=r[e]}return r}function fe(){const e=new Map;return{buildProxySubscriptions(t,r){const n=new Set;for(const[t,r]of e)pe(r,t,[],0,n);!function(e,t,r){for(const r of e)t(r.store,r.invocation?ue(r.path,r.invocation):ce(r.path));r&&function(e){const t=e.size;console.log(`[πŸ“‘ ${t} ${se("Proxy Subscription",t)} πŸ“‘]:`,JSON.stringify(Array.from(e).map(e=>{const t=V(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}_${se("arg",n)})`:"()"}`}),null,2))}(e)}(n,t,r)},trackPath(t,r,n,o){let s=e.get(t);s||(s=de(),e.set(t,s)),ye(s,r,0,n,o)}}}function de(){return Object.create(null)}function ye(e,t,r,n,o){if(r===t.length)return n&&(e.isLeaf=!0),void(o&&(e.invocation=o));e.children||(e.children=de());const s=t[r];let i=e.children?.[s];i||(i=de(),e.children[s]=i),ye(i,t,r+1,n,o)}function pe(e,t,r,n,o,s=1){const i=e.children;if(!i)return void o.add({store:t,path:r,invocation:e.invocation,isLeaf:e.isLeaf??!1});const a=Object.keys(i),c=a.length;if(0!==c)if(e.isLeaf||n>=s&&c>1){o.add({store:t,path:r,invocation:e.invocation,isLeaf:e.isLeaf??!1});for(const e of a){const a=i[e];a.invocation&&pe(a,t,[...r,e],n+1,o,s)}}else if(n<s&&c>1&&!e.isLeaf)for(const e of a)pe(i[e],t,[...r,e],n+1,o,s);else{if(1===c){const e=a[0];return void pe(i[e],t,[...r,e],n+1,o,s)}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 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,(()=>{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 Fe(e,t){he&&be.set(e,t)}var Ce=e=>e;function Ie(e,t=Object.is){return n=function(e,t=Object.is){const{debounceOptions:r,debugMode:n,equalityFn:o,keepAlive:i,lockDependencies:a}="function"==typeof(l=t)?{debounceOptions:void 0,debugMode:!1,equalityFn:l,keepAlive:!1,lockDependencies:!1}:{debounceOptions:l.debounce,debugMode:(s&&l.debugMode)??!1,equalityFn:l.equalityFn??Object.is,keepAlive:l.keepAlive??!1,lockDependencies:l.lockDependencies??!1},c=String(ke+=1),u=new Set;var l;i&&u.add(Ee);const f=new Set;let d,y,p=Ae,h=!1,g=!0,b=!0,m=!0,S=0,v=!1,w=null,O=Ae;function j(e,t,r){if(!m||!u.size)return(t??Ce)(J(e)?e.getSnapshot():e.getState());if(!t)return d||(d=new WeakMap),y||(y=fe()),ie(e,d,y.trackPath);const n=e.subscribe(t,M,{equalityFn:r??Object.is,isDerivedStore:!0});return f.add(n),t(J(e)?e.getSnapshot():e.getState())}function q(e){for(const t of f)t(e);f.clear()}function F(){if(!b&&Te(p))return p;b=!1,m&&q(!0);const t=p,r=Te(t);p=function(t){g=!0;const r=p,s=e(t);return Te(r)&&o(r,s)?(n&&console.log("[πŸ₯· Derive Complete πŸ₯·]: No change detected"),g=!1,r):s}(j);const s=n&&(!r||"verbose"===n&&m);if(s){r?"verbose"===n&&console.log("[πŸŒ€ Rebuilding Subscriptions πŸŒ€]: Created…"):console.log("[πŸŒ€ Initial Derive Complete πŸŒ€]: Created…");const e=f.size;console.log(`[🎯 ${e} ${se("Selector Subscription",e)} 🎯]`)}return y&&m&&(y.buildProxySubscriptions((e,t)=>{const r=e.subscribe(t,M,{equalityFn:Object.is,isDerivedStore:!0});f.add(r)},s),d=void 0,y=void 0),g&&r&&function(e,t){const r=function(){const e=u.has(Ee)?u.size-1:u.size;return S>0&&S<e}(),o=!S||r,s=r||null!==je()||Oe()&&o;r&&qe(),n&&console.log(`[πŸ“» Derive Complete πŸ“»]: Notifying ${u.size} ${se("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)}}s?v||(v=!0,Te(O)||(O=t),Fe(c,I)):C(e,t)}(p,t),a&&(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&&F(),!Te(p))return;const e=Te(O)?O:p;C(p,e)}(),v=!1,O=Ae)}const A=r?E(T,"number"==typeof r?r:r.delay,"number"==typeof r?{leading:!1,maxWait:r,trailing:!0}:r):void 0,k=A??(()=>{h||(h=!0,queueMicrotask(T))});function T(){u.size&&(h=!1,b&&F())}function K(e){e?queueMicrotask(()=>{u.size||x()}):x()}function z(){T(),w=null}function M(){if(!b){if(b=!0,!A){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 r=t<0?0:0|t,n=me.get(e);if(void 0===n){me.set(e,r);let t=Se.get(r);return t||(t=new Set,Se.set(r,t)),t.add(e),void(r<we&&(we=r))}if(r>n){const t=Se.get(n);if(t&&(t.delete(e),0===t.size&&(Se.delete(n),n===we))){we=1/0;for(const e of Se.keys())e<we&&(we=e)}me.set(e,r);let o=Se.get(r);o||(o=new Set,Se.set(r,o)),o.add(e),r<we&&(we=r)}}(z,t)}if(Oe())return void(v||(v=!0,Te(p)&&(O=p),Fe(c,I)))}w=null,S&&!r?F():k()}}function D(){return b||!Te(p)?u.size>0?F():e(j):p}function x(e=!0){i&&e||(A?.cancel(),q(),u.clear(),S=0,y=void 0,d=void 0,m=!0,h=!1,b=!0,p=Ae,v=!1,O=Ae,w=null)}return{destroy:()=>x(!1),flushUpdates:function(){u.size&&(A?A.flush():b&&F())},getSnapshot:function(){if(!Te(p)){u.add(Ee);const e=F();return u.delete(Ee),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||Te(p)||D(),()=>{u.delete(t),u.size||K(!1)}}const[t,r,n]=e,o=n?.equalityFn??Object.is,s=n?.isDerivedStore??!1,i={currentSlice:void 0,equalityFn:o,isDerivedWatcher:s,listener:r,selector:t};return u.add(i),i.currentSlice=t(D()),s&&(S+=1),n?.fireImmediately&&r(i.currentSlice,i.currentSlice),()=>{u.delete(i),s&&(S-=1),u.size||K(s)}},getInitialState:()=>{throw new Error("[createDerivedStore]: getInitialState() is not available on derived stores.")},setState:()=>{throw new Error("[createDerivedStore]: setState() is not available on derived stores.")}}}(e,t),Object.assign(function(e=Ce,t=void 0){return r.useSyncExternalStoreWithSelector(n.subscribe,n.getSnapshot,void 0,e,t)},n);var n}var Ae=Symbol(),ke=0;function Ee(){}function Te(e){return e!==Ae}var Ke=class{constructor({disableAutoRefetching:e,initialEnabled:t}){this.count=0,this.enabled=!1,this.lastSubscriptionTime=null,this.fetchThrottleMs=null,this.onSubscribe=null,this.onLastUnsubscribe=null,this.enabled=t,e&&(this.fetchThrottleMs=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)}}},ze={Error:"error",Idle:"idle",Loading:"loading",Success:"success"};function Me(e,t){const r=Object.prototype.hasOwnProperty;function n(e,t){for(const r of e.keys())if(Me(r,t))return r}let o,s,i;if(e===t)return!0;if(e&&t&&(o=e.constructor)===t.constructor){if(o===Date)return e.getTime()===t.getTime();if(o===RegExp)return e.toString()===t.toString();if(o===Array){if((s=e.length)===t.length)for(;s--&&Me(e[s],t[s]););return-1===s}if(o===Set){if(e.size!==t.size)return!1;for(let r of e){if(i=r,i&&"object"==typeof i&&(i=n(t,i),!i))return!1;if(!t.has(i))return!1}return!0}if(o===Map){if(e.size!==t.size)return!1;for(let r of e){if(i=r[0],i&&"object"==typeof i&&(i=n(t,i),!i))return!1;if(!Me(r[1],t.get(i)))return!1}return!0}if(o===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(o===DataView){if((s=e.byteLength)===t.byteLength)for(;s--&&e.getInt8(s)===t.getInt8(s););return-1===s}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){const r=e,n=t;if((s=r.byteLength)===n.byteLength)for(;s--&&r[s]===n[s];);return-1===s}if(!o||"object"==typeof e){s=0;for(const n in e){if(r.call(e,n)&&++s&&!r.call(t,n))return!1;if(!(n in t)||!Me(e[n],t[n]))return!1}return Object.keys(t).length===s}}return e!=e&&t!=t}var De=new WeakMap,xe=new WeakMap;function $e(e,t=Le,r=Me){return function(e,t,r){let n=xe.get(e);n||(n=new Map,xe.set(e,n));let o=n.get(t);o||(o=new Map,n.set(t,o));const s=o.get(r);if(s)return s;const[i,a,c]=Re(e,t,r),u=new Map,l=e=>{const t={get(t,r){if("value"===r){let t=a();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,s=u.get(o);if(s)return s;const c=l(o);return De.set(c,i),u.set(o,c),c},set(t,r,n){const o=e.split(".");return""===o[0]&&o.shift(),c(o,n),!0}};return new Proxy(Object.create(null),t)},f=l("");return i(()=>{}),De.set(f,i),o.set(r,f),f}(e,t,r)}var Le=e=>e,Pe=(e,t,r)=>{if(!t.length)return r;const[n,...o]=t,s=e[n],i=Pe(s,o,r);if(Me(s,i))return e;const a=Array.isArray(e)?e.slice():{...e};return a[n]=i,a},Re=(e,t,r)=>{const n=new Set,o=J(e);let s,i=t(o?e.getSnapshot():e.getState());return[a=>(n.size||(s=e.subscribe(t,e=>{i=e,n.forEach(e=>e())},{equalityFn:r,isDerivedStore:o})),n.add(a),()=>{n.delete(a),!n.size&&s&&(s(),s=void 0)}),()=>(n.size||(i=t(e.getState())),i),(r,n)=>{if(t!==Le)throw new Error("Cannot set a value with a selector");e.setState(e=>Pe(e,r,n),!0)}]};function Ne(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var[We,_e]=[!0,!1],Qe={error:We,lastFetchedAt:We,queryCache:We,queryKey:We,status:We,enabled:_e,fetch:_e,getCacheEntry:_e,getData:_e,getStatus:_e,isDataExpired:_e,isStale:_e,reset:_e},Ue=x.seconds(5);function Ve(e,t){const r=t?.baseDelay??x.seconds(5),n=t?.maxDelay??x.minutes(5),o=Math.pow(2,e);return Math.min(r*o,n)}function Je(e){return JSON.stringify(Object.keys(e).sort().map(t=>e[t]))}function Be(e){return JSON.stringify(He(e))}function He(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?He(n):n,t},{})}function Ge(e,t,r,n){return n?Ze(n,r)?n:{...Xe(e,t),...n}:Xe(e,t)}function Xe(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 Ye(){return Object.create(null)}function Ze(e,t){if(!e)return!1;for(const r of t)if(!(r in e))return!1;return!0}function et(e,t,r){if(!r.queryCache)return r;const n=Date.now(),o=t??(e&&r.queryKey||null);let s=!1;const i=Object.create(null);for(const e in r.queryCache){if(!Ne(r.queryCache,e))continue;const a=r.queryCache[e];a&&(n-(a.lastFetchedAt??a.errorInfo.lastFailedAt)<a.cacheTime||e===o)?!t&&a.errorInfo&&a.errorInfo.retryCount>0?(i[e]={...a,errorInfo:{...a.errorInfo,retryCount:0}},s=!0):i[e]=a:s=!0}return s?{...r,queryCache:i}:r}function tt(e){return"function"==typeof e}function rt(e){return!tt(e)}function nt(e,t){return r=>{const n={...r},o={};for(const e in n)Ne(n,e)&&e in Qe&&(Qe[e]&&(o[e]=n[e]),delete n[e]);return{...t?t(n):D(n),...et(e,null,o)}}}var ot=Symbol(),st=Object.freeze({debugMode:!1,enabled:!0,equalityFn:Object.is,fireImmediately:!1}),it=Object.freeze({fireImmediately:!1,forceResubscribe:!1});function at(e,t,r=it){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=it)=>at(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 ct(e){return"function"==typeof e?{equalityFn:e}:e??st}var ut=Symbol();function lt(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 ft(e,t){return"function"==typeof e[t]}exports.QueryStatuses=ze,exports.applyStateUpdate=Q,exports.configureStores=function(e){if(m??(m=C()),s&&j)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,f=t),e.storage&&(m.storage=e.storage),e.syncEngine&&(m.syncEngine=e.syncEngine)},exports.createBaseStore=oe,exports.createDerivedStore=Ie,exports.createQueryStore=function(e,t,r){F();const n="function"==typeof t?t:Ye,o="object"==typeof t?t:r,a=o&&"storageKey"in o?o:void 0,{fetcher:c,onError:u,onFetched:y,setData:p,transform:h,abortInterruptedFetches:g=!0,cacheTime:b=x.days(7),debugMode:m=!1,disableAutoRefetching:S=!1,disableCache:v=!1,enabled:w=!0,keepPreviousData:O=!1,maxRetries:j=5,paramChangeThrottle:q=!1,params:C,retryDelay:I=Ve,suppressStaleTimeWarning:A=!1,useParsableQueryKeys:k=!0}=e;let T="function"==typeof e.staleTime?x.minutes(2):e.staleTime??x.minutes(2);s&&!S&&!A&&T<Ue&&console.warn(`[createQueryStore${a?.storageKey?`: ${a.storageKey}`:""}] ❌ Stale times under ${Ue/1e3} seconds are not recommended. Provided staleTime: ${T/1e3} seconds`);const K=k?Be:Je,z=new Error("[createQueryStore: AbortError] Fetch interrupted"),M="function"==typeof b,D=s&&m,$=Object.keys(e.params??Object.create(null));let L=null,P=null,R=null,N=[],W=!1,_=!1,Q=null,U=null,V=null,J=null,B=null;const H={enabled:"function"!=typeof w&&w,error:null,lastFetchedAt:null,queryCache:{},queryKey:"",status:ze.Idle},G=new Ke({disableAutoRefetching:S,initialEnabled:H.enabled}),X=()=>{Q&&(U=null,Q.abort(),Q=null)},Y=(t,r,o)=>{const s=o.setState,i=(e,t)=>{const r="function"==typeof e;if(r||void 0!==e.enabled){let t;const n=s(n=>{const s=r?e(n):e,i=void 0!==s.enabled?s.enabled:n.enabled;return i!==n.enabled&&(t=()=>((e,t)=>{e!==t&&B!==t&&(B=t,G.setEnabled(t),t?queueMicrotask(()=>o.getState().fetch(void 0,{updateQueryKey:!0})):(V||g)&&(g&&X(),V&&(clearTimeout(V),V=null)))})(n.enabled,i)),s});return t?.(),n}return s(e)};o.setState=i,G.init({onSubscribe:(n,o,s)=>{if(P||L||!C&&"function"!=typeof e.enabled&&"function"!=typeof e.staleTime){if(n)if(o){const e=Xe(L,P),n=K(e),o=r();o.queryKey!==n&&t(e=>({...e,queryKey:n})),o.isStale()?w.fetch(e,void 0,!0):m(e,void 0)}else S&&!s&&w.fetch(void 0,void 0,!0)}else W=!0},onLastUnsubscribe:e=>{V&&(clearTimeout(V),V=null),g&&!e&&X()}});const m=(e,t)=>{if(S||t?.skipStoreUpdates)return;if(T<=0||T===1/0)return;V&&(clearTimeout(V),V=null);const n=K(e),o=r(),s=(v?J===n&&o.lastFetchedAt:o.queryCache[n]?.lastFetchedAt)||null,i=s?T-(Date.now()-s):T;V=setTimeout(()=>{const t=G.get();t.enabled&&t.subscriptionCount>0&&w.fetch(e,{force:!0},!0)},i)},w={...n(i,r,o),...H,async fetch(e,n,o=!1){const s=G.get();if(!n?.force&&!n?.skipStoreUpdates&&!s.enabled)return null;const S=r(),q=S.error,F=S.queryKey,C=S.status,A=Ge(L,P,$,e),k=K(A),E=n?.staleTime??T,x=C===ze.Loading,R=!!n?.skipStoreUpdates,N="boolean"==typeof n?.updateQueryKey?n.updateQueryKey:o?O:!R,W=o||!R&&(N||F===k);if(U?.promise&&U.key===k&&x)return D&&console.log("[πŸ”„ Using Active Fetch πŸ”„] for params:",JSON.stringify(A)),U.promise;if(g&&!R&&!1!==n?.updateQueryKey&&X(),!n?.force){const e=S.lastFetchedAt,r=S.queryCache[k],o=r?.lastFetchedAt,i=r?.errorInfo,a=i&&i.retryCount>=j,c=(v?J===k&&e:o)||null;if(c&&!(Date.now()-c>=E)&&(!i||a||R))return W&&!R&&!V&&s.subscriptionCount>0&&0!==T&&T!==1/0&&m(A,n),N&&t(e=>e.queryKey!==k?{...e,queryKey:k}:e),D&&console.log("[πŸ’Ύ Returning Cached Data πŸ’Ύ] for params:",JSON.stringify(A)),r?.data??null}!R&&W&&(V&&(clearTimeout(V),V=null),!q&&x||t(e=>({...e,error:null,status:ze.Loading})),U={key:k});const _=n?.cacheTime??(M?b(A):b),B=async()=>{try{D&&(o||!e||Ze(e,$)?console.log("[πŸ”„ Fetching πŸ”„] for params:",JSON.stringify(A)):console.log("[πŸ”„ Fetching with Partial Params πŸ”„]\n","- Provided params:",`${JSON.stringify(e)}\n`,"- Filled in params:",`${JSON.stringify(Object.fromEntries(Object.keys(A).filter(t=>!(t in e)).map(e=>[e,A[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(c(e,t)).then(r,n)})}finally{Q===t&&(Q=null)}})(A):c(A,null)),s=Date.now();let u;D&&console.log("[βœ… Fetch Successful βœ…] for params:",JSON.stringify(A));try{u=h?h(r,A):r}catch(e){throw new l(`[createQueryStore: ${a?.storageKey||k}]: transform failed`,e)}if(R)return D&&console.log("[πŸ₯· Successful Parallel Fetch πŸ₯·] for params:",JSON.stringify(A)),"withCache"===n.skipStoreUpdates&&t(e=>{if(!p)return v?{...e,queryCache:{...e.queryCache,[k]:{cacheTime:_,data:u,errorInfo:null,lastFetchedAt:s}}}:e;let t=e;const r=t.queryCache[k];return p({data:u,params:A,queryKey:k,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!v&&Object.is(r,t.queryCache[k])&&(t={...t,queryCache:{...t.queryCache,[k]:{cacheTime:_,data:u,errorInfo:null,lastFetchedAt:s}}}),t}),u;if((p?i:t)(e=>{let t={...e,error:null,lastFetchedAt:s,queryKey:N?k:e.queryKey,status:ze.Success};if(p||v){if(p){D&&console.log("[πŸ’Ύ Setting Data πŸ’Ύ] for params:",JSON.stringify(A));const e=t.queryCache[k];p({data:u,params:A,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:s}})}}else D&&console.log("[πŸ’Ύ Setting Cache πŸ’Ύ] for params:",JSON.stringify(A),"| Has previous data?:",!!t.queryCache[k]?.data),t.queryCache={...t.queryCache,[k]:{cacheTime:_,data:u,errorInfo:null,lastFetchedAt:s}};return v||b===1/0?t:et(O,k,t)}),W&&(J=k,m(A,n)),y)try{y({data:u,fetch:w.fetch,params:A,set:i})}catch(e){f.error(new l(`[createQueryStore: ${a?.storageKey||k}]: onFetched callback failed`,e))}return u??null}catch(s){if(s===z)return D&&console.log("[❌ Fetch Aborted ❌] for params:",JSON.stringify(A)),null;const i=!o&&!0===n?.throwOnError,c=d(s);if(R||!W){if(f.error(new l(`[createQueryStore: ${a?.storageKey||k}]: Failed to fetch data`,c)),i)throw c;return null}const y=v?void 0:r().queryCache[k],p=y?.errorInfo?.retryCount??0,h=p+1;if(u?.(c,p),p<j){if(G.get().subscriptionCount>0){const t="function"==typeof I?I(h,c):I;t!==1/0&&(V&&clearTimeout(V),V=setTimeout(()=>{const{enabled:t,subscriptionCount:r}=G.get();t&&r>0&&w.fetch(e,{force:!0},!0)},t))}t(e=>({...e,error:c,queryCache:{...e.queryCache,[k]:{cacheTime:y?.cacheTime??_,data:y?.data??null,lastFetchedAt:y?.lastFetchedAt??null,errorInfo:{error:c,lastFailedAt:Date.now(),retryCount:h}}},queryKey:N?k:e.queryKey,status:ze.Error}))}else t(e=>({...e,error:c,queryCache:{...e.queryCache,[k]:{cacheTime:y?.cacheTime??_,data:y?.data??null,lastFetchedAt:y?.lastFetchedAt??null,errorInfo:{error:c,lastFailedAt:Date.now(),retryCount:j}}},queryKey:N?k:e.queryKey,status:ze.Error}));if(f.error(new l(`[createQueryStore: ${a?.storageKey||k}]: Failed to fetch data`,c)),i)throw c;return null}finally{!R&&W&&(U=null)}};return R||!W?B():(U={key:k,promise:B()}).promise},getCacheEntry(e){if(v)return null;const t=r(),n=e?"string"==typeof e?e:K(Ge(L,P,$,e)):t.queryKey;return t.queryCache[n]??null},getData(e){if(v)return null;const t=r().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 r().status===ze.Idle;case"isLoading":return r().status===ze.Loading;case"isSuccess":{const e=r(),t=e.queryCache[e.queryKey]?.lastFetchedAt;return"number"==typeof t||e.status===ze.Success}case"isError":case"isInitialLoad":case void 0:{const t=r(),n=t.queryCache[t.queryKey],o=(v?J===t.queryKey&&t.lastFetchedAt:n?.lastFetchedAt)||null,s=t.status;switch(e){case"isError":{const e=t.queryCache[t.queryKey];return v?"error"!==s:"number"==typeof e?.errorInfo?.lastFailedAt}case"isInitialLoad":return!o&&s===ze.Loading}return{isError:s===ze.Error,isIdle:s===ze.Idle,isLoading:s===ze.Loading,isInitialLoad:!o&&s===ze.Loading,isSuccess:s===ze.Success}}}},isDataExpired(e){const t=r(),n=t.queryCache[t.queryKey],o=t.queryKey,s=t.lastFetchedAt,i=(v?J===o&&s:n?.lastFetchedAt)||null;if(!i)return!0;const a=e??n?.cacheTime;return void 0===a||Date.now()-i>=a},isStale(e){const t=r(),n=t.queryKey,o=(v?J===n&&t.lastFetchedAt:t.queryCache[n]?.lastFetchedAt)||null;if(!o)return!0;const s=e??T;return Date.now()-o>=s},reset(e=!1){for(const e of N)e();N=[],L=null,P=null,R=null,X(),V&&(clearTimeout(V),V=null),U=null,J=null,e&&t(e=>({...e,...H}))}},q=o.subscribe;return o.subscribe=(...e)=>{const t=_?()=>{}:G.subscribe(),r=1===e.length?q(e[0]):q(...e);return e=>{t(e),r()}},w},Z=a?.storageKey?oe(Y,Object.assign(Object.create(null),a,{partialize:nt(O,a.partialize)})):o&&!("storageKey"in o)?oe(Y,o):oe(Y),ee=Z.getState(),te=ee.error,re=ee.enabled,ne=ee.queryKey;if(ne&&!te&&(J=ne),_=!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),s=Object.create(null);for(const e in t){if(!Ne(t,e))continue;const i=t[e];if(tt(i)){const t=i($e,r);n[e]=t,s[e]=t.value}else rt(i)&&(o[e]=i,s[e]=i)}let i,a=null,c=null;if(tt(e)){const t=e($e,r);i=t.value,a=t}else i=e,c=e;return{attachVals:n,directValues:o,enabledAttachVal:a,enabledDirectValue:c,resolvedEnabled:i,resolvedParams:s}}(w,C,Z);L={enabled:t,params:n},P={enabled:r,params:e}}"function"==typeof e.staleTime&&(R=e.staleTime($e,Z),T=R.value);const se=function(){let e,t=!1;return function(...r){e=r,t||(t=!0,queueMicrotask(()=>{t=!1,(e=>{ee.fetch(e??Xe(L,P),{updateQueryKey:O})})(...e)}))}}();function ie(){let e;if(!O){e=Xe(L,P);const t=K(e);Z.setState(e=>({...e,queryKey:t}))}se(e)}const ae=i||!q?ie:E(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=De.get(e);if(t){let r=e.value;re!==r&&Z.setState(e=>({...e,enabled:r})),r&&G.setEnabled(r),D&&console.log("[πŸŒ€ Enabled Subscription πŸŒ€] Initial value:",r);const n=t(()=>{const t=e.value;t!==r&&(D&&console.log("[πŸŒ€ Enabled Change πŸŒ€] - [Old]:",`${r},`,"[New]:",t),r=t,Z.setState(e=>({...e,enabled:t})))});N.push(n)}}else re!==H.enabled&&Z.setState(e=>({...e,enabled:H.enabled}));for(const e in L?.params){const t=L.params[e];if(!t)continue;const r=De.get(t);if(D&&console.log("[πŸŒ€ Param Subscription πŸŒ€] Subscribed to param:",e),r){let n=t.value;const o=r(()=>{const r=t.value;Me(n,r)||(D&&console.log("[πŸŒ€ Param Change πŸŒ€] -",e,"- [Old]:",`${n?.toString()},`,"[New]:",r?.toString()),n=r,ae())});N.push(o)}}if(R){const e=De.get(R);if(e){const t=R;let r=t.value;D&&console.log("[πŸŒ€ StaleTime Subscription πŸŒ€] Initial value:",r);const n=e(()=>{const e=t.value;e!==r&&(D&&console.log("[πŸŒ€ StaleTime Change πŸŒ€] - [Old]:",`${r},`,"[New]:",e),r=e,T=e,Z.getState().fetch())});N.push(n)}}return _=!1,W&&queueMicrotask(ae),ce=Z,ue="_queryStore",Object.assign(ce,{[ue]:!0});var ce,ue},exports.createStoreActions=function(e,t){const r=function(e){const t=e.getState(),r=Object.create(null);if(s&&("object"!=typeof t||null===t))throw new Error("[createStoreActions]: State is not an object");if(G(e)){for(const n in t)ft(t,n)&&(r[n]=lt(e,n));return r}for(const e in t)ft(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,s=n?r:t,i=new Set,a=Ie(e,{debugMode:s?.debugMode??!1,equalityFn:function(e,t){const r=Object.is(e,t);return r||(function(e,t){for(const r of i){r.unsubscribe();const n=r.args;if(1===n.length){const o=n[0],s=e.getState(),i=t.getState(),a=t.subscribe(o);r.unsubscribe=a,Object.is(i,s)||o(i,s);continue}const o=n[0],s=n[1];let i=n[2];i?.fireImmediately&&(i={...i,fireImmediately:!1});const a=i?.equalityFn??Object.is,c=o(e.getState()),u=o(t.getState()),l=t.subscribe(...n);r.unsubscribe=l,a(c,u)||s(u,c)}}(e,t),U(e)),r},keepAlive:!0,lockDependencies:s?.lockDependencies??!0}),c=a.getState().persist,u=(l=a.getState,function(e,t){return t?l().setState(e,t):l().setState(e)});var l;return Object.assign(function(e,t){const r=a();return e?r(e,t):r()},{_virtualStore:!0,destroy:()=>a.destroy(),getInitialState:()=>a.getState().getInitialState(),getState:()=>a.getState().getState(),persist:c,setState:u,subscribe:function(...e){const t={args:e,unsubscribe:1===e.length?a.getState().subscribe(e[0]):a.getState().subscribe(...e)};return i.add(t),()=>{t.unsubscribe(),i.delete(t)}}},o?o(a.getState):void 0)},exports.deepEqual=function e(t,r){if("object"!=typeof t||null==t||"object"!=typeof r||null==r)return t===r;if(Object.is(t,r))return!0;const n=Object.keys(t);if(n.length!==Object.keys(r).length)return!1;for(const o of n)if(!(o in r)||!e(t[o],r[o]))return!1;return!0},exports.defaultRetryDelay=Ve,exports.destroyStore=U,exports.destroyStores=function(e,t){for(const r of Array.isArray(e)?e:Object.values(e))r&&!t?.skipDestroy?.(r)&&U(r,t)},exports.getLegacyQueryKey=Je,exports.getQueryKey=Be,exports.getStoreName=V,exports.isDerivedStore=function(e){return"flushUpdates"in e},exports.isPersistedStore=H,exports.isQueryStore=B,exports.isVirtualStore=G,exports.parseQueryKey=function(e){return JSON.parse(e)},exports.replacer=z,exports.reviver=M,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=x,exports.useListen=function(e,t,r,o=st){const s=function(){const e=n.useRef(ot);return e.current===ot&&(e.current=function(e,t,r){return{selector:e,react:t,isActive:!1,options:ct(r),resubscribe:()=>{},unsubscribe:()=>{}}}(t,r,o)),e}(),i=function(e){return"function"==typeof e?st.enabled:e?.enabled??st.enabled}(o);return s.current.react=r,s.current.selector=t,function(e,t){"function"==typeof t?e.current.options.equalityFn=t:t&&(e.current.options=t??st)}(s,o),n.useLayoutEffect(()=>{if(i)return at(e,s),()=>function(e){e.current.options.debugMode&&console.log("[πŸ—‘οΈ useListen πŸ—‘οΈ] Detaching listener"),e.current.resubscribe=()=>{},e.current.unsubscribe(),e.current.unsubscribe=()=>{},e.current.isActive=!1}(s)},[i,e]),s},exports.useStableValue=function(e){const t=n.useRef(ut);return t.current===ut&&(t.current=e()),t.current};
1
+ var e=require("zustand/middleware"),t=require("zustand/traditional"),r=require("use-sync-external-store/shim/with-selector"),n=require("react"),o="undefined"!=typeof window&&"undefined"!=typeof document,s="development"===process.env.NODE_ENV,i="test"===process.env.NODE_ENV;function a(){return"undefined"!=typeof window?window.localStorage:null}var c=class extends Error{constructor(e,t){super(e),this.name="StoresError",this.cause=l(t)}},u={debug:(e,t)=>{s&&console.debug(e,t)},error:(e,t)=>{s&&!i&&console.error(e,t)},info:(e,t)=>{s&&console.info(e,t)},warn:(e,t)=>{s&&console.warn(e,t)}};function l(e){return e instanceof Error?e:new Error(String(e))}var f="stores/core/sync-channel",d=`${f}:storage:`;function y(){try{return"undefined"!=typeof window?window.localStorage:null}catch{return null}}var p,h,g,b=class{constructor(e){this.broadcast=e.broadcast,this.origin=e.origin,this.storeKey=e.storeKey,this.teardown=e.teardown}destroy(){this.teardown()}publish(e){const t=Object.create(null);for(const r of Object.entries(e.values))t[r[0]]=r[1];const r={origin:this.origin,replace:e.replace,sessionId:e.sessionId,storeKey:this.storeKey,timestamp:e.timestamp,values:t};this.broadcast(r)}},m=class{constructor(){this.listeners=new Map,this.origin="undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`${Math.random().toString(36).slice(2)}:${Date.now().toString(36)}`,this.onChannelMessage=e=>{e.data&&this.dispatch(e.data)},this.onStorageEvent=e=>{if(e.key&&e.newValue&&e.key.startsWith(d))try{const t=JSON.parse(e.newValue);this.dispatch(t)}catch(e){u.error(new c("[sync] Failed to parse storage event payload"),{error:e})}},this.channel="undefined"==typeof BroadcastChannel?null:new BroadcastChannel(f),this.storage=y(),this.channel&&this.channel.addEventListener("message",this.onChannelMessage),o&&window.addEventListener("storage",this.onStorageEvent)}get sessionId(){return this.origin}register(e){const t=t=>{if(t.origin===this.origin||t.storeKey!==e.key)return;const r=Object.create(null);for(const n of e.fields)Object.prototype.hasOwnProperty.call(t.values,n)&&(r[n]=t.values[n]);Object.keys(r).length&&e.apply({replace:t.replace,sessionId:t.sessionId,timestamp:t.timestamp,values:r})};let r=this.listeners.get(e.key);return r||(r=new Set,this.listeners.set(e.key,r)),r.add(t),new b({broadcast:e=>this.broadcast(e),origin:this.origin,storeKey:e.key,teardown:()=>this.removeListener(e.key,t)})}broadcast(e){try{this.channel&&this.channel.postMessage(e),this.writeToStorage(e)}catch(e){u.error(new c("[sync] Failed to broadcast update"),{error:e})}}dispatch(e){if(!e.storeKey)return;const t=this.listeners.get(e.storeKey);if(t&&t.size)for(const r of t)r(e)}removeListener(e,t){const r=this.listeners.get(e);r&&(r.delete(t),r.size||this.listeners.delete(e))}writeToStorage(e){if(this.storage||(this.storage=y()),!this.storage)return;const t=`${d}${e.storeKey}`;try{this.storage.setItem(t,JSON.stringify(e))}catch(e){u.error(new c("[sync] Failed to write broadcast payload to storage"),{error:e})}}},S=class{destroy(){}publish(){}},v=class{constructor(){this.sessionId="noop"}register(e){return new S}},w=!1;function O(){return g??(g=q(void 0))}function j(){w=!0}function q(e){return{storage:e?.storage??(t=e?.storageKeyPrefix??"stores:",{clearAll(){try{const e=a();if(!e)return;const r=[];for(let n=0;n<e.length;n++){const o=e.key(n);o?.startsWith(t)&&r.push(o)}for(const t of r)e.removeItem(t)}catch(e){console.error("Error clearing localStorage:",e)}},contains(e){const r=a();return null!==r?.getItem(`${t}${e}`)},delete(e){try{const r=a();r?.removeItem(`${t}${e}`)}catch(e){console.error("Error deleting from localStorage:",e)}},getAllKeys(){try{const e=a();return e?Array.from(e.keys()):[]}catch(e){return console.error("Error getting keys from localStorage:",e),[]}},get(e){try{const r=a();return r?r.getItem(`${t}${e}`)??void 0:void 0}catch(e){return void console.error("Error reading from localStorage:",e)}},set(e,r){try{const n=a();n?.setItem(`${t}${e}`,r)}catch(e){console.error("Error writing to localStorage:",e)}}}),syncEngine:e?.syncEngine??(o?(p||(p=new m),p):(h||(h=new v),h))};var t}function F(){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 C=Math.max,I=Math.min;function A(e,t=0,r={}){let n,o,s,i,a,c,u=0,l=!1,f=!1,d=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function y(t){const r=n,s=o;return n=o=void 0,u=t,i=r?e.apply(s,r):e.apply(s),i}function p(e){const r=e-(c??0);return void 0===c||r>=t||r<0||f&&void 0!==s&&e-u>=s}function h(){const e=k();if(p(e))return g(e);a=setTimeout(h,function(e){const r=t-(e-(c??0));return f&&void 0!==s?I(r,s-(e-u)):r}(e))}function g(e){return a=void 0,d&&n?y(e):(n=o=void 0,i)}function b(...e){const r=k(),s=p(r);if(n=e,o=this,c=r,s){if(void 0===a)return function(e){return u=e,a=setTimeout(h,t),l?y(e):i}(c);if(f)return clearTimeout(a),a=setTimeout(h,t),y(c)}return void 0===a&&(a=setTimeout(h,t)),i}return t=E(t)||0,function(e){const t=typeof e;return null!==e&&("object"===t||"function"===t)}(r)&&(l=!!r.leading,f="maxWait"in r,s=f?C(E(r.maxWait)||0,t):void 0,d="trailing"in r?!!r.trailing:d),b.cancel=function(){void 0!==a&&clearTimeout(a),u=0,n=c=o=a=void 0},b.flush=function(){return void 0===a?i:g(k())},b}function k(){return"undefined"!=typeof performance&&"function"==typeof performance.now?performance.now():Date.now()}function E(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 T(e,t){return t instanceof Map?{__type:"Map",entries:Array.from(t.entries())}:t instanceof Set?{__type:"Set",values:Array.from(t)}:t}function K(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 z(e){if(null!==e&&"object"==typeof e){const t={};for(const[r,n]of Object.entries(e))"function"!=typeof n&&(t[r]=n);return t}return e}var M={ms:e=>e,seconds:e=>1e3*e,minutes:e=>M.seconds(60*e),hours:e=>M.minutes(60*e),days:e=>M.hours(24*e),weeks:e=>M.days(7*e),infinity:1/0,zero:0},x=i?0:o?M.ms(200):M.seconds(5);function D(e){return t=>{if("string"!=typeof t)throw new c("[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?K:void 0)}catch(e){throw u.error(new c("[createBaseStore]: Failed to deserialize persisted Rainbow store data"),{error:e}),e}}(t,e)}}function $(e){return t=>function(e,t){try{return JSON.stringify(e,t?T:void 0)}catch(e){throw u.error(new c("[createBaseStore]: Failed to serialize Rainbow store data"),{error:e}),e}}(t,e)}var L=Object.freeze({shouldClear:!1});function P(e,t,r){if(!t||!e)return L;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 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 W(e,...t){return!0===t[1]?H(t[0])?t[0](e):t[0]:{...e,...H(t[0])?t[0](e):t[0]}}function _(e,t){V(e)?e.getState().reset(t?.clearQueryCache):function(e){return"destroy"in e}(e)&&e.destroy()}function Q(e){return J(e)?e.persist.getOptions().name??e.name:e.name}function U(e){return"getSnapshot"in e}function V(e){return"_queryStore"in e}function J(e){return"persist"in e}function B(e){return"_virtualStore"in e}function H(e){return"function"==typeof e}var[G,X]=[0,1];function Y(e,t,r){if(!e)return!0;const n=e[G],o=e[X];return!(t<n)&&(t>n||r>o)}function Z(e,t){return Object.prototype.hasOwnProperty.call(t,e)}function ee(e,t){if(!s)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 te(e){if(null===e)return"null";const t=typeof e;return"object"===t?Object.prototype.toString.call(e):t}function re(r,n){j();const o=void 0!==n&&"string"==typeof n.storageKey,s=o?n.storageKey:void 0,i=n?.sync?function(e,t){if(!e)return null;if(!0===e){if(!t)throw new c("[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 c("[createBaseStore]: sync requires either a key in the config or a storageKey to inherit from");return{...r,key:n}}(n.sync,s):void 0,a=o?n.storage??O().storage:void 0,f=i?function(e,t,r){const n=t.engine??O().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:(s,i,a)=>{const l=new Map,f=[],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?s(e,t):s(e);const r=(()=>{const e=Date.now(),t=e>g?e:g+1;return g=t,t})();let o=[],i=Object.create(null);const a=n=>{const s=W(n,e,t);for(const e of m)Object.is(s[e],n[e])||(o.push(e),i[e]=s[e]);return o.length&&w(r,o),s},c=t?s(a,!0):s(a),u=()=>{o.length&&(e=>{const t=n.sessionId;for(const r of e.keys)l.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:i,timestamp:r})};return(f=c)&&"object"==typeof f&&"then"in f&&"function"==typeof f.then?c.finally(u):(u(),c);var f},j=a.setState;a.setState=O;const q=e(O,i,a);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=i(),s=e.timestamp;let a;if(e.replace)for(const t of m)Z(t,e.values)||Y(l.get(t),s,e.sessionId)&&(a??(a=[])).push(t);for(const o of m){if(!Z(o,e.values))continue;if(!b?.has(o))continue;if(!Y(l.get(o),s,e.sessionId))continue;const i=t.merge?.[o];if(i){const t=e.values[o],a=n[o];if(void 0!==t){const f=i(t,a,n,e.values),d=void 0!==a?a:t;if(!ee(f,d))return void u.error(new c(`[sync] Merge function for field "${String(o)}" returned ${te(f)} but expected ${te(d)}`));r[o]=f,l.set(o,[s,e.sessionId])}}else r[o]=e.values[o],l.set(o,[s,e.sessionId])}if(Object.keys(r).length>0||a?.length){p=!0,o&&o.setIsApplyingRemote(!0);try{if(e.replace){const e={...n};let t=!1;if(a?.length){t=!0;for(const t of a)delete e[t],l.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)}}},C=e=>{r?S=S.then(()=>F(e)):F(e)};y=n.register({apply:e=>{v?C(e):f.push(e)},delta:t.delta,fields:m,getState:i,key:t.key});const I=()=>{h=!0,(()=>{if(y&&d.length){for(const e of d){const t=n.sessionId;for(const r of e.keys)l.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}})()},A=()=>{v=!0,(()=>{if(!f.length)return;const e=f.slice();f.length=0;for(const t of e)C(t)})()};return r&&o?(o.onHydrationComplete=I,o.onHydrationFlushEnd=A):y.onHydrated?(y.onHydrated(I),A()):(I(),A()),q},syncContext:o}}(r,i,a?.async??!1):void 0,d=f?.stateCreator??r;if(!o)return t.createWithEqualityFn()(e.subscribeWithSelector(d),Object.is);const y=a?.async?function(e){let t,r,n,o=!1;return{hydrationPromise:()=>o?t?.promise??r??(r=Promise.resolve()):(t||(t=F()),t.promise),stateCreator:(r,s,i)=>{let a;return n=()=>{if(a?.length){for(const e of a)e[1]?i.setState(e[0],e[1]):i.setState(e[0]);a=void 0}},e((...e)=>o?!0===e[1]?r(e[0],e[1]):r(e[0]):(t||(t=F()),a||(a=[]),a.push(e),t.promise),s,i)},wrapOnRehydrateStorage:(e,r)=>s=>{const i=e?.(s);return(e,s)=>{o=!0,r?.onHydrationComplete?.(),n&&n(),r?.onHydrationFlushEnd?.(),s?t?.fail(l(s)):t?.complete(),i?.(e,s)}}}}(d):null,p=function(e,t,r){const n=t??e.storage??O().storage,o=(e.sync?void 0:e.persistThrottleMs??x)||void 0,s=e.version??0,i=n.async?function(e,t,r,n){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),s="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),i=t.partialize??z,a=t.deserializer??e.deserializer??D(o),l=t.serializer??e.serializer??$(o);async function f(t,r){try{if(N(n))return;r.state,r.state=i(r.state);const o=P(n,s,r),a=l(r);try{await e.set(t,a),R(n,o)}catch(e){u.error(new c("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){u.error(new c("[createBaseStore]: Failed to serialize persisted store data"),{error:e})}}const d=void 0!==r?A(f,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}}(f);return{getItem:async t=>{const r=await e.get(t);return void 0===r?null:a(r)},setItem:async(e,t)=>{if(!n?.getIsApplyingRemote())return await d(e,t)},removeItem:async t=>{try{await e.delete(t)}catch(e){u.error(new c("[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),s="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),i=t.partialize??z,a=t.deserializer??e.deserializer??D(o),l=t.serializer??e.serializer??$(o);function f(t,r){try{if(N(n))return;r.state,r.state=i(r.state);const o=P(n,s,r),a=l(r);try{e.set(t,a),R(n,o)}catch(e){u.error(new c("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){u.error(new c("[createBaseStore]: Failed to persist store data"),{error:e})}}const d=void 0!==r?A(f,r,{leading:!1,maxWait:r,trailing:!0}):f;return{getItem:t=>{const r=e.get(t);return void 0===r?null:a(r)},setItem:(e,t)=>{n?.getIsApplyingRemote()||d(e,t)},removeItem:t=>{try{e.delete(t)}catch(e){u.error(new c("[createBaseStore]: Failed to delete persisted store data"),{error:e})}}}}(n,e,o,r);return{persistStorage:i,version:s}}(n,a,f?.syncContext),h=y?y.wrapOnRehydrateStorage(n.onRehydrateStorage,f?.syncContext):n.onRehydrateStorage,g=y?(e,t,r)=>(f&&(f.syncContext.setWithoutPersist=r.setState),y.stateCreator(e,t,r)):d,b=t.createWithEqualityFn()(e.subscribeWithSelector(e.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 ne(e,t,r="s"){return 1===t?e:`${e}${r}`}function oe(e,t,r){const n=t.get(e);if(!n){const n=function(e,t,r,n=[]){return e&&"object"==typeof e?se(e,n,t,r,new WeakSet,new WeakMap):(r(t,n,!0),e)}(U(e)?e.getSnapshot():e.getState(),e,r);return t.set(e,n),n}return n}function se(e,t,r,n,o,s){return new Proxy(e,{get(i,a,c){if(o.has(i))return Reflect.get(i,a,c);if("__proto__"===a||"symbol"==typeof a)return a===Symbol.iterator&&(n(r,t,!0),o.add(i)),Reflect.get(i,a,c);const u=Reflect.get(i,a,i),l=String(a),f=t.concat(l);if("function"==typeof u)return Object.prototype.hasOwnProperty.call(i,a)?function(...e){return n(r,f,!0,{method:l,args:e.length?e:void 0}),Reflect.apply(u,i,e)}:(n(r,t,!0),u.bind(e));const d=!!u&&"object"==typeof u;return n(r,f,!d),d?(s.has(u)||s.set(u,se(u,f,r,n,o,s)),s.get(u)):u},getOwnPropertyDescriptor:(e,s)=>(n(r,t,!0),o.add(e),Reflect.getOwnPropertyDescriptor(e,s)),has:(e,o)=>(n(r,t,!0),Reflect.has(e,o)),ownKeys:e=>(n(r,t,!0),o.add(e),Reflect.ownKeys(e))})}function ie(e){return t=>ce(t,e)}function ae(e,t){const r=e.slice(0,-1);return e=>{const n=ce(e,r),o=n?.[t.method];return"function"==typeof o?o.apply(n,t.args):void 0}}function ce(e,t){let r=e;for(const e of t){if(!r||"object"!=typeof r)return r;r=r[e]}return r}function ue(){const e=new Map;return{buildProxySubscriptions(t,r){const n=new Set;for(const[t,r]of e)de(r,t,[],0,n);!function(e,t,r){for(const r of e)t(r.store,r.invocation?ae(r.path,r.invocation):ie(r.path));r&&function(e){const t=e.size;console.log(`[πŸ“‘ ${t} ${ne("Proxy Subscription",t)} πŸ“‘]:`,JSON.stringify(Array.from(e).map(e=>{const t=Q(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}_${ne("arg",n)})`:"()"}`}),null,2))}(e)}(n,t,r)},trackPath(t,r,n,o){let s=e.get(t);s||(s=le(),e.set(t,s)),fe(s,r,0,n,o)}}}function le(){return Object.create(null)}function fe(e,t,r,n,o){if(r===t.length)return n&&(e.isLeaf=!0),void(o&&(e.invocation=o));e.children||(e.children=le());const s=t[r];let i=e.children?.[s];i||(i=le(),e.children[s]=i),fe(i,t,r+1,n,o)}function de(e,t,r,n,o,s=1){const i=e.children;if(!i)return void o.add({store:t,path:r,invocation:e.invocation,isLeaf:e.isLeaf??!1});const a=Object.keys(i),c=a.length;if(0!==c)if(e.isLeaf||n>=s&&c>1){o.add({store:t,path:r,invocation:e.invocation,isLeaf:e.isLeaf??!1});for(const e of a){const a=i[e];a.invocation&&de(a,t,[...r,e],n+1,o,s)}}else if(n<s&&c>1&&!e.isLeaf)for(const e of a)de(i[e],t,[...r,e],n+1,o,s);else{if(1===c){const e=a[0];return void de(i[e],t,[...r,e],n+1,o,s)}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 ye=!1,pe=!1,he=new Map,ge=new Map,be=new Map,me=null,Se=1/0;function ve(){return ye}function we(){return me}function Oe(){ye||(ye=!0,pe||(pe=!0,queueMicrotask(()=>{pe=!1,(()=>{for(;ge.size>0;){const e=Se,t=be.get(e);if(t){be.delete(e);for(const e of t)ge.delete(e);me=e;for(const e of t)e();if(me=null,be.size>0){Se=1/0;for(const e of be.keys())e<Se&&(Se=e)}else Se=1/0}else{Se=1/0;for(const e of be.keys())e<Se&&(Se=e)}}for(;he.size>0;){const e=Array.from(he.values());he.clear();for(const t of e)t()}})(),ye=!1,me=null,ge.clear(),be.clear(),Se=1/0})))}function je(e,t){ye&&he.set(e,t)}var qe=e=>e;function Fe(e,t=Object.is){return n=function(e,t=Object.is){const{debounceOptions:r,debugMode:n,equalityFn:o,keepAlive:i,lockDependencies:a}="function"==typeof(l=t)?{debounceOptions:void 0,debugMode:!1,equalityFn:l,keepAlive:!1,lockDependencies:!1}:{debounceOptions:l.debounce,debugMode:(s&&l.debugMode)??!1,equalityFn:l.equalityFn??Object.is,keepAlive:l.keepAlive??!1,lockDependencies:l.lockDependencies??!1},c=String(Ie+=1),u=new Set;var l;i&&u.add(Ae);const f=new Set;let d,y,p=Ce,h=!1,g=!0,b=!0,m=!0,S=0,v=!1,w=null,O=Ce;function j(e,t,r){if(!m||!u.size)return(t??qe)(U(e)?e.getSnapshot():e.getState());if(!t)return d||(d=new WeakMap),y||(y=ue()),oe(e,d,y.trackPath);const n=e.subscribe(t,M,{equalityFn:r??Object.is,isDerivedStore:!0});return f.add(n),t(U(e)?e.getSnapshot():e.getState())}function q(e){for(const t of f)t(e);f.clear()}function F(){if(!b&&ke(p))return p;b=!1,m&&q(!0);const t=p,r=ke(t);p=function(t){g=!0;const r=p,s=e(t);return ke(r)&&o(r,s)?(n&&console.log("[πŸ₯· Derive Complete πŸ₯·]: No change detected"),g=!1,r):s}(j);const s=n&&(!r||"verbose"===n&&m);if(s){r?"verbose"===n&&console.log("[πŸŒ€ Rebuilding Subscriptions πŸŒ€]: Created…"):console.log("[πŸŒ€ Initial Derive Complete πŸŒ€]: Created…");const e=f.size;console.log(`[🎯 ${e} ${ne("Selector Subscription",e)} 🎯]`)}return y&&m&&(y.buildProxySubscriptions((e,t)=>{const r=e.subscribe(t,M,{equalityFn:Object.is,isDerivedStore:!0});f.add(r)},s),d=void 0,y=void 0),g&&r&&function(e,t){const r=function(){const e=u.has(Ae)?u.size-1:u.size;return S>0&&S<e}(),o=!S||r,s=r||null!==we()||ve()&&o;r&&Oe(),n&&console.log(`[πŸ“» Derive Complete πŸ“»]: Notifying ${u.size} ${ne("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)}}s?v||(v=!0,ke(O)||(O=t),je(c,I)):C(e,t)}(p,t),a&&(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&&F(),!ke(p))return;const e=ke(O)?O:p;C(p,e)}(),v=!1,O=Ce)}const k=r?A(T,"number"==typeof r?r:r.delay,"number"==typeof r?{leading:!1,maxWait:r,trailing:!0}:r):void 0,E=k??(()=>{h||(h=!0,queueMicrotask(T))});function T(){u.size&&(h=!1,b&&F())}function K(e){e?queueMicrotask(()=>{u.size||D()}):D()}function z(){T(),w=null}function M(){if(!b){if(b=!0,!k){if(S){Oe();const e=we(),t=null===e?0:e+1;if(null!==w&&t<=w)return;return w=t,void function(e,t){if(!ye)return;const r=t<0?0:0|t,n=ge.get(e);if(void 0===n){ge.set(e,r);let t=be.get(r);return t||(t=new Set,be.set(r,t)),t.add(e),void(r<Se&&(Se=r))}if(r>n){const t=be.get(n);if(t&&(t.delete(e),0===t.size&&(be.delete(n),n===Se))){Se=1/0;for(const e of be.keys())e<Se&&(Se=e)}ge.set(e,r);let o=be.get(r);o||(o=new Set,be.set(r,o)),o.add(e),r<Se&&(Se=r)}}(z,t)}if(ve())return void(v||(v=!0,ke(p)&&(O=p),je(c,I)))}w=null,S&&!r?F():E()}}function x(){return b||!ke(p)?u.size>0?F():e(j):p}function D(e=!0){i&&e||(k?.cancel(),q(),u.clear(),S=0,y=void 0,d=void 0,m=!0,h=!1,b=!0,p=Ce,v=!1,O=Ce,w=null)}return{destroy:()=>D(!1),flushUpdates:function(){u.size&&(k?k.flush():b&&F())},getSnapshot:function(){if(!ke(p)){u.add(Ae);const e=F();return u.delete(Ae),e}return h&&T(),p},getState:x,subscribe:function(...e){if(1===e.length){const t=e[0];return u.add(t),1!==u.size||ke(p)||x(),()=>{u.delete(t),u.size||K(!1)}}const[t,r,n]=e,o=n?.equalityFn??Object.is,s=n?.isDerivedStore??!1,i={currentSlice:void 0,equalityFn:o,isDerivedWatcher:s,listener:r,selector:t};return u.add(i),i.currentSlice=t(x()),s&&(S+=1),n?.fireImmediately&&r(i.currentSlice,i.currentSlice),()=>{u.delete(i),s&&(S-=1),u.size||K(s)}},getInitialState:()=>{throw new Error("[createDerivedStore]: getInitialState() is not available on derived stores.")},setState:()=>{throw new Error("[createDerivedStore]: setState() is not available on derived stores.")}}}(e,t),Object.assign(function(e=qe,t=void 0){return r.useSyncExternalStoreWithSelector(n.subscribe,n.getSnapshot,void 0,e,t)},n);var n}var Ce=Symbol(),Ie=0;function Ae(){}function ke(e){return e!==Ce}var Ee=class{constructor({disableAutoRefetching:e,initialEnabled:t}){this.count=0,this.enabled=!1,this.lastSubscriptionTime=null,this.fetchThrottleMs=null,this.onSubscribe=null,this.onLastUnsubscribe=null,this.enabled=t,e&&(this.fetchThrottleMs=M.seconds(5))}init({onSubscribe:e,onLastUnsubscribe:t}){this.onSubscribe=e,this.onLastUnsubscribe=t}get(){return{enabled:this.enabled,lastSubscriptionTime:this.lastSubscriptionTime,subscriptionCount:this.count}}setEnabled(e){this.enabled=e}subscribe(){const e=0===this.count,t=null!==this.fetchThrottleMs&&null!==this.lastSubscriptionTime&&!e&&Date.now()-this.lastSubscriptionTime<=this.fetchThrottleMs;return this.onSubscribe?.(this.enabled,e,t),this.count+=1,this.lastSubscriptionTime=Date.now(),e=>{const t=1===this.count;this.count=Math.max(this.count-1,0),t&&(this.onLastUnsubscribe?.(e),this.lastSubscriptionTime=null)}}},Te={Error:"error",Idle:"idle",Loading:"loading",Success:"success"};function Ke(e,t){const r=Object.prototype.hasOwnProperty;function n(e,t){for(const r of e.keys())if(Ke(r,t))return r}let o,s,i;if(e===t)return!0;if(e&&t&&(o=e.constructor)===t.constructor){if(o===Date)return e.getTime()===t.getTime();if(o===RegExp)return e.toString()===t.toString();if(o===Array){if((s=e.length)===t.length)for(;s--&&Ke(e[s],t[s]););return-1===s}if(o===Set){if(e.size!==t.size)return!1;for(let r of e){if(i=r,i&&"object"==typeof i&&(i=n(t,i),!i))return!1;if(!t.has(i))return!1}return!0}if(o===Map){if(e.size!==t.size)return!1;for(let r of e){if(i=r[0],i&&"object"==typeof i&&(i=n(t,i),!i))return!1;if(!Ke(r[1],t.get(i)))return!1}return!0}if(o===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(o===DataView){if((s=e.byteLength)===t.byteLength)for(;s--&&e.getInt8(s)===t.getInt8(s););return-1===s}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){const r=e,n=t;if((s=r.byteLength)===n.byteLength)for(;s--&&r[s]===n[s];);return-1===s}if(!o||"object"==typeof e){s=0;for(const n in e){if(r.call(e,n)&&++s&&!r.call(t,n))return!1;if(!(n in t)||!Ke(e[n],t[n]))return!1}return Object.keys(t).length===s}}return e!=e&&t!=t}var ze=new WeakMap,Me=new WeakMap;function xe(e,t=De,r=Ke){return function(e,t,r){let n=Me.get(e);n||(n=new Map,Me.set(e,n));let o=n.get(t);o||(o=new Map,n.set(t,o));const s=o.get(r);if(s)return s;const[i,a,c]=Le(e,t,r),u=new Map,l=e=>{const t={get(t,r){if("value"===r){let t=a();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,s=u.get(o);if(s)return s;const c=l(o);return ze.set(c,i),u.set(o,c),c},set(t,r,n){const o=e.split(".");return""===o[0]&&o.shift(),c(o,n),!0}};return new Proxy(Object.create(null),t)},f=l("");return i(()=>{}),ze.set(f,i),o.set(r,f),f}(e,t,r)}var De=e=>e,$e=(e,t,r)=>{if(!t.length)return r;const[n,...o]=t,s=e[n],i=$e(s,o,r);if(Ke(s,i))return e;const a=Array.isArray(e)?e.slice():{...e};return a[n]=i,a},Le=(e,t,r)=>{const n=new Set,o=U(e);let s,i=t(o?e.getSnapshot():e.getState());return[a=>(n.size||(s=e.subscribe(t,e=>{i=e,n.forEach(e=>e())},{equalityFn:r,isDerivedStore:o})),n.add(a),()=>{n.delete(a),!n.size&&s&&(s(),s=void 0)}),()=>(n.size||(i=t(e.getState())),i),(r,n)=>{if(t!==De)throw new Error("Cannot set a value with a selector");e.setState(e=>$e(e,r,n),!0)}]};function Pe(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var[Re,Ne]=[!0,!1],We={error:Re,lastFetchedAt:Re,queryCache:Re,queryKey:Re,status:Re,enabled:Ne,fetch:Ne,getCacheEntry:Ne,getData:Ne,getStatus:Ne,isDataExpired:Ne,isStale:Ne,reset:Ne},_e=M.seconds(5);function Qe(e,t){const r=t?.baseDelay??M.seconds(5),n=t?.maxDelay??M.minutes(5),o=Math.pow(2,e);return Math.min(r*o,n)}function Ue(e){return JSON.stringify(Object.keys(e).sort().map(t=>e[t]))}function Ve(e){return JSON.stringify(Je(e))}function Je(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?Je(n):n,t},{})}function Be(e,t,r,n){return n?Xe(n,r)?n:{...He(e,t),...n}:He(e,t)}function He(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 Ge(){return Object.create(null)}function Xe(e,t){if(!e)return!1;for(const r of t)if(!(r in e))return!1;return!0}function Ye(e,t,r){if(!r.queryCache)return r;const n=Date.now(),o=t??(e&&r.queryKey||null);let s=!1;const i=Object.create(null);for(const e in r.queryCache){if(!Pe(r.queryCache,e))continue;const a=r.queryCache[e];a&&(n-(a.lastFetchedAt??a.errorInfo.lastFailedAt)<a.cacheTime||e===o)?!t&&a.errorInfo&&a.errorInfo.retryCount>0?(i[e]={...a,errorInfo:{...a.errorInfo,retryCount:0}},s=!0):i[e]=a:s=!0}return s?{...r,queryCache:i}:r}function Ze(e){return"function"==typeof e}function et(e){return!Ze(e)}function tt(e,t){return r=>{const n={...r},o={};for(const e in n)Pe(n,e)&&e in We&&(We[e]&&(o[e]=n[e]),delete n[e]);return{...t?t(n):z(n),...Ye(e,null,o)}}}var rt=Symbol(),nt=Object.freeze({debugMode:!1,enabled:!0,equalityFn:Object.is,fireImmediately:!1}),ot=Object.freeze({fireImmediately:!1,forceResubscribe:!1});function st(e,t,r=ot){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=ot)=>st(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 it(e){return"function"==typeof e?{equalityFn:e}:e??nt}var at=Symbol();function ct(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 ut(e,t){return"function"==typeof e[t]}exports.QueryStatuses=Te,exports.applyStateUpdate=W,exports.configureStores=function(e){var t;s&&function(){if(w)throw new Error("[stores]: configureStores() called after first store creation. Call it earlier before creating any stores.")}(),e.logger&&(t=e.logger,u=t),g??(g=q(e))},exports.createBaseStore=re,exports.createDerivedStore=Fe,exports.createQueryStore=function(e,t,r){j();const n="function"==typeof t?t:Ge,o="object"==typeof t?t:r,a=o&&"storageKey"in o?o:void 0,{fetcher:f,onError:d,onFetched:y,setData:p,transform:h,abortInterruptedFetches:g=!0,cacheTime:b=M.days(7),debugMode:m=!1,disableAutoRefetching:S=!1,disableCache:v=!1,enabled:w=!0,keepPreviousData:O=!1,maxRetries:q=5,paramChangeThrottle:F=!1,params:C,retryDelay:I=Qe,suppressStaleTimeWarning:k=!1,useParsableQueryKeys:E=!0}=e;let T="function"==typeof e.staleTime?M.minutes(2):e.staleTime??M.minutes(2);s&&!S&&!k&&T<_e&&console.warn(`[createQueryStore${a?.storageKey?`: ${a.storageKey}`:""}] ❌ Stale times under ${_e/1e3} seconds are not recommended. Provided staleTime: ${T/1e3} seconds`);const K=E?Ve:Ue,z=new Error("[createQueryStore: AbortError] Fetch interrupted"),x="function"==typeof b,D=s&&m,$=Object.keys(e.params??Object.create(null));let L=null,P=null,R=null,N=[],W=!1,_=!1,Q=null,U=null,V=null,J=null,B=null;const H={enabled:"function"!=typeof w&&w,error:null,lastFetchedAt:null,queryCache:{},queryKey:"",status:Te.Idle},G=new Ee({disableAutoRefetching:S,initialEnabled:H.enabled}),X=()=>{Q&&(U=null,Q.abort(),Q=null)},Y=(t,r,o)=>{const s=o.setState,i=(e,t)=>{const r="function"==typeof e;if(r||void 0!==e.enabled){let t;const n=s(n=>{const s=r?e(n):e,i=void 0!==s.enabled?s.enabled:n.enabled;return i!==n.enabled&&(t=()=>((e,t)=>{e!==t&&B!==t&&(B=t,G.setEnabled(t),t?queueMicrotask(()=>o.getState().fetch(void 0,{updateQueryKey:!0})):(V||g)&&(g&&X(),V&&(clearTimeout(V),V=null)))})(n.enabled,i)),s});return t?.(),n}return s(e)};o.setState=i,G.init({onSubscribe:(n,o,s)=>{if(P||L||!C&&"function"!=typeof e.enabled&&"function"!=typeof e.staleTime){if(n)if(o){const e=He(L,P),n=K(e),o=r();o.queryKey!==n&&t(e=>({...e,queryKey:n})),o.isStale()?w.fetch(e,void 0,!0):m(e,void 0)}else S&&!s&&w.fetch(void 0,void 0,!0)}else W=!0},onLastUnsubscribe:e=>{V&&(clearTimeout(V),V=null),g&&!e&&X()}});const m=(e,t)=>{if(S||t?.skipStoreUpdates)return;if(T<=0||T===1/0)return;V&&(clearTimeout(V),V=null);const n=K(e),o=r(),s=(v?J===n&&o.lastFetchedAt:o.queryCache[n]?.lastFetchedAt)||null,i=s?T-(Date.now()-s):T;V=setTimeout(()=>{const t=G.get();t.enabled&&t.subscriptionCount>0&&w.fetch(e,{force:!0},!0)},i)},w={...n(i,r,o),...H,async fetch(e,n,o=!1){const s=G.get();if(!n?.force&&!n?.skipStoreUpdates&&!s.enabled)return null;const S=r(),j=S.error,F=S.queryKey,C=S.status,A=Be(L,P,$,e),k=K(A),E=n?.staleTime??T,M=C===Te.Loading,R=!!n?.skipStoreUpdates,N="boolean"==typeof n?.updateQueryKey?n.updateQueryKey:o?O:!R,W=o||!R&&(N||F===k);if(U?.promise&&U.key===k&&M)return D&&console.log("[πŸ”„ Using Active Fetch πŸ”„] for params:",JSON.stringify(A)),U.promise;if(g&&!R&&!1!==n?.updateQueryKey&&X(),!n?.force){const e=S.lastFetchedAt,r=S.queryCache[k],o=r?.lastFetchedAt,i=r?.errorInfo,a=i&&i.retryCount>=q,c=(v?J===k&&e:o)||null;if(c&&!(Date.now()-c>=E)&&(!i||a||R))return W&&!R&&!V&&s.subscriptionCount>0&&0!==T&&T!==1/0&&m(A,n),N&&t(e=>e.queryKey!==k?{...e,queryKey:k}:e),D&&console.log("[πŸ’Ύ Returning Cached Data πŸ’Ύ] for params:",JSON.stringify(A)),r?.data??null}!R&&W&&(V&&(clearTimeout(V),V=null),!j&&M||t(e=>({...e,error:null,status:Te.Loading})),U={key:k});const _=n?.cacheTime??(x?b(A):b),B=async()=>{try{D&&(o||!e||Xe(e,$)?console.log("[πŸ”„ Fetching πŸ”„] for params:",JSON.stringify(A)):console.log("[πŸ”„ Fetching with Partial Params πŸ”„]\n","- Provided params:",`${JSON.stringify(e)}\n`,"- Filled in params:",`${JSON.stringify(Object.fromEntries(Object.keys(A).filter(t=>!(t in e)).map(e=>[e,A[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(f(e,t)).then(r,n)})}finally{Q===t&&(Q=null)}})(A):f(A,null)),s=Date.now();let l;D&&console.log("[βœ… Fetch Successful βœ…] for params:",JSON.stringify(A));try{l=h?h(r,A):r}catch(e){throw new c(`[createQueryStore: ${a?.storageKey||k}]: transform failed`,e)}if(R)return D&&console.log("[πŸ₯· Successful Parallel Fetch πŸ₯·] for params:",JSON.stringify(A)),"withCache"===n.skipStoreUpdates&&t(e=>{if(!p)return v?{...e,queryCache:{...e.queryCache,[k]:{cacheTime:_,data:l,errorInfo:null,lastFetchedAt:s}}}:e;let t=e;const r=t.queryCache[k];return p({data:l,params:A,queryKey:k,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!v&&Object.is(r,t.queryCache[k])&&(t={...t,queryCache:{...t.queryCache,[k]:{cacheTime:_,data:l,errorInfo:null,lastFetchedAt:s}}}),t}),l;if((p?i:t)(e=>{let t={...e,error:null,lastFetchedAt:s,queryKey:N?k:e.queryKey,status:Te.Success};if(p||v){if(p){D&&console.log("[πŸ’Ύ Setting Data πŸ’Ύ] for params:",JSON.stringify(A));const e=t.queryCache[k];p({data:l,params:A,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:s}})}}else D&&console.log("[πŸ’Ύ Setting Cache πŸ’Ύ] for params:",JSON.stringify(A),"| Has previous data?:",!!t.queryCache[k]?.data),t.queryCache={...t.queryCache,[k]:{cacheTime:_,data:l,errorInfo:null,lastFetchedAt:s}};return v||b===1/0?t:Ye(O,k,t)}),W&&(J=k,m(A,n)),y)try{y({data:l,fetch:w.fetch,params:A,set:i})}catch(e){u.error(new c(`[createQueryStore: ${a?.storageKey||k}]: onFetched callback failed`,e))}return l??null}catch(s){if(s===z)return D&&console.log("[❌ Fetch Aborted ❌] for params:",JSON.stringify(A)),null;const i=!o&&!0===n?.throwOnError,f=l(s);if(R||!W){if(u.error(new c(`[createQueryStore: ${a?.storageKey||k}]: Failed to fetch data`,f)),i)throw f;return null}const y=v?void 0:r().queryCache[k],p=y?.errorInfo?.retryCount??0,h=p+1;if(d?.(f,p),p<q){if(G.get().subscriptionCount>0){const t="function"==typeof I?I(h,f):I;t!==1/0&&(V&&clearTimeout(V),V=setTimeout(()=>{const{enabled:t,subscriptionCount:r}=G.get();t&&r>0&&w.fetch(e,{force:!0},!0)},t))}t(e=>({...e,error:f,queryCache:{...e.queryCache,[k]:{cacheTime:y?.cacheTime??_,data:y?.data??null,lastFetchedAt:y?.lastFetchedAt??null,errorInfo:{error:f,lastFailedAt:Date.now(),retryCount:h}}},queryKey:N?k:e.queryKey,status:Te.Error}))}else t(e=>({...e,error:f,queryCache:{...e.queryCache,[k]:{cacheTime:y?.cacheTime??_,data:y?.data??null,lastFetchedAt:y?.lastFetchedAt??null,errorInfo:{error:f,lastFailedAt:Date.now(),retryCount:q}}},queryKey:N?k:e.queryKey,status:Te.Error}));if(u.error(new c(`[createQueryStore: ${a?.storageKey||k}]: Failed to fetch data`,f)),i)throw f;return null}finally{!R&&W&&(U=null)}};return R||!W?B():(U={key:k,promise:B()}).promise},getCacheEntry(e){if(v)return null;const t=r(),n=e?"string"==typeof e?e:K(Be(L,P,$,e)):t.queryKey;return t.queryCache[n]??null},getData(e){if(v)return null;const t=r().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 r().status===Te.Idle;case"isLoading":return r().status===Te.Loading;case"isSuccess":{const e=r(),t=e.queryCache[e.queryKey]?.lastFetchedAt;return"number"==typeof t||e.status===Te.Success}case"isError":case"isInitialLoad":case void 0:{const t=r(),n=t.queryCache[t.queryKey],o=(v?J===t.queryKey&&t.lastFetchedAt:n?.lastFetchedAt)||null,s=t.status;switch(e){case"isError":{const e=t.queryCache[t.queryKey];return v?"error"!==s:"number"==typeof e?.errorInfo?.lastFailedAt}case"isInitialLoad":return!o&&s===Te.Loading}return{isError:s===Te.Error,isIdle:s===Te.Idle,isLoading:s===Te.Loading,isInitialLoad:!o&&s===Te.Loading,isSuccess:s===Te.Success}}}},isDataExpired(e){const t=r(),n=t.queryCache[t.queryKey],o=t.queryKey,s=t.lastFetchedAt,i=(v?J===o&&s:n?.lastFetchedAt)||null;if(!i)return!0;const a=e??n?.cacheTime;return void 0===a||Date.now()-i>=a},isStale(e){const t=r(),n=t.queryKey,o=(v?J===n&&t.lastFetchedAt:t.queryCache[n]?.lastFetchedAt)||null;if(!o)return!0;const s=e??T;return Date.now()-o>=s},reset(e=!1){for(const e of N)e();N=[],L=null,P=null,R=null,X(),V&&(clearTimeout(V),V=null),U=null,J=null,e&&t(e=>({...e,...H}))}},j=o.subscribe;return o.subscribe=(...e)=>{const t=_?()=>{}:G.subscribe(),r=1===e.length?j(e[0]):j(e[0],e[1],e[2]);return e=>{t(e),r()}},w},Z=a?.storageKey?re(Y,Object.assign(Object.create(null),a,{partialize:tt(O,a.partialize)})):o&&!("storageKey"in o)?re(Y,o):re(Y),ee=Z.getState(),te=ee.error,ne=ee.enabled,oe=ee.queryKey;if(oe&&!te&&(J=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),s=Object.create(null);for(const e in t){if(!Pe(t,e))continue;const i=t[e];if(Ze(i)){const t=i(xe,r);n[e]=t,s[e]=t.value}else et(i)&&(o[e]=i,s[e]=i)}let i,a=null,c=null;if(Ze(e)){const t=e(xe,r);i=t.value,a=t}else i=e,c=e;return{attachVals:n,directValues:o,enabledAttachVal:a,enabledDirectValue:c,resolvedEnabled:i,resolvedParams:s}}(w,C,Z);L={enabled:t,params:n},P={enabled:r,params:e}}"function"==typeof e.staleTime&&(R=e.staleTime(xe,Z),T=R.value);const se=function(){let e,t=!1;return function(...r){e=r,t||(t=!0,queueMicrotask(()=>{t=!1,(e=>{ee.fetch(e??He(L,P),{updateQueryKey:O})})(...e)}))}}();function ie(){let e;if(!O){e=He(L,P);const t=K(e);Z.setState(e=>({...e,queryKey:t}))}se(e)}const ae=i||!F?ie:A(ie,"number"==typeof F?F:F.delay,"number"==typeof F?{leading:!1,maxWait:F,trailing:!0}:F);if(L?.enabled){const e=L.enabled,t=ze.get(e);if(t){let r=e.value;ne!==r&&Z.setState(e=>({...e,enabled:r})),r&&G.setEnabled(r),D&&console.log("[πŸŒ€ Enabled Subscription πŸŒ€] Initial value:",r);const n=t(()=>{const t=e.value;t!==r&&(D&&console.log("[πŸŒ€ Enabled Change πŸŒ€] - [Old]:",`${r},`,"[New]:",t),r=t,Z.setState(e=>({...e,enabled:t})))});N.push(n)}}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 r=ze.get(t);if(D&&console.log("[πŸŒ€ Param Subscription πŸŒ€] Subscribed to param:",e),r){let n=t.value;const o=r(()=>{const r=t.value;Ke(n,r)||(D&&console.log("[πŸŒ€ Param Change πŸŒ€] -",e,"- [Old]:",`${n?.toString()},`,"[New]:",r?.toString()),n=r,ae())});N.push(o)}}if(R){const e=ze.get(R);if(e){const t=R;let r=t.value;D&&console.log("[πŸŒ€ StaleTime Subscription πŸŒ€] Initial value:",r);const n=e(()=>{const e=t.value;e!==r&&(D&&console.log("[πŸŒ€ StaleTime Change πŸŒ€] - [Old]:",`${r},`,"[New]:",e),r=e,T=e,Z.getState().fetch())});N.push(n)}}return _=!1,W&&queueMicrotask(ae),ce=Z,ue="_queryStore",Object.assign(ce,{[ue]:!0});var ce,ue},exports.createStoreActions=function(e,t){const r=function(e){const t=e.getState(),r=Object.create(null);if(s&&("object"!=typeof t||null===t))throw new Error("[createStoreActions]: State is not an object");if(B(e)){for(const n in t)ut(t,n)&&(r[n]=ct(e,n));return r}for(const e in t)ut(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,s=n?r:t,i=new Set,a=Fe(e,{debugMode:s?.debugMode??!1,equalityFn:function(e,t){const r=Object.is(e,t);return r||(function(e,t){for(const r of i){r.unsubscribe();const n=r.args;if(1===n.length){const o=n[0],s=e.getState(),i=t.getState(),a=t.subscribe(o);r.unsubscribe=a,Object.is(i,s)||o(i,s);continue}const o=n[0],s=n[1];let i=n[2];i?.fireImmediately&&(i={...i,fireImmediately:!1});const a=o(e.getState()),c=o(t.getState()),u=t.subscribe(o,s,i);r.unsubscribe=u,(i?.equalityFn??Object.is)(a,c)||s(c,a)}}(e,t),_(e)),r},keepAlive:!0,lockDependencies:s?.lockDependencies??!0}),c=a.getState().persist,u=(l=a.getState,function(e,t){return t?l().setState(e,t):l().setState(e)});var l;return Object.assign(function(e,t){const r=a();return e?r(e,t):r()},{_virtualStore:!0,destroy:()=>a.destroy(),getInitialState:()=>a.getState().getInitialState(),getState:()=>a.getState().getState(),persist:c,setState:u,subscribe:function(...e){const t={args:e,unsubscribe:1===e.length?a.getState().subscribe(e[0]):a.getState().subscribe(e[0],e[1],e[2])};return i.add(t),()=>{t.unsubscribe(),i.delete(t)}}},o?o(a.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=Qe,exports.destroyStore=_,exports.destroyStores=function(e,t){for(const r of Array.isArray(e)?e:Object.values(e))r&&!t?.skipDestroy?.(r)&&_(r,t)},exports.getLegacyQueryKey=Ue,exports.getQueryKey=Ve,exports.getStoreName=Q,exports.isDerivedStore=function(e){return"flushUpdates"in e},exports.isPersistedStore=J,exports.isQueryStore=V,exports.isVirtualStore=B,exports.parseQueryKey=function(e){return JSON.parse(e)},exports.replacer=T,exports.reviver=K,exports.shallowEqual=function(e,t){if("object"!=typeof e||null==e||"object"!=typeof t||null==t)return e===t;if(Object.is(e,t))return!0;const r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(const n of r)if(!Object.is(e[n],t[n]))return!1;return!0},exports.time=M,exports.useListen=function(e,t,r,o=nt){const s=function(){const e=n.useRef(rt);return e.current===rt&&(e.current=function(e,t,r){return{selector:e,react:t,isActive:!1,options:it(r),resubscribe:()=>{},unsubscribe:()=>{}}}(t,r,o)),e}(),i=function(e){return"function"==typeof e?nt.enabled:e?.enabled??nt.enabled}(o);return s.current.react=r,s.current.selector=t,function(e,t){"function"==typeof t?e.current.options.equalityFn=t:t&&(e.current.options=t??nt)}(s,o),n.useLayoutEffect(()=>{if(i)return st(e,s),()=>function(e){e.current.options.debugMode&&console.log("[πŸ—‘οΈ useListen πŸ—‘οΈ] Detaching listener"),e.current.resubscribe=()=>{},e.current.unsubscribe(),e.current.unsubscribe=()=>{},e.current.isActive=!1}(s)},[i,e]),s},exports.useStableValue=function(e){const t=n.useRef(at);return t.current===at&&(t.current=e()),t.current};