@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.
- package/dist/config.d.ts +31 -4
- package/dist/createBaseStore.d.ts +1 -0
- package/dist/createDerivedStore.d.ts +1 -0
- package/dist/createQueryStore.d.ts +1 -0
- package/dist/createVirtualStore.d.ts +1 -0
- package/dist/derivedStore/deriveProxy.d.ts +1 -0
- package/dist/derivedStore/globalDeriveScheduler.d.ts +1 -0
- package/dist/env.native.d.ts +1 -0
- package/dist/env.web.d.ts +1 -0
- package/dist/hooks/compareHooks.d.ts +1 -0
- package/dist/hooks/useLazyRef.d.ts +1 -0
- package/dist/hooks/useListen.d.ts +1 -0
- package/dist/hooks/useStableValue.d.ts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/logger.d.ts +4 -3
- package/dist/middleware/createHydrationGate.d.ts +1 -0
- package/dist/native/index.js +1 -1
- package/dist/native/index.mjs +1 -1
- package/dist/plugins/chrome/chromeExtensionSyncEngine.d.ts +4 -7
- package/dist/plugins/chrome/chromeStorageAdapter.d.ts +4 -5
- package/dist/plugins/chrome/createSyncedChromeStorage.d.ts +3 -5
- package/dist/plugins/chrome/index.d.ts +1 -0
- package/dist/queryStore/classes/SubscriptionManager.d.ts +1 -0
- package/dist/queryStore/types.d.ts +1 -0
- package/dist/signal.d.ts +1 -0
- package/dist/storage/storageCreators.d.ts +1 -0
- package/dist/storage/storageTypes.d.ts +1 -0
- package/dist/storesStorage.native.d.ts +2 -1
- package/dist/storesStorage.web.d.ts +2 -1
- package/dist/sync/browserSyncEngine.d.ts +1 -0
- package/dist/sync/noopSyncEngine.d.ts +1 -0
- package/dist/sync/syncEnhancer.d.ts +1 -0
- package/dist/sync/syncUtils.d.ts +1 -0
- package/dist/sync/transport.d.ts +1 -0
- package/dist/sync/types.d.ts +1 -0
- package/dist/types/functions.d.ts +1 -0
- package/dist/types/objects.d.ts +1 -0
- package/dist/types/utils.d.ts +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/utils/core.d.ts +1 -0
- package/dist/utils/createAsyncMicrotaskScheduler.d.ts +1 -0
- package/dist/utils/createMicrotaskScheduler.d.ts +1 -0
- package/dist/utils/createStoreActions.d.ts +1 -0
- package/dist/utils/debounce.d.ts +1 -0
- package/dist/utils/equality.d.ts +1 -0
- package/dist/utils/hydrationCoordinator.d.ts +1 -0
- package/dist/utils/persistUtils.d.ts +1 -0
- package/dist/utils/promiseUtils.d.ts +1 -0
- package/dist/utils/serialization.d.ts +1 -0
- package/dist/utils/storeUtils.d.ts +1 -0
- package/dist/utils/stringUtils.d.ts +1 -0
- package/dist/utils/time.d.ts +1 -0
- package/dist/web/chrome.js +1 -1
- package/dist/web/chrome.mjs +1 -1
- package/dist/web/chunk-B3GRBY25.mjs +1 -0
- package/dist/web/index.js +1 -1
- package/dist/web/index.mjs +1 -1
- package/package.json +2 -1
- package/dist/utils/factoryUtils.d.ts +0 -21
- package/dist/web/chunk-YWUZUTPH.mjs +0 -1
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
import { SyncEngine, SyncHandle, SyncRegistration } from '../../sync/types';
|
|
2
|
-
import {
|
|
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
|
|
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
|
-
|
|
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:
|
|
12
|
-
readonly
|
|
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 {
|
|
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
|
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
|
package/dist/sync/syncUtils.d.ts
CHANGED
package/dist/sync/transport.d.ts
CHANGED
package/dist/sync/types.d.ts
CHANGED
package/dist/types/objects.d.ts
CHANGED
|
@@ -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
|
package/dist/types/utils.d.ts
CHANGED
|
@@ -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
package/dist/utils/core.d.ts
CHANGED
|
@@ -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
|
package/dist/utils/debounce.d.ts
CHANGED
|
@@ -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
|
package/dist/utils/equality.d.ts
CHANGED
|
@@ -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
|
|
@@ -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
|
package/dist/utils/time.d.ts
CHANGED
package/dist/web/chrome.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
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})}};
|
package/dist/web/chrome.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{isPromiseLike as e,replacer as
|
|
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};
|