@storesjs/stores 0.8.3 β 0.8.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config.d.ts +31 -4
- package/dist/createBaseStore.d.ts +1 -0
- package/dist/createDerivedStore.d.ts +1 -0
- package/dist/createQueryStore.d.ts +1 -0
- package/dist/createVirtualStore.d.ts +1 -0
- package/dist/derivedStore/deriveProxy.d.ts +1 -0
- package/dist/derivedStore/globalDeriveScheduler.d.ts +1 -0
- package/dist/env.native.d.ts +1 -0
- package/dist/env.web.d.ts +1 -0
- package/dist/hooks/compareHooks.d.ts +1 -0
- package/dist/hooks/useLazyRef.d.ts +1 -0
- package/dist/hooks/useListen.d.ts +1 -0
- package/dist/hooks/useStableValue.d.ts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/logger.d.ts +4 -3
- package/dist/middleware/createHydrationGate.d.ts +1 -0
- package/dist/native/index.js +1 -1
- package/dist/native/index.mjs +1 -1
- package/dist/plugins/chrome/chromeExtensionSyncEngine.d.ts +4 -7
- package/dist/plugins/chrome/chromeStorageAdapter.d.ts +4 -5
- package/dist/plugins/chrome/createSyncedChromeStorage.d.ts +3 -5
- package/dist/plugins/chrome/index.d.ts +1 -0
- package/dist/queryStore/classes/SubscriptionManager.d.ts +1 -0
- package/dist/queryStore/types.d.ts +1 -0
- package/dist/signal.d.ts +1 -0
- package/dist/storage/storageCreators.d.ts +1 -0
- package/dist/storage/storageTypes.d.ts +1 -0
- package/dist/storesStorage.native.d.ts +2 -1
- package/dist/storesStorage.web.d.ts +2 -1
- package/dist/sync/browserSyncEngine.d.ts +1 -0
- package/dist/sync/noopSyncEngine.d.ts +1 -0
- package/dist/sync/syncEnhancer.d.ts +1 -0
- package/dist/sync/syncUtils.d.ts +1 -0
- package/dist/sync/transport.d.ts +1 -0
- package/dist/sync/types.d.ts +1 -0
- package/dist/types/functions.d.ts +1 -0
- package/dist/types/objects.d.ts +1 -0
- package/dist/types/utils.d.ts +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/utils/core.d.ts +1 -0
- package/dist/utils/createAsyncMicrotaskScheduler.d.ts +1 -0
- package/dist/utils/createMicrotaskScheduler.d.ts +1 -0
- package/dist/utils/createStoreActions.d.ts +1 -0
- package/dist/utils/debounce.d.ts +1 -0
- package/dist/utils/equality.d.ts +1 -0
- package/dist/utils/hydrationCoordinator.d.ts +1 -0
- package/dist/utils/persistUtils.d.ts +1 -0
- package/dist/utils/promiseUtils.d.ts +1 -0
- package/dist/utils/serialization.d.ts +1 -0
- package/dist/utils/storeUtils.d.ts +1 -0
- package/dist/utils/stringUtils.d.ts +1 -0
- package/dist/utils/time.d.ts +1 -0
- package/dist/web/chrome.js +1 -1
- package/dist/web/chrome.mjs +1 -1
- package/dist/web/chunk-B3GRBY25.mjs +1 -0
- package/dist/web/index.js +1 -1
- package/dist/web/index.mjs +1 -1
- package/package.json +17 -1
- package/dist/env.d.ts +0 -7
- package/dist/storesStorage.d.ts +0 -2
- package/dist/utils/factoryUtils.d.ts +0 -21
- package/dist/web/chunk-YWUZUTPH.mjs +0 -1
package/dist/config.d.ts
CHANGED
|
@@ -1,13 +1,40 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Logger } from './logger';
|
|
2
2
|
import { SyncEngine } from './sync/types';
|
|
3
3
|
import { AsyncStorageInterface, SyncStorageInterface } from './types';
|
|
4
|
+
/**
|
|
5
|
+
* Global configuration for all stores.
|
|
6
|
+
*/
|
|
4
7
|
export type StoresConfig = {
|
|
5
|
-
logger
|
|
8
|
+
/** Custom logger for debug output. Defaults to a no-op logger in production. */
|
|
9
|
+
logger: Logger;
|
|
10
|
+
/** Storage backend for persisted stores. Defaults to `localStorage` in browsers, MMKV in React Native. */
|
|
6
11
|
storage: AsyncStorageInterface | SyncStorageInterface;
|
|
12
|
+
/**
|
|
13
|
+
* Prefix for storage keys built by the default storage adapter.
|
|
14
|
+
* Should include a delimiter, e.g., `'myapp:'`.
|
|
15
|
+
* @default 'stores:'
|
|
16
|
+
*/
|
|
17
|
+
storageKeyPrefix: string;
|
|
18
|
+
/** Sync engine for cross-client state synchronization. Defaults to cross-tab sync in browsers. */
|
|
7
19
|
syncEngine: SyncEngine;
|
|
8
20
|
};
|
|
9
|
-
type
|
|
21
|
+
type StorageConfig = Pick<StoresConfig, 'storage' | 'syncEngine'>;
|
|
22
|
+
export declare const DEFAULT_STORAGE_KEY_PREFIX = "stores:";
|
|
23
|
+
/**
|
|
24
|
+
* Configures global defaults for all stores. Must be called before creating any stores.
|
|
25
|
+
*
|
|
26
|
+
* @see {@link StoresConfig} for details.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```ts
|
|
30
|
+
* configureStores({
|
|
31
|
+
* logger: { debug: console.debug, error: console.error },
|
|
32
|
+
* storageKeyPrefix: 'myapp:',
|
|
33
|
+
* });
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
10
36
|
export declare function configureStores(update: Partial<StoresConfig>): void;
|
|
11
|
-
export declare function getStoresConfig():
|
|
37
|
+
export declare function getStoresConfig(): StorageConfig;
|
|
12
38
|
export declare function markStoreCreated(): void;
|
|
13
39
|
export {};
|
|
40
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -33,3 +33,4 @@ export declare function createBaseStore<S, PersistedState extends Partial<S> = P
|
|
|
33
33
|
* @returns A Zustand store with the specified state and optional persistence.
|
|
34
34
|
*/
|
|
35
35
|
export declare function createBaseStore<S, PersistedState extends Partial<S> = Partial<S>, PersistReturn extends Promise<void> = Promise<void>>(createState: StateCreator<S>, options?: BaseStoreOptions<S, PersistedState, PersistReturn>): OptionallyPersistedStore<S, PersistedState, PersistReturn>;
|
|
36
|
+
//# sourceMappingURL=createBaseStore.d.ts.map
|
|
@@ -68,3 +68,4 @@ export type DeriveGetter = {
|
|
|
68
68
|
<S extends Store<unknown>>(store: S): InferStoreState<S>;
|
|
69
69
|
<S extends Store<unknown>, Selected>(store: S, selector: Selector<InferStoreState<S>, Selected>, equalityFn?: EqualityFn<Selected>): Selected;
|
|
70
70
|
};
|
|
71
|
+
//# sourceMappingURL=createDerivedStore.d.ts.map
|
|
@@ -129,3 +129,4 @@ export declare function getQueryKey<TParams extends Record<string, unknown>>(par
|
|
|
129
129
|
* Parses a query store `queryKey` into the corresponding parameters.
|
|
130
130
|
*/
|
|
131
131
|
export declare function parseQueryKey<TParams extends Record<string, unknown>>(queryKey: string): TParams;
|
|
132
|
+
//# sourceMappingURL=createQueryStore.d.ts.map
|
|
@@ -37,3 +37,4 @@ type VirtualStoreOptions = {
|
|
|
37
37
|
export declare function createVirtualStore<Store extends BaseStore<InferStoreState<Store>>>(createStore: ($: DeriveGetter) => Store, options?: VirtualStoreOptions): OptionallyPersistedStore<InferStoreState<Store>, InferPersistedState<Store, InferStoreState<Store>>, InferSetStateReturn<Store>>;
|
|
38
38
|
export declare function createVirtualStore<Store extends BaseStore<InferStoreState<Store>>, Overrides extends MethodOverrides<Store>>(createStore: ($: DeriveGetter) => Store, overrides: (getStore: () => Store) => Overrides, options?: VirtualStoreOptions): OptionallyPersistedStore<InferStoreState<Store>, InferPersistedState<Store, InferStoreState<Store>>, InferSetStateReturn<Store>> & Overrides;
|
|
39
39
|
export {};
|
|
40
|
+
//# sourceMappingURL=createVirtualStore.d.ts.map
|
package/dist/env.native.d.ts
CHANGED
package/dist/env.web.d.ts
CHANGED
|
@@ -47,3 +47,4 @@ export declare function useDeepLayoutEffect(effect: EffectCallback, deps: Depend
|
|
|
47
47
|
*/
|
|
48
48
|
export declare function useCompareEffect<PreparedResult>(prepare: () => PreparedResult, react: (current: PreparedResult, previous: PreparedResult | null) => void, dependencies: DependencyList, equalityFn?: EqualityFn): void;
|
|
49
49
|
export {};
|
|
50
|
+
//# sourceMappingURL=compareHooks.d.ts.map
|
|
@@ -95,3 +95,4 @@ export type UseListenOptions<Selected> = {
|
|
|
95
95
|
* ```
|
|
96
96
|
*/
|
|
97
97
|
export declare function useListen<Store extends BaseStore<S>, Selected, S = InferStoreState<Store>>(store: Store, selector: Selector<S, Selected>, react: (current: Selected, previous: Selected, unsubscribe: () => void) => void, optionsOrEqualityFn?: UseListenOptions<Selected> | UseListenOptions<Selected>['equalityFn']): RefObject<Readonly<ListenHandle>>;
|
|
98
|
+
//# sourceMappingURL=useListen.d.ts.map
|
package/dist/index.d.ts
CHANGED
package/dist/logger.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ export declare class StoresError extends Error {
|
|
|
2
2
|
cause: Error;
|
|
3
3
|
constructor(message: string, error?: unknown);
|
|
4
4
|
}
|
|
5
|
-
export interface
|
|
5
|
+
export interface Logger {
|
|
6
6
|
debug: (message: string, context?: Record<string, unknown>) => void;
|
|
7
7
|
error: {
|
|
8
8
|
<T extends Error>(error: T, context?: Record<string, unknown>): void;
|
|
@@ -11,6 +11,7 @@ export interface StoresLogger {
|
|
|
11
11
|
info: (message: string, context?: Record<string, unknown>) => void;
|
|
12
12
|
warn: (message: string, context?: Record<string, unknown>) => void;
|
|
13
13
|
}
|
|
14
|
-
export declare let logger:
|
|
14
|
+
export declare let logger: Logger;
|
|
15
15
|
export declare function ensureError(error: unknown): Error;
|
|
16
|
-
export declare function setLogger(customLogger:
|
|
16
|
+
export declare function setLogger(customLogger: Logger): void;
|
|
17
|
+
//# sourceMappingURL=logger.d.ts.map
|
package/dist/native/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";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="stores-storage";function i(){return"undefined"!=typeof window?window.localStorage:null}var a={clearAll(){try{const e=i();if(!e)return;const t=[],r=`${s}:`;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){}},contains(e){const t=i();return null!==t?.getItem(`${s}:${e}`)},delete(e){try{const t=i();t?.removeItem(`${s}:${e}`)}catch(e){}},getAllKeys(){try{const e=i();return e?Array.from(e.keys()):[]}catch(e){return[]}},get(e){try{const t=i();return t?t.getItem(`${s}:${e}`)??void 0:void 0}catch(e){return}},set(e,t){try{const r=i();r?.setItem(`${s}:${e}`,t)}catch(e){}}},c=class extends Error{constructor(e,t){super(e),this.name="StoresError",this.cause=l(t)}},u={debug:(e,t)=>{},error:(e,t)=>{},info:(e,t)=>{},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}};function w(){return g??(g=j())}function j(){return{storage:a,syncEngine:o?(p||(p=new m),p):(h||(h=new v),h)}}function O(){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 q=Math.max,I=Math.min;function F(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=A();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=A(),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?q(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(A())},b}function A(){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 C(e,t){return t instanceof Map?{__type:"Map",entries:Array.from(t.entries())}:t instanceof Set?{__type:"Set",values:Array.from(t)}:t}function T(e,t){return function(e){return"object"==typeof e&&null!==e&&"__type"in e&&"Map"===e.__type}(t)?new Map(t.entries):function(e){return"object"==typeof e&&null!==e&&"__type"in e&&"Set"===e.__type}(t)?new Set(t.values):t}function K(e){if(null!==e&&"object"==typeof e){const t={};for(const[r,n]of Object.entries(e))"function"!=typeof n&&(t[r]=n);return t}return e}var M={ms:e=>e,seconds:e=>1e3*e,minutes:e=>M.seconds(60*e),hours:e=>M.minutes(60*e),days:e=>M.hours(24*e),weeks:e=>M.days(7*e),infinity:1/0,zero:0},z=o?M.ms(200):M.seconds(5);function x(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?T:void 0)}catch(e){throw u.error(new c("[createBaseStore]: Failed to deserialize persisted Rainbow store data"),{error:e}),e}}(t,e)}}function E(e){return t=>function(e,t){try{return JSON.stringify(e,t?C:void 0)}catch(e){throw u.error(new c("[createBaseStore]: Failed to serialize Rainbow store data"),{error:e}),e}}(t,e)}var D=Object.freeze({shouldClear:!1});function L(e,t,r){if(!t||!e)return D;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 P(e,t){e&&t.shouldClear&&t.fieldSnapshot&&Object.keys(t.fieldSnapshot).length&&e.clearFieldTimestamps(t.fieldSnapshot)}function R(e){return!!e&&!!e.getIsApplyingRemote()}function $(e,...t){return!0===t[1]?V(t[0])?t[0](e):t[0]:{...e,...V(t[0])?t[0](e):t[0]}}function W(e,t){Q(e)?e.getState().reset(t?.clearQueryCache):function(e){return"destroy"in e}(e)&&e.destroy()}function _(e){return"getSnapshot"in e}function Q(e){return"_queryStore"in e}function U(e){return"persist"in e}function B(e){return"_virtualStore"in e}function V(e){return"function"==typeof e}var[N,H]=[0,1];function J(e,t,r){if(!e)return!0;const n=e[N],o=e[H];return!(t<n)&&(t>n||r>o)}function G(e,t){return Object.prototype.hasOwnProperty.call(t,e)}function X(e,t){return!0}function Y(e){if(null===e)return"null";const t=typeof e;return"object"===t?Object.prototype.toString.call(e):t}function Z(r,n){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??w().storage:void 0,f=i?function(e,t,r){const n=t.engine??w().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)}},j=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=$(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},O=a.setState;a.setState=j;const q=e(j,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 I=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)G(t,e.values)||J(l.get(t),s,e.sessionId)&&(a??(a=[])).push(t);for(const o of m){if(!G(o,e.values))continue;if(!b?.has(o))continue;if(!J(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(!X())return void u.error(new c(`[sync] Merge function for field "${String(o)}" returned ${Y(f)} but expected ${Y(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??O)(e,!0)}else await(o.setWithoutPersist??O)(r)}finally{p=!1,o&&o.setIsApplyingRemote(!1)}}},F=e=>{r?S=S.then(()=>I(e)):I(e)};y=n.register({apply:e=>{v?F(e):f.push(e)},delta:t.delta,fields:m,getState:i,key:t.key});const A=()=>{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}})()},k=()=>{v=!0,(()=>{if(!f.length)return;const e=f.slice();f.length=0;for(const t of e)F(t)})()};return r&&o?(o.onHydrationComplete=A,o.onHydrationFlushEnd=k):y.onHydrated?(y.onHydrated(A),k()):(A(),k()),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=O()),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=O()),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??w().storage,o=(e.sync?void 0:e.persistThrottleMs??z)||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??K,a=t.deserializer??e.deserializer??x(o),l=t.serializer??e.serializer??E(o);async function f(t,r){try{if(R(n))return;r.state=i(r.state);const o=L(n,s,r),a=l(r);try{await e.set(t,a),P(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?F(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??K,a=t.deserializer??e.deserializer??x(o),l=t.serializer??e.serializer??E(o);function f(t,r){try{if(R(n))return;r.state=i(r.state);const o=L(n,s,r),a=l(r);try{e.set(t,a),P(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?F(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 ee(e,t,r){const n=t.get(e);if(!n){const n=function(e,t,r,n=[]){return e&&"object"==typeof e?te(e,n,t,r,new WeakSet,new WeakMap):(r(t,n,!0),e)}(_(e)?e.getSnapshot():e.getState(),e,r);return t.set(e,n),n}return n}function te(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,te(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 re(e){return t=>oe(t,e)}function ne(e,t){const r=e.slice(0,-1);return e=>{const n=oe(e,r),o=n?.[t.method];return"function"==typeof o?o.apply(n,t.args):void 0}}function oe(e,t){let r=e;for(const e of t){if(!r||"object"!=typeof r)return r;r=r[e]}return r}function se(){const e=new Map;return{buildProxySubscriptions(t,r){const n=new Set;for(const[t,r]of e)ce(r,t,[],0,n);!function(e,t,r){for(const r of e)t(r.store,r.invocation?ne(r.path,r.invocation):re(r.path));r&&e.size}(n,t,r)},trackPath(t,r,n,o){let s=e.get(t);s||(s=ie(),e.set(t,s)),ae(s,r,0,n,o)}}}function ie(){return Object.create(null)}function ae(e,t,r,n,o){if(r===t.length)return n&&(e.isLeaf=!0),void(o&&(e.invocation=o));e.children||(e.children=ie());const s=t[r];let i=e.children?.[s];i||(i=ie(),e.children[s]=i),ae(i,t,r+1,n,o)}function ce(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&&ce(a,t,[...r,e],n+1,o,s)}}else if(n<s&&c>1&&!e.isLeaf)for(const e of a)ce(i[e],t,[...r,e],n+1,o,s);else{if(1===c){const e=a[0];return void ce(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 ue=!1,le=!1,fe=new Map,de=new Map,ye=new Map,pe=null,he=1/0;function ge(){return ue}function be(){return pe}function me(){ue||(ue=!0,le||(le=!0,queueMicrotask(()=>{le=!1,(()=>{for(;de.size>0;){const e=he,t=ye.get(e);if(t){ye.delete(e);for(const e of t)de.delete(e);pe=e;for(const e of t)e();if(pe=null,ye.size>0){he=1/0;for(const e of ye.keys())e<he&&(he=e)}else he=1/0}else{he=1/0;for(const e of ye.keys())e<he&&(he=e)}}for(;fe.size>0;){const e=Array.from(fe.values());fe.clear();for(const t of e)t()}})(),ue=!1,pe=null,de.clear(),ye.clear(),he=1/0})))}function Se(e,t){ue&&fe.set(e,t)}var ve=e=>e;function we(e,t=Object.is){return n=function(e,t=Object.is){const{debounceOptions:r,debugMode:n,equalityFn:o,keepAlive:s,lockDependencies:i}="function"==typeof(u=t)?{debounceOptions:void 0,debugMode:!1,equalityFn:u,keepAlive:!1,lockDependencies:!1}:{debounceOptions:u.debounce,debugMode:false,equalityFn:u.equalityFn??Object.is,keepAlive:u.keepAlive??!1,lockDependencies:u.lockDependencies??!1},a=String(Oe+=1),c=new Set;var u;s&&c.add(qe);const l=new Set;let f,d,y=je,p=!1,h=!0,g=!0,b=!0,m=0,S=!1,v=null,w=je;function j(e,t,r){if(!b||!c.size)return(t??ve)(_(e)?e.getSnapshot():e.getState());if(!t)return f||(f=new WeakMap),d||(d=se()),ee(e,f,d.trackPath);const n=e.subscribe(t,z,{equalityFn:r??Object.is,isDerivedStore:!0});return l.add(n),t(_(e)?e.getSnapshot():e.getState())}function O(e){for(const t of l)t(e);l.clear()}function q(){if(!g&&Ie(y))return y;g=!1,b&&O(!0);const t=y,r=Ie(t);y=function(t){h=!0;const r=y,n=e(t);return Ie(r)&&o(r,n)?(h=!1,r):n}(j);const s=n&&(!r||"verbose"===n&&b);return s&&l.size,d&&b&&(d.buildProxySubscriptions((e,t)=>{const r=e.subscribe(t,z,{equalityFn:Object.is,isDerivedStore:!0});l.add(r)},s),f=void 0,d=void 0),h&&r&&function(e,t){const r=function(){const e=c.has(qe)?c.size-1:c.size;return m>0&&m<e}(),n=!m||r,o=r||null!==be()||ge()&&n;r&&me();for(const t of c){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)}}o?S||(S=!0,Ie(w)||(w=t),Se(a,A)):I(e,t)}(y,t),i&&(b=!1),y}function I(e,t){for(const r of c)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 A(){c.size&&(S&&function(){if(g&&!m&&q(),!Ie(y))return;const e=Ie(w)?w:y;I(y,e)}(),S=!1,w=je)}const k=r?F(T,"number"==typeof r?r:r.delay,"number"==typeof r?{leading:!1,maxWait:r,trailing:!0}:r):void 0,C=k??(()=>{p||(p=!0,queueMicrotask(T))});function T(){c.size&&(p=!1,g&&q())}function K(e){e?queueMicrotask(()=>{c.size||E()}):E()}function M(){T(),v=null}function z(){if(!g){if(g=!0,!k){if(m){me();const e=be(),t=null===e?0:e+1;if(null!==v&&t<=v)return;return v=t,void function(e,t){if(!ue)return;const r=t<0?0:0|t,n=de.get(e);if(void 0===n){de.set(e,r);let t=ye.get(r);return t||(t=new Set,ye.set(r,t)),t.add(e),void(r<he&&(he=r))}if(r>n){const t=ye.get(n);if(t&&(t.delete(e),0===t.size&&(ye.delete(n),n===he))){he=1/0;for(const e of ye.keys())e<he&&(he=e)}de.set(e,r);let o=ye.get(r);o||(o=new Set,ye.set(r,o)),o.add(e),r<he&&(he=r)}}(M,t)}if(ge())return void(S||(S=!0,Ie(y)&&(w=y),Se(a,A)))}v=null,m&&!r?q():C()}}function x(){return g||!Ie(y)?c.size>0?q():e(j):y}function E(e=!0){s&&e||(k?.cancel(),O(),c.clear(),m=0,d=void 0,f=void 0,b=!0,p=!1,g=!0,y=je,S=!1,w=je,v=null)}return{destroy:()=>E(!1),flushUpdates:function(){c.size&&(k?k.flush():g&&q())},getSnapshot:function(){if(!Ie(y)){c.add(qe);const e=q();return c.delete(qe),e}return p&&T(),y},getState:x,subscribe:function(...e){if(1===e.length){const t=e[0];return c.add(t),1!==c.size||Ie(y)||x(),()=>{c.delete(t),c.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 c.add(i),i.currentSlice=t(x()),s&&(m+=1),n?.fireImmediately&&r(i.currentSlice,i.currentSlice),()=>{c.delete(i),s&&(m-=1),c.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=ve,t=void 0){return r.useSyncExternalStoreWithSelector(n.subscribe,n.getSnapshot,void 0,e,t)},n);var n}var je=Symbol(),Oe=0;function qe(){}function Ie(e){return e!==je}var Fe=class{constructor({disableAutoRefetching:e,initialEnabled:t}){this.count=0,this.enabled=!1,this.lastSubscriptionTime=null,this.fetchThrottleMs=null,this.onSubscribe=null,this.onLastUnsubscribe=null,this.enabled=t,e&&(this.fetchThrottleMs=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)}}},Ae={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 Ce=new WeakMap,Te=new WeakMap;function Ke(e,t=Me,r=ke){return function(e,t,r){let n=Te.get(e);n||(n=new Map,Te.set(e,n));let o=n.get(t);o||(o=new Map,n.set(t,o));const s=o.get(r);if(s)return s;const[i,a,c]=xe(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 Ce.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(()=>{}),Ce.set(f,i),o.set(r,f),f}(e,t,r)}var Me=e=>e,ze=(e,t,r)=>{if(!t.length)return r;const[n,...o]=t,s=e[n],i=ze(s,o,r);if(ke(s,i))return e;const a=Array.isArray(e)?e.slice():{...e};return a[n]=i,a},xe=(e,t,r)=>{const n=new Set,o=_(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!==Me)throw new Error("Cannot set a value with a selector");e.setState(e=>ze(e,r,n),!0)}]};function Ee(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var[De,Le]=[!0,!1],Pe={error:De,lastFetchedAt:De,queryCache:De,queryKey:De,status:De,enabled:Le,fetch:Le,getCacheEntry:Le,getData:Le,getStatus:Le,isDataExpired:Le,isStale:Le,reset:Le};function Re(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 $e(e){return JSON.stringify(Object.keys(e).sort().map(t=>e[t]))}function We(e){return JSON.stringify(_e(e))}function _e(e){return"object"!=typeof e||null===e?e:Object.keys(e).sort().reduce((t,r)=>{const n=e[r];return t[r]=null!==n&&"object"==typeof n?_e(n):n,t},{})}function Qe(e,t,r,n){return n?function(e,t){if(!e)return!1;for(const r of t)if(!(r in e))return!1;return!0}(n,r)?n:{...Ue(e,t),...n}:Ue(e,t)}function Ue(e,t){const r=t?.params??Object.create(null);for(const t in e?.params){const n=e.params[t];n&&(r[t]=n.value)}return r}function Be(){return Object.create(null)}function Ve(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(!Ee(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 Ne(e){return"function"==typeof e}function He(e){return!Ne(e)}function Je(e,t){return r=>{const n={...r},o={};for(const e in n)Ee(n,e)&&e in Pe&&(Pe[e]&&(o[e]=n[e]),delete n[e]);return{...t?t(n):K(n),...Ve(e,null,o)}}}M.seconds(5);var Ge=Symbol(),Xe=Object.freeze({debugMode:!1,enabled:!0,equalityFn:Object.is,fireImmediately:!1}),Ye=Object.freeze({fireImmediately:!1,forceResubscribe:!1});function Ze(e,t,r=Ye){if(t.current.isActive){if(!r?.forceResubscribe)return;t.current.unsubscribe()}t.current.options.debugMode,t.current.isActive=!0,t.current.resubscribe=(r=Ye)=>Ze(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 et(e){return"function"==typeof e?{equalityFn:e}:e??Xe}var tt=Symbol();function rt(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 nt(e,t){return"function"==typeof e[t]}exports.QueryStatuses=Ae,exports.applyStateUpdate=$,exports.configureStores=function(e){var t;g??(g=j()),e.logger&&(t=e.logger,u=t),e.storage&&(g.storage=e.storage),e.syncEngine&&(g.syncEngine=e.syncEngine)},exports.createBaseStore=Z,exports.createDerivedStore=we,exports.createQueryStore=function(e,t,r){const n="function"==typeof t?t:Be,o="object"==typeof t?t:r,s=o&&"storageKey"in o?o:void 0,{fetcher:i,onError:a,onFetched:f,setData:d,transform:y,abortInterruptedFetches:p=!0,cacheTime:h=M.days(7),debugMode:g=!1,disableAutoRefetching:b=!1,disableCache:m=!1,enabled:S=!0,keepPreviousData:v=!1,maxRetries:w=5,paramChangeThrottle:j=!1,params:O,retryDelay:q=Re,suppressStaleTimeWarning:I=!1,useParsableQueryKeys:A=!0}=e;let k="function"==typeof e.staleTime?M.minutes(2):e.staleTime??M.minutes(2);const C=A?We:$e,T=new Error("[createQueryStore: AbortError] Fetch interrupted"),K="function"==typeof h,z=Object.keys(e.params??Object.create(null));let x=null,E=null,D=null,L=[],P=!1,R=!1,$=null,W=null,_=null,Q=null,U=null;const B={enabled:"function"!=typeof S&&S,error:null,lastFetchedAt:null,queryCache:{},queryKey:"",status:Ae.Idle},V=new Fe({disableAutoRefetching:b,initialEnabled:B.enabled}),N=()=>{$&&(W=null,$.abort(),$=null)},H=(t,r,o)=>{const g=o.setState,S=(e,t)=>{const r="function"==typeof e;if(r||void 0!==e.enabled){let t;const n=g(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&&U!==t&&(U=t,V.setEnabled(t),t?queueMicrotask(()=>o.getState().fetch(void 0,{updateQueryKey:!0})):(_||p)&&(p&&N(),_&&(clearTimeout(_),_=null)))})(n.enabled,i)),s});return t?.(),n}return g(e)};o.setState=S,V.init({onSubscribe:(n,o,s)=>{if(E||x||!O&&"function"!=typeof e.enabled&&"function"!=typeof e.staleTime){if(n)if(o){const e=Ue(x,E),n=C(e),o=r();o.queryKey!==n&&t(e=>({...e,queryKey:n})),o.isStale()?I.fetch(e,void 0,!0):j(e,void 0)}else b&&!s&&I.fetch(void 0,void 0,!0)}else P=!0},onLastUnsubscribe:e=>{_&&(clearTimeout(_),_=null),p&&!e&&N()}});const j=(e,t)=>{if(b||t?.skipStoreUpdates)return;if(k<=0||k===1/0)return;_&&(clearTimeout(_),_=null);const n=C(e),o=r(),s=(m?Q===n&&o.lastFetchedAt:o.queryCache[n]?.lastFetchedAt)||null,i=s?k-(Date.now()-s):k;_=setTimeout(()=>{const t=V.get();t.enabled&&t.subscriptionCount>0&&I.fetch(e,{force:!0},!0)},i)},I={...n(S,r,o),...B,async fetch(e,n,o=!1){const g=V.get();if(!n?.force&&!n?.skipStoreUpdates&&!g.enabled)return null;const b=r(),O=b.error,F=b.queryKey,A=b.status,M=Qe(x,E,z,e),D=C(M),L=n?.staleTime??k,P=A===Ae.Loading,R=!!n?.skipStoreUpdates,U="boolean"==typeof n?.updateQueryKey?n.updateQueryKey:o?v:!R,B=o||!R&&(U||F===D);if(W?.promise&&W.key===D&&P)return W.promise;if(p&&!R&&!1!==n?.updateQueryKey&&N(),!n?.force){const e=b.lastFetchedAt,r=b.queryCache[D],o=r?.lastFetchedAt,s=r?.errorInfo,i=s&&s.retryCount>=w,a=(m?Q===D&&e:o)||null;if(a&&!(Date.now()-a>=L)&&(!s||i||R))return B&&!R&&!_&&g.subscriptionCount>0&&0!==k&&k!==1/0&&j(M,n),U&&t(e=>e.queryKey!==D?{...e,queryKey:D}:e),r?.data??null}!R&&B&&(_&&(clearTimeout(_),_=null),!O&&P||t(e=>({...e,error:null,status:Ae.Loading})),W={key:D});const H=n?.cacheTime??(K?h(M):h),J=async()=>{try{const e=await(p&&!R&&B?(async e=>{const t=new AbortController;$=t;try{return await new Promise((r,n)=>{t.signal.addEventListener("abort",()=>n(T),{once:!0}),Promise.resolve(i(e,t)).then(r,n)})}finally{$===t&&($=null)}})(M):i(M,null)),r=Date.now();let o;try{o=y?y(e,M):e}catch(e){throw new c(`[createQueryStore: ${s?.storageKey||D}]: transform failed`,e)}if(R)return"withCache"===n.skipStoreUpdates&&t(e=>{if(!d)return m?{...e,queryCache:{...e.queryCache,[D]:{cacheTime:H,data:o,errorInfo:null,lastFetchedAt:r}}}:e;let t=e;const n=t.queryCache[D];return d({data:o,params:M,queryKey:D,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!m&&Object.is(n,t.queryCache[D])&&(t={...t,queryCache:{...t.queryCache,[D]:{cacheTime:H,data:o,errorInfo:null,lastFetchedAt:r}}}),t}),o;if((d?S:t)(e=>{let t={...e,error:null,lastFetchedAt:r,queryKey:U?D:e.queryKey,status:Ae.Success};if(d||m){if(d){const e=t.queryCache[D];d({data:o,params:M,queryKey:D,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!m&&Object.is(e,t.queryCache[D])&&(t.queryCache={...t.queryCache,[D]:{cacheTime:H,data:null,errorInfo:null,lastFetchedAt:r}})}}else t.queryCache={...t.queryCache,[D]:{cacheTime:H,data:o,errorInfo:null,lastFetchedAt:r}};return m||h===1/0?t:Ve(v,D,t)}),B&&(Q=D,j(M,n)),f)try{f({data:o,fetch:I.fetch,params:M,set:S})}catch(e){u.error(new c(`[createQueryStore: ${s?.storageKey||D}]: onFetched callback failed`,e))}return o??null}catch(i){if(i===T)return null;const f=!o&&!0===n?.throwOnError,d=l(i);if(R||!B){if(u.error(new c(`[createQueryStore: ${s?.storageKey||D}]: Failed to fetch data`,d)),f)throw d;return null}const y=m?void 0:r().queryCache[D],p=y?.errorInfo?.retryCount??0,h=p+1;if(a?.(d,p),p<w){if(V.get().subscriptionCount>0){const t="function"==typeof q?q(h,d):q;t!==1/0&&(_&&clearTimeout(_),_=setTimeout(()=>{const{enabled:t,subscriptionCount:r}=V.get();t&&r>0&&I.fetch(e,{force:!0},!0)},t))}t(e=>({...e,error:d,queryCache:{...e.queryCache,[D]:{cacheTime:y?.cacheTime??H,data:y?.data??null,lastFetchedAt:y?.lastFetchedAt??null,errorInfo:{error:d,lastFailedAt:Date.now(),retryCount:h}}},queryKey:U?D:e.queryKey,status:Ae.Error}))}else t(e=>({...e,error:d,queryCache:{...e.queryCache,[D]:{cacheTime:y?.cacheTime??H,data:y?.data??null,lastFetchedAt:y?.lastFetchedAt??null,errorInfo:{error:d,lastFailedAt:Date.now(),retryCount:w}}},queryKey:U?D:e.queryKey,status:Ae.Error}));if(u.error(new c(`[createQueryStore: ${s?.storageKey||D}]: Failed to fetch data`,d)),f)throw d;return null}finally{!R&&B&&(W=null)}};return R||!B?J():(W={key:D,promise:J()}).promise},getCacheEntry(e){if(m)return null;const t=r(),n=e?"string"==typeof e?e:C(Qe(x,E,z,e)):t.queryKey;return t.queryCache[n]??null},getData(e){if(m)return null;const t=r().getCacheEntry(e);return t&&null!==t.data?v?t.data:t.lastFetchedAt&&Date.now()-t.lastFetchedAt>=t.cacheTime?null:t.data:null},getStatus:function(e){switch(e){case"isIdle":return r().status===Ae.Idle;case"isLoading":return r().status===Ae.Loading;case"isSuccess":{const e=r(),t=e.queryCache[e.queryKey]?.lastFetchedAt;return"number"==typeof t||e.status===Ae.Success}case"isError":case"isInitialLoad":case void 0:{const t=r(),n=t.queryCache[t.queryKey],o=(m?Q===t.queryKey&&t.lastFetchedAt:n?.lastFetchedAt)||null,s=t.status;switch(e){case"isError":{const e=t.queryCache[t.queryKey];return m?"error"!==s:"number"==typeof e?.errorInfo?.lastFailedAt}case"isInitialLoad":return!o&&s===Ae.Loading}return{isError:s===Ae.Error,isIdle:s===Ae.Idle,isLoading:s===Ae.Loading,isInitialLoad:!o&&s===Ae.Loading,isSuccess:s===Ae.Success}}}},isDataExpired(e){const t=r(),n=t.queryCache[t.queryKey],o=t.queryKey,s=t.lastFetchedAt,i=(m?Q===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=(m?Q===n&&t.lastFetchedAt:t.queryCache[n]?.lastFetchedAt)||null;if(!o)return!0;const s=e??k;return Date.now()-o>=s},reset(e=!1){for(const e of L)e();L=[],x=null,E=null,D=null,N(),_&&(clearTimeout(_),_=null),W=null,Q=null,e&&t(e=>({...e,...B}))}},F=o.subscribe;return o.subscribe=(...e)=>{const t=R?()=>{}:V.subscribe(),r=1===e.length?F(e[0]):F(...e);return e=>{t(e),r()}},I},J=s?.storageKey?Z(H,Object.assign(Object.create(null),s,{partialize:Je(v,s.partialize)})):o&&!("storageKey"in o)?Z(H,o):Z(H),G=J.getState(),X=G.error,Y=G.enabled,ee=G.queryKey;if(ee&&!X&&(Q=ee),R=!0,O||"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(!Ee(t,e))continue;const i=t[e];if(Ne(i)){const t=i(Ke,r);n[e]=t,s[e]=t.value}else He(i)&&(o[e]=i,s[e]=i)}let i,a=null,c=null;if(Ne(e)){const t=e(Ke,r);i=t.value,a=t}else i=e,c=e;return{attachVals:n,directValues:o,enabledAttachVal:a,enabledDirectValue:c,resolvedEnabled:i,resolvedParams:s}}(S,O,J);x={enabled:t,params:n},E={enabled:r,params:e}}"function"==typeof e.staleTime&&(D=e.staleTime(Ke,J),k=D.value);const te=function(){let e,t=!1;return function(...r){e=r,t||(t=!0,queueMicrotask(()=>{t=!1,(e=>{G.fetch(e??Ue(x,E),{updateQueryKey:v})})(...e)}))}}();function re(){let e;if(!v){e=Ue(x,E);const t=C(e);J.setState(e=>({...e,queryKey:t}))}te(e)}const ne=j?F(re,"number"==typeof j?j:j.delay,"number"==typeof j?{leading:!1,maxWait:j,trailing:!0}:j):re;if(x?.enabled){const e=x.enabled,t=Ce.get(e);if(t){let r=e.value;Y!==r&&J.setState(e=>({...e,enabled:r})),r&&V.setEnabled(r);const n=t(()=>{const t=e.value;t!==r&&(r=t,J.setState(e=>({...e,enabled:t})))});L.push(n)}}else Y!==B.enabled&&J.setState(e=>({...e,enabled:B.enabled}));for(const e in x?.params){const t=x.params[e];if(!t)continue;const r=Ce.get(t);if(r){let e=t.value;const n=r(()=>{const r=t.value;ke(e,r)||(e=r,ne())});L.push(n)}}if(D){const e=Ce.get(D);if(e){const t=D;let r=t.value;const n=e(()=>{const e=t.value;e!==r&&(r=e,k=e,J.getState().fetch())});L.push(n)}}return R=!1,P&&queueMicrotask(ne),oe=J,se="_queryStore",Object.assign(oe,{[se]:!0});var oe,se},exports.createStoreActions=function(e,t){const r=function(e){const t=e.getState(),r=Object.create(null);if(B(e)){for(const n in t)nt(t,n)&&(r[n]=rt(e,n));return r}for(const e in t)nt(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=we(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),W(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=Re,exports.destroyStore=W,exports.destroyStores=function(e,t){for(const r of Array.isArray(e)?e:Object.values(e))r&&!t?.skipDestroy?.(r)&&W(r,t)},exports.getLegacyQueryKey=$e,exports.getQueryKey=We,exports.getStoreName=function(e){return U(e)?e.persist.getOptions().name??e.name:e.name},exports.isDerivedStore=function(e){return"flushUpdates"in e},exports.isPersistedStore=U,exports.isQueryStore=Q,exports.isVirtualStore=B,exports.parseQueryKey=function(e){return JSON.parse(e)},exports.replacer=C,exports.reviver=T,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=Xe){const s=function(){const e=n.useRef(Ge);return e.current===Ge&&(e.current=function(e,t,r){return{selector:e,react:t,isActive:!1,options:et(r),resubscribe:()=>{},unsubscribe:()=>{}}}(t,r,o)),e}(),i=function(e){return"function"==typeof e?Xe.enabled:e?.enabled??Xe.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??Xe)}(s,o),n.useLayoutEffect(()=>{if(i)return Ze(e,s),()=>function(e){e.current.options.debugMode,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(tt);return t.current===tt&&(t.current=e()),t.current};
|
|
1
|
+
"use strict";var e=require("react-native"),t=require("zustand/middleware"),r=require("zustand/traditional"),n=require("use-sync-external-store/shim/with-selector"),o=require("react"),i=(e=>"undefined"!=typeof require?require:"undefined"!=typeof Proxy?new Proxy(e,{get:(e,t)=>("undefined"!=typeof require?require:e)[t]}):e)(function(e){if("undefined"!=typeof require)return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),s="ios"===e.Platform.OS;e.Platform.OS;var c="development"===process.env.NODE_ENV,a="test"===process.env.NODE_ENV;function u(e){let t;try{const{MMKV:r}=i("react-native-mmkv"),n=new r({id:e}),{getString:o,...s}=n;t=Object.assign(Object.create(null),s,{get:o})}catch(e){throw new Error("[stores] react-native-mmkv could not be loaded.\n\nPersisted stores require a storage backend. Either:\n - Install MMKV (the default): yarn add react-native-mmkv\n - Or provide a custom adapter via configureStores()\n"+(e instanceof Error?`\n${e.message}`:""))}return function(e){if(!e||"function"!=typeof e.get||"function"!=typeof e.set||"function"!=typeof e.delete||"function"!=typeof e.clearAll)throw new Error("[stores]: Storage instance does not conform to expected interface")}(t),{clearAll:()=>t.clearAll(),contains:e=>t.contains(e),delete:e=>t.delete(e),get:e=>t.get(e),getAllKeys:()=>t.getAllKeys(),set:(e,r)=>t.set(e,r)}}var l=class extends Error{constructor(e,t){super(e),this.name="StoresError",this.cause=d(t)}},f={debug:(e,t)=>{c&&console.debug(e,t)},error:(e,t)=>{c&&!a&&console.error(e,t)},info:(e,t)=>{c&&console.info(e,t)},warn:(e,t)=>{c&&console.warn(e,t)}};function d(e){return e instanceof Error?e:new Error(String(e))}var y,p,h=class{destroy(){}publish(){}},g=class{constructor(){this.sessionId="noop"}register(e){return new h}},b=!1;function m(){return p??(p=v(void 0))}function S(){b=!0}function v(e){return{storage:e?.storage??u(e?.storageKeyPrefix??"stores:"),syncEngine:e?.syncEngine??(y||(y=new g),y)}}function w(){let e,t,r=!1;return{complete:function(){!r&&e&&(r=!0,e(),e=void 0,t=void 0)},isHydrated:function(){return r},fail:function(n){!r&&t&&(r=!0,t(n),t=void 0,e=void 0)},promise:new Promise((r,n)=>{e=r,t=n})}}var O=Math.max,j=Math.min;function q(e,t=0,r={}){let n,o,i,s,c,a,u=0,l=!1,f=!1,d=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function y(t){const r=n,i=o;return n=o=void 0,u=t,s=r?e.apply(i,r):e.apply(i),s}function p(e){const r=e-(a??0);return void 0===a||r>=t||r<0||f&&void 0!==i&&e-u>=i}function h(){const e=F();if(p(e))return g(e);c=setTimeout(h,function(e){const r=t-(e-(a??0));return f&&void 0!==i?j(r,i-(e-u)):r}(e))}function g(e){return c=void 0,d&&n?y(e):(n=o=void 0,s)}function b(...e){const r=F(),i=p(r);if(n=e,o=this,a=r,i){if(void 0===c)return function(e){return u=e,c=setTimeout(h,t),l?y(e):s}(a);if(f)return clearTimeout(c),c=setTimeout(h,t),y(a)}return void 0===c&&(c=setTimeout(h,t)),s}return t=A(t)||0,function(e){const t=typeof e;return null!==e&&("object"===t||"function"===t)}(r)&&(l=!!r.leading,f="maxWait"in r,i=f?O(A(r.maxWait)||0,t):void 0,d="trailing"in r?!!r.trailing:d),b.cancel=function(){void 0!==c&&clearTimeout(c),u=0,n=a=o=c=void 0},b.flush=function(){return void 0===c?s:g(F())},b}function F(){return"undefined"!=typeof performance&&"function"==typeof performance.now?performance.now():Date.now()}function A(e){if("number"==typeof e)return e;if("symbol"==typeof e||void 0===e)return NaN;if("object"==typeof e&&null!==e){const t="function"==typeof e.valueOf?e.valueOf():e;e="object"==typeof t?t+"":t}return"string"!=typeof e?0===e?e:+e:(e=e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),/^0b[01]+$/i.test(e)?parseInt(e.slice(2),2):/^0o[0-7]+$/i.test(e)?parseInt(e.slice(2),8):/^[-+]0x[0-9a-f]+$/i.test(e)?NaN:+e)}function C(e,t){return t instanceof Map?{__type:"Map",entries:Array.from(t.entries())}:t instanceof Set?{__type:"Set",values:Array.from(t)}:t}function I(e,t){return function(e){return"object"==typeof e&&null!==e&&"__type"in e&&"Map"===e.__type}(t)?new Map(t.entries):function(e){return"object"==typeof e&&null!==e&&"__type"in e&&"Set"===e.__type}(t)?new Set(t.values):t}function k(e){if(null!==e&&"object"==typeof e){const t={};for(const[r,n]of Object.entries(e))"function"!=typeof n&&(t[r]=n);return t}return e}var T={ms:e=>e,seconds:e=>1e3*e,minutes:e=>T.seconds(60*e),hours:e=>T.minutes(60*e),days:e=>T.hours(24*e),weeks:e=>T.days(7*e),infinity:1/0,zero:0},E=a?0:s?T.seconds(3):T.seconds(5);function x(e){return t=>{if("string"!=typeof t)throw new l("[createBaseStore]: Received non-string serialized state without a custom deserializer. Provide a deserializer on the store or storage adapter.");return function(e,t){try{return JSON.parse(e,t?I:void 0)}catch(e){throw f.error(new l("[createBaseStore]: Failed to deserialize persisted Rainbow store data"),{error:e}),e}}(t,e)}}function M(e){return t=>function(e,t){try{return JSON.stringify(e,t?C:void 0)}catch(e){throw f.error(new l("[createBaseStore]: Failed to serialize Rainbow store data"),{error:e}),e}}(t,e)}var z=Object.freeze({shouldClear:!1});function D(e,t,r){if(!t||!e)return z;const n=e.getFieldTimestampSnapshot();return function(e,t){const r=e.getSessionId(),n=e.getTimestamp();void 0!==r&&void 0!==n&&(t.syncMetadata={origin:r,timestamp:n})}(e,r),r.syncMetadata?n&&Object.keys(n).length>0?(r.syncMetadata.fields=n,{fieldSnapshot:n,shouldClear:!0}):(delete r.syncMetadata.fields,{fieldSnapshot:n,shouldClear:!1}):{fieldSnapshot:n,shouldClear:!1}}function K(e,t){e&&t.shouldClear&&t.fieldSnapshot&&Object.keys(t.fieldSnapshot).length&&e.clearFieldTimestamps(t.fieldSnapshot)}function P(e){return!!e&&!!e.getIsApplyingRemote()}function $(e,...t){return!0===t[1]?V(t[0])?t[0](e):t[0]:{...e,...V(t[0])?t[0](e):t[0]}}function L(e,t){W(e)?e.getState().reset(t?.clearQueryCache):function(e){return"destroy"in e}(e)&&e.destroy()}function R(e){return _(e)?e.persist.getOptions().name??e.name:e.name}function N(e){return"getSnapshot"in e}function W(e){return"_queryStore"in e}function _(e){return"persist"in e}function Q(e){return"_virtualStore"in e}function V(e){return"function"==typeof e}var[J,U]=[0,1];function B(e,t,r){if(!e)return!0;const n=e[J],o=e[U];return!(t<n)&&(t>n||r>o)}function H(e,t){return Object.prototype.hasOwnProperty.call(t,e)}function G(e,t){if(!c)return!0;if(null===e||null===t)return e===t;const r=typeof e;return r===typeof t&&("object"!==r||Object.prototype.toString.call(e)===Object.prototype.toString.call(t))}function X(e){if(null===e)return"null";const t=typeof e;return"object"===t?Object.prototype.toString.call(e):t}function Y(e,n){S();const o=void 0!==n&&"string"==typeof n.storageKey,i=o?n.storageKey:void 0,s=n?.sync?function(e,t){if(!e)return null;if(!0===e){if(!t)throw new l("[createBaseStore]: sync: true requires a storageKey to inherit the key from");return{key:t}}if("string"==typeof e)return{key:e};const r=e,n=r.key??t;if(!n)throw new l("[createBaseStore]: sync requires either a key in the config or a storageKey to inherit from");return{...r,key:n}}(n.sync,i):void 0,c=o?n.storage??m().storage:void 0,a=s?function(e,t,r){const n=t.engine??m().syncEngine,o=function(e){let t,r,n,o=!1;return{isAsync:e,clearFieldTimestamps:function(e){if(e&&n){for(const t of Object.entries(e)){const e=t[0],r=t[1];n[e]===r&&delete n[e]}Object.keys(n).length||(n=void 0)}},getFieldTimestampSnapshot:function(){if(n)return{...n}},getIsApplyingRemote:()=>o,getSessionId:()=>t,getTimestamp:()=>r,mergeFieldTimestamps:function(e){if(n)for(const t of Object.entries(e)){const e=t[0],r=t[1],o=n[e];(void 0===o||r>o)&&(n[e]=r)}else n={...e}},onHydrationComplete:void 0,onHydrationFlushEnd:void 0,setIsApplyingRemote:e=>o=e,setSessionId:e=>t=e,setTimestamp:e=>r=e,setWithoutPersist:void 0}}(r);return{stateCreator:(i,s,c)=>{const a=new Map,u=[],d=[];let y=null,p=!1,h=!1,g=0,b=null,m=[],S=Promise.resolve(),v=!r;const w=(e,t)=>{if(o?.setSessionId&&o?.setTimestamp&&n.sessionId&&(o.setSessionId(n.sessionId),o.setTimestamp(e),o.mergeFieldTimestamps&&t.length>0)){const r=Object.create(null);for(const n of t)r[String(n)]=e;o.mergeFieldTimestamps(r)}},O=function(e,t){if(p||!b)return t?i(e,t):i(e);const r=(()=>{const e=Date.now(),t=e>g?e:g+1;return g=t,t})();let o=[],s=Object.create(null);const c=n=>{const i=$(n,e,t);for(const e of m)Object.is(i[e],n[e])||(o.push(e),s[e]=i[e]);return o.length&&w(r,o),i},u=t?i(c,!0):i(c),l=()=>{o.length&&(e=>{const t=n.sessionId;for(const r of e.keys)a.set(r,[e.timestamp,t]);y&&h?y.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values}):d.push(e)})({keys:o,replace:t??!1,values:s,timestamp:r})};return(f=u)&&"object"==typeof f&&"then"in f&&"function"==typeof f.then?u.finally(l):(l(),u);var f},j=c.setState;c.setState=O;const q=e(O,s,c);if(m=t.fields??function(e){const t=[];for(const r of Object.entries(e)){if("function"==typeof r[1])continue;const e=r[0];t.push(e)}return t}(q),!m.length)return q;b=new Set(m);const F=async e=>{g=Math.max(g,e.timestamp);const r=Object.create(null),n=s(),i=e.timestamp;let c;if(e.replace)for(const t of m)H(t,e.values)||B(a.get(t),i,e.sessionId)&&(c??(c=[])).push(t);for(const o of m){if(!H(o,e.values))continue;if(!b?.has(o))continue;if(!B(a.get(o),i,e.sessionId))continue;const s=t.merge?.[o];if(s){const t=e.values[o],c=n[o];if(void 0!==t){const u=s(t,c,n,e.values),d=void 0!==c?c:t;if(!G(u,d))return void f.error(new l(`[sync] Merge function for field "${String(o)}" returned ${X(u)} but expected ${X(d)}`));r[o]=u,a.set(o,[i,e.sessionId])}}else r[o]=e.values[o],a.set(o,[i,e.sessionId])}if(Object.keys(r).length>0||c?.length){p=!0,o&&o.setIsApplyingRemote(!0);try{if(e.replace){const e={...n};let t=!1;if(c?.length){t=!0;for(const t of c)delete e[t],a.delete(t)}for(const n in r){if(!Object.prototype.hasOwnProperty.call(r,n))continue;const o=r[n];void 0!==o&&(Object.is(e[n],o)||(t=!0),e[n]=o)}if(!t)return;await(o.setWithoutPersist??j)(e,!0)}else await(o.setWithoutPersist??j)(r)}finally{p=!1,o&&o.setIsApplyingRemote(!1)}}},A=e=>{r?S=S.then(()=>F(e)):F(e)};y=n.register({apply:e=>{v?A(e):u.push(e)},delta:t.delta,fields:m,getState:s,key:t.key});const C=()=>{h=!0,(()=>{if(y&&d.length){for(const e of d){const t=n.sessionId;for(const r of e.keys)a.set(r,[e.timestamp,t]);w(e.timestamp,e.keys),y.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values})}d.length=0}})()},I=()=>{v=!0,(()=>{if(!u.length)return;const e=u.slice();u.length=0;for(const t of e)A(t)})()};return r&&o?(o.onHydrationComplete=C,o.onHydrationFlushEnd=I):y.onHydrated?(y.onHydrated(C),I()):(C(),I()),q},syncContext:o}}(e,s,c?.async??!1):void 0,u=a?.stateCreator??e;if(!o)return r.createWithEqualityFn()(t.subscribeWithSelector(u),Object.is);const y=c?.async?function(e){let t,r,n,o=!1;return{hydrationPromise:()=>o?t?.promise??r??(r=Promise.resolve()):(t||(t=w()),t.promise),stateCreator:(r,i,s)=>{let c;return n=()=>{if(c?.length){for(const e of c)e[1]?s.setState(e[0],e[1]):s.setState(e[0]);c=void 0}},e((...e)=>o?!0===e[1]?r(e[0],e[1]):r(e[0]):(t||(t=w()),c||(c=[]),c.push(e),t.promise),i,s)},wrapOnRehydrateStorage:(e,r)=>i=>{const s=e?.(i);return(e,i)=>{o=!0,r?.onHydrationComplete?.(),n&&n(),r?.onHydrationFlushEnd?.(),i?t?.fail(d(i)):t?.complete(),s?.(e,i)}}}}(u):null,p=function(e,t,r){const n=t??e.storage??m().storage,o=(e.sync?void 0:e.persistThrottleMs??E)||void 0,i=e.version??0,s=n.async?function(e,t,r,n){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),i="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),s=t.partialize??k,c=t.deserializer??e.deserializer??x(o),a=t.serializer??e.serializer??M(o);async function u(t,r){try{if(P(n))return;r.state,r.state=s(r.state);const o=D(n,i,r),c=a(r);try{await e.set(t,c),K(n,o)}catch(e){f.error(new l("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){f.error(new l("[createBaseStore]: Failed to serialize persisted store data"),{error:e})}}const d=void 0!==r?q(u,r,{leading:!1,maxWait:r,trailing:!0}):function(e){let t,r=null;return function(...n){return t=n,r||(r=new Promise(n=>{queueMicrotask(async()=>{try{await e(...t)}finally{r=null,n()}})})),r}}(u);return{getItem:async t=>{const r=await e.get(t);return void 0===r?null:c(r)},setItem:async(e,t)=>{if(!n?.getIsApplyingRemote())return await d(e,t)},removeItem:async t=>{try{await e.delete(t)}catch(e){f.error(new l("[createBaseStore]: Failed to delete persisted store data"),{error:e})}}}}(n,e,o,r):function(e,t,r,n){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),i="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),s=t.partialize??k,c=t.deserializer??e.deserializer??x(o),a=t.serializer??e.serializer??M(o);function u(t,r){try{if(P(n))return;r.state,r.state=s(r.state);const o=D(n,i,r),c=a(r);try{e.set(t,c),K(n,o)}catch(e){f.error(new l("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){f.error(new l("[createBaseStore]: Failed to persist store data"),{error:e})}}const d=void 0!==r?q(u,r,{leading:!1,maxWait:r,trailing:!0}):u;return{getItem:t=>{const r=e.get(t);return void 0===r?null:c(r)},setItem:(e,t)=>{n?.getIsApplyingRemote()||d(e,t)},removeItem:t=>{try{e.delete(t)}catch(e){f.error(new l("[createBaseStore]: Failed to delete persisted store data"),{error:e})}}}}(n,e,o,r);return{persistStorage:s,version:i}}(n,c,a?.syncContext),h=y?y.wrapOnRehydrateStorage(n.onRehydrateStorage,a?.syncContext):n.onRehydrateStorage,g=y?(e,t,r)=>(a&&(a.syncContext.setWithoutPersist=r.setState),y.stateCreator(e,t,r)):u,b=r.createWithEqualityFn()(t.subscribeWithSelector(t.persist(g,function(e,t,r){const n={name:e.storageKey,onRehydrateStorage:r,storage:t.persistStorage,version:t.version};return void 0!==e.merge&&(n.merge=e.merge),void 0!==e.migrate&&(n.migrate=e.migrate),n}(n,p,h))),Object.is);return y?Object.assign(b,{persist:Object.assign(b.persist,{hydrationPromise:y.hydrationPromise})}):b}function Z(e,t,r="s"){return 1===t?e:`${e}${r}`}function ee(e,t,r){const n=t.get(e);if(!n){const n=function(e,t,r,n=[]){return e&&"object"==typeof e?te(e,n,t,r,new WeakSet,new WeakMap):(r(t,n,!0),e)}(N(e)?e.getSnapshot():e.getState(),e,r);return t.set(e,n),n}return n}function te(e,t,r,n,o,i){return new Proxy(e,{get(s,c,a){if(o.has(s))return Reflect.get(s,c,a);if("__proto__"===c||"symbol"==typeof c)return c===Symbol.iterator&&(n(r,t,!0),o.add(s)),Reflect.get(s,c,a);const u=Reflect.get(s,c,s),l=String(c),f=t.concat(l);if("function"==typeof u)return Object.prototype.hasOwnProperty.call(s,c)?function(...e){return n(r,f,!0,{method:l,args:e.length?e:void 0}),Reflect.apply(u,s,e)}:(n(r,t,!0),u.bind(e));const d=!!u&&"object"==typeof u;return n(r,f,!d),d?(i.has(u)||i.set(u,te(u,f,r,n,o,i)),i.get(u)):u},getOwnPropertyDescriptor:(e,i)=>(n(r,t,!0),o.add(e),Reflect.getOwnPropertyDescriptor(e,i)),has:(e,o)=>(n(r,t,!0),Reflect.has(e,o)),ownKeys:e=>(n(r,t,!0),o.add(e),Reflect.ownKeys(e))})}function re(e){return t=>oe(t,e)}function ne(e,t){const r=e.slice(0,-1);return e=>{const n=oe(e,r),o=n?.[t.method];return"function"==typeof o?o.apply(n,t.args):void 0}}function oe(e,t){let r=e;for(const e of t){if(!r||"object"!=typeof r)return r;r=r[e]}return r}function ie(){const e=new Map;return{buildProxySubscriptions(t,r){const n=new Set;for(const[t,r]of e)ae(r,t,[],0,n);!function(e,t,r){for(const r of e)t(r.store,r.invocation?ne(r.path,r.invocation):re(r.path));r&&function(e){const t=e.size;console.log(`[π‘ ${t} ${Z("Proxy Subscription",t)} π‘]:`,JSON.stringify(Array.from(e).map(e=>{const t=R(e.store),r=e.path.join(".");if(!e.invocation)return r?`$(${t}).${r}`:`$(${t})`;const n=e.invocation.args?.length??0;return`$(${t}).${r}${n?`(${n}_${Z("arg",n)})`:"()"}`}),null,2))}(e)}(n,t,r)},trackPath(t,r,n,o){let i=e.get(t);i||(i=se(),e.set(t,i)),ce(i,r,0,n,o)}}}function se(){return Object.create(null)}function ce(e,t,r,n,o){if(r===t.length)return n&&(e.isLeaf=!0),void(o&&(e.invocation=o));e.children||(e.children=se());const i=t[r];let s=e.children?.[i];s||(s=se(),e.children[i]=s),ce(s,t,r+1,n,o)}function ae(e,t,r,n,o,i=1){const s=e.children;if(!s)return void o.add({store:t,path:r,invocation:e.invocation,isLeaf:e.isLeaf??!1});const c=Object.keys(s),a=c.length;if(0!==a)if(e.isLeaf||n>=i&&a>1){o.add({store:t,path:r,invocation:e.invocation,isLeaf:e.isLeaf??!1});for(const e of c){const c=s[e];c.invocation&&ae(c,t,[...r,e],n+1,o,i)}}else if(n<i&&a>1&&!e.isLeaf)for(const e of c)ae(s[e],t,[...r,e],n+1,o,i);else{if(1===a){const e=c[0];return void ae(s[e],t,[...r,e],n+1,o,i)}o.add({store:t,path:r,invocation:e.invocation,isLeaf:e.isLeaf??!1})}else o.add({store:t,path:r,invocation:e.invocation,isLeaf:e.isLeaf??!1})}var ue=!1,le=!1,fe=new Map,de=new Map,ye=new Map,pe=null,he=1/0;function ge(){return ue}function be(){return pe}function me(){ue||(ue=!0,le||(le=!0,queueMicrotask(()=>{le=!1,e.unstable_batchedUpdates(()=>{for(;de.size>0;){const e=he,t=ye.get(e);if(t){ye.delete(e);for(const e of t)de.delete(e);pe=e;for(const e of t)e();if(pe=null,ye.size>0){he=1/0;for(const e of ye.keys())e<he&&(he=e)}else he=1/0}else{he=1/0;for(const e of ye.keys())e<he&&(he=e)}}for(;fe.size>0;){const e=Array.from(fe.values());fe.clear();for(const t of e)t()}}),ue=!1,pe=null,de.clear(),ye.clear(),he=1/0})))}function Se(e,t){ue&&fe.set(e,t)}var ve=e=>e;function we(e,t=Object.is){return r=function(e,t=Object.is){const{debounceOptions:r,debugMode:n,equalityFn:o,keepAlive:i,lockDependencies:s}="function"==typeof(l=t)?{debounceOptions:void 0,debugMode:!1,equalityFn:l,keepAlive:!1,lockDependencies:!1}:{debounceOptions:l.debounce,debugMode:(c&&l.debugMode)??!1,equalityFn:l.equalityFn??Object.is,keepAlive:l.keepAlive??!1,lockDependencies:l.lockDependencies??!1},a=String(je+=1),u=new Set;var l;i&&u.add(qe);const f=new Set;let d,y,p=Oe,h=!1,g=!0,b=!0,m=!0,S=0,v=!1,w=null,O=Oe;function j(e,t,r){if(!m||!u.size)return(t??ve)(N(e)?e.getSnapshot():e.getState());if(!t)return d||(d=new WeakMap),y||(y=ie()),ee(e,d,y.trackPath);const n=e.subscribe(t,z,{equalityFn:r??Object.is,isDerivedStore:!0});return f.add(n),t(N(e)?e.getSnapshot():e.getState())}function F(e){for(const t of f)t(e);f.clear()}function A(){if(!b&&Fe(p))return p;b=!1,m&&F(!0);const t=p,r=Fe(t);p=function(t){g=!0;const r=p,i=e(t);return Fe(r)&&o(r,i)?(n&&console.log("[π₯· Derive Complete π₯·]: No change detected"),g=!1,r):i}(j);const i=n&&(!r||"verbose"===n&&m);if(i){r?"verbose"===n&&console.log("[π Rebuilding Subscriptions π]: Createdβ¦"):console.log("[π Initial Derive Complete π]: Createdβ¦");const e=f.size;console.log(`[π― ${e} ${Z("Selector Subscription",e)} π―]`)}return y&&m&&(y.buildProxySubscriptions((e,t)=>{const r=e.subscribe(t,z,{equalityFn:Object.is,isDerivedStore:!0});f.add(r)},i),d=void 0,y=void 0),g&&r&&function(e,t){const r=function(){const e=u.has(qe)?u.size-1:u.size;return S>0&&S<e}(),o=!S||r,i=r||null!==be()||ge()&&o;r&&me(),n&&console.log(`[π» Derive Complete π»]: Notifying ${u.size} ${Z("watcher",u.size)}`);for(const t of u){if("function"==typeof t||!t.isDerivedWatcher)continue;const r=t.selector(e);if(!t.equalityFn(t.currentSlice,r)){const e=t.currentSlice;t.currentSlice=r,t.listener(r,e)}}i?v||(v=!0,Fe(O)||(O=t),Se(a,I)):C(e,t)}(p,t),s&&(m=!1),p}function C(e,t){for(const r of u)if("function"==typeof r)r(e,t);else if(!r.isDerivedWatcher){const t=r.selector(e);if(!r.equalityFn(r.currentSlice,t)){const e=r.currentSlice;r.currentSlice=t,r.listener(t,e)}}}function I(){u.size&&(v&&function(){if(b&&!S&&A(),!Fe(p))return;const e=Fe(O)?O:p;C(p,e)}(),v=!1,O=Oe)}const k=r?q(E,"number"==typeof r?r:r.delay,"number"==typeof r?{leading:!1,maxWait:r,trailing:!0}:r):void 0,T=k??(()=>{h||(h=!0,queueMicrotask(E))});function E(){u.size&&(h=!1,b&&A())}function x(e){e?queueMicrotask(()=>{u.size||K()}):K()}function M(){E(),w=null}function z(){if(!b){if(b=!0,!k){if(S){me();const e=be(),t=null===e?0:e+1;if(null!==w&&t<=w)return;return w=t,void function(e,t){if(!ue)return;const r=t<0?0:0|t,n=de.get(e);if(void 0===n){de.set(e,r);let t=ye.get(r);return t||(t=new Set,ye.set(r,t)),t.add(e),void(r<he&&(he=r))}if(r>n){const t=ye.get(n);if(t&&(t.delete(e),0===t.size&&(ye.delete(n),n===he))){he=1/0;for(const e of ye.keys())e<he&&(he=e)}de.set(e,r);let o=ye.get(r);o||(o=new Set,ye.set(r,o)),o.add(e),r<he&&(he=r)}}(M,t)}if(ge())return void(v||(v=!0,Fe(p)&&(O=p),Se(a,I)))}w=null,S&&!r?A():T()}}function D(){return b||!Fe(p)?u.size>0?A():e(j):p}function K(e=!0){i&&e||(k?.cancel(),F(),u.clear(),S=0,y=void 0,d=void 0,m=!0,h=!1,b=!0,p=Oe,v=!1,O=Oe,w=null)}return{destroy:()=>K(!1),flushUpdates:function(){u.size&&(k?k.flush():b&&A())},getSnapshot:function(){if(!Fe(p)){u.add(qe);const e=A();return u.delete(qe),e}return h&&E(),p},getState:D,subscribe:function(...e){if(1===e.length){const t=e[0];return u.add(t),1!==u.size||Fe(p)||D(),()=>{u.delete(t),u.size||x(!1)}}const[t,r,n]=e,o=n?.equalityFn??Object.is,i=n?.isDerivedStore??!1,s={currentSlice:void 0,equalityFn:o,isDerivedWatcher:i,listener:r,selector:t};return u.add(s),s.currentSlice=t(D()),i&&(S+=1),n?.fireImmediately&&r(s.currentSlice,s.currentSlice),()=>{u.delete(s),i&&(S-=1),u.size||x(i)}},getInitialState:()=>{throw new Error("[createDerivedStore]: getInitialState() is not available on derived stores.")},setState:()=>{throw new Error("[createDerivedStore]: setState() is not available on derived stores.")}}}(e,t),Object.assign(function(e=ve,t=void 0){return n.useSyncExternalStoreWithSelector(r.subscribe,r.getSnapshot,void 0,e,t)},r);var r}var Oe=Symbol(),je=0;function qe(){}function Fe(e){return e!==Oe}var Ae=class{constructor({disableAutoRefetching:e,initialEnabled:t}){this.count=0,this.enabled=!1,this.lastSubscriptionTime=null,this.fetchThrottleMs=null,this.onSubscribe=null,this.onLastUnsubscribe=null,this.enabled=t,e&&(this.fetchThrottleMs=T.seconds(5))}init({onSubscribe:e,onLastUnsubscribe:t}){this.onSubscribe=e,this.onLastUnsubscribe=t}get(){return{enabled:this.enabled,lastSubscriptionTime:this.lastSubscriptionTime,subscriptionCount:this.count}}setEnabled(e){this.enabled=e}subscribe(){const e=0===this.count,t=null!==this.fetchThrottleMs&&null!==this.lastSubscriptionTime&&!e&&Date.now()-this.lastSubscriptionTime<=this.fetchThrottleMs;return this.onSubscribe?.(this.enabled,e,t),this.count+=1,this.lastSubscriptionTime=Date.now(),e=>{const t=1===this.count;this.count=Math.max(this.count-1,0),t&&(this.onLastUnsubscribe?.(e),this.lastSubscriptionTime=null)}}},Ce={Error:"error",Idle:"idle",Loading:"loading",Success:"success"};function Ie(e,t){const r=Object.prototype.hasOwnProperty;function n(e,t){for(const r of e.keys())if(Ie(r,t))return r}let o,i,s;if(e===t)return!0;if(e&&t&&(o=e.constructor)===t.constructor){if(o===Date)return e.getTime()===t.getTime();if(o===RegExp)return e.toString()===t.toString();if(o===Array){if((i=e.length)===t.length)for(;i--&&Ie(e[i],t[i]););return-1===i}if(o===Set){if(e.size!==t.size)return!1;for(let r of e){if(s=r,s&&"object"==typeof s&&(s=n(t,s),!s))return!1;if(!t.has(s))return!1}return!0}if(o===Map){if(e.size!==t.size)return!1;for(let r of e){if(s=r[0],s&&"object"==typeof s&&(s=n(t,s),!s))return!1;if(!Ie(r[1],t.get(s)))return!1}return!0}if(o===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(o===DataView){if((i=e.byteLength)===t.byteLength)for(;i--&&e.getInt8(i)===t.getInt8(i););return-1===i}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){const r=e,n=t;if((i=r.byteLength)===n.byteLength)for(;i--&&r[i]===n[i];);return-1===i}if(!o||"object"==typeof e){i=0;for(const n in e){if(r.call(e,n)&&++i&&!r.call(t,n))return!1;if(!(n in t)||!Ie(e[n],t[n]))return!1}return Object.keys(t).length===i}}return e!=e&&t!=t}var ke=new WeakMap,Te=new WeakMap;function Ee(e,t=xe,r=Ie){return function(e,t,r){let n=Te.get(e);n||(n=new Map,Te.set(e,n));let o=n.get(t);o||(o=new Map,n.set(t,o));const i=o.get(r);if(i)return i;const[s,c,a]=ze(e,t,r),u=new Map,l=e=>{const t={get(t,r){if("value"===r){let t=c();const r=e.split(".");for(const e of r)e&&(t=t[e]);return t}const n="string"==typeof r?r:r.toString(),o=e?`${e}.${n}`:n,i=u.get(o);if(i)return i;const a=l(o);return ke.set(a,s),u.set(o,a),a},set(t,r,n){const o=e.split(".");return""===o[0]&&o.shift(),a(o,n),!0}};return new Proxy(Object.create(null),t)},f=l("");return s(()=>{}),ke.set(f,s),o.set(r,f),f}(e,t,r)}var xe=e=>e,Me=(e,t,r)=>{if(!t.length)return r;const[n,...o]=t,i=e[n],s=Me(i,o,r);if(Ie(i,s))return e;const c=Array.isArray(e)?e.slice():{...e};return c[n]=s,c},ze=(e,t,r)=>{const n=new Set,o=N(e);let i,s=t(o?e.getSnapshot():e.getState());return[c=>(n.size||(i=e.subscribe(t,e=>{s=e,n.forEach(e=>e())},{equalityFn:r,isDerivedStore:o})),n.add(c),()=>{n.delete(c),!n.size&&i&&(i(),i=void 0)}),()=>(n.size||(s=t(e.getState())),s),(r,n)=>{if(t!==xe)throw new Error("Cannot set a value with a selector");e.setState(e=>Me(e,r,n),!0)}]};function De(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var[Ke,Pe]=[!0,!1],$e={error:Ke,lastFetchedAt:Ke,queryCache:Ke,queryKey:Ke,status:Ke,enabled:Pe,fetch:Pe,getCacheEntry:Pe,getData:Pe,getStatus:Pe,isDataExpired:Pe,isStale:Pe,reset:Pe},Le=T.seconds(5);function Re(e,t){const r=t?.baseDelay??T.seconds(5),n=t?.maxDelay??T.minutes(5),o=Math.pow(2,e);return Math.min(r*o,n)}function Ne(e){return JSON.stringify(Object.keys(e).sort().map(t=>e[t]))}function We(e){return JSON.stringify(_e(e))}function _e(e){return"object"!=typeof e||null===e?e:Object.keys(e).sort().reduce((t,r)=>{const n=e[r];return t[r]=null!==n&&"object"==typeof n?_e(n):n,t},{})}function Qe(e,t,r,n){return n?Ue(n,r)?n:{...Ve(e,t),...n}:Ve(e,t)}function Ve(e,t){const r=t?.params??Object.create(null);for(const t in e?.params){const n=e.params[t];n&&(r[t]=n.value)}return r}function Je(){return Object.create(null)}function Ue(e,t){if(!e)return!1;for(const r of t)if(!(r in e))return!1;return!0}function Be(e,t,r){if(!r.queryCache)return r;const n=Date.now(),o=t??(e&&r.queryKey||null);let i=!1;const s=Object.create(null);for(const e in r.queryCache){if(!De(r.queryCache,e))continue;const c=r.queryCache[e];c&&(n-(c.lastFetchedAt??c.errorInfo.lastFailedAt)<c.cacheTime||e===o)?!t&&c.errorInfo&&c.errorInfo.retryCount>0?(s[e]={...c,errorInfo:{...c.errorInfo,retryCount:0}},i=!0):s[e]=c:i=!0}return i?{...r,queryCache:s}:r}function He(e){return"function"==typeof e}function Ge(e){return!He(e)}function Xe(e,t){return r=>{const n={...r},o={};for(const e in n)De(n,e)&&e in $e&&($e[e]&&(o[e]=n[e]),delete n[e]);return{...t?t(n):k(n),...Be(e,null,o)}}}var Ye=Symbol(),Ze=Object.freeze({debugMode:!1,enabled:!0,equalityFn:Object.is,fireImmediately:!1}),et=Object.freeze({fireImmediately:!1,forceResubscribe:!1});function tt(e,t,r=et){if(t.current.isActive){if(!r?.forceResubscribe)return;t.current.unsubscribe()}t.current.options.debugMode&&console.log("[π‘ useListen π‘] Attaching listener"),t.current.isActive=!0,t.current.resubscribe=(r=et)=>tt(e,t,r);const n=e.subscribe(e=>t.current.selector(e),(e,r)=>t.current.react(e,r,()=>{n(),t.current.isActive=!1}),r.fireImmediately?{...t.current.options,fireImmediately:!0}:t.current.options);t.current.unsubscribe=()=>{t.current.isActive&&(n(),t.current.isActive=!1)}}function rt(e){return"function"==typeof e?{equalityFn:e}:e??Ze}var nt=Symbol();function ot(e,t){return function(...r){const n=e.getState()[t];if("function"==typeof n)return n(...r);throw new Error(`[createVirtualStoreAction]: Method ${String(t)} is not a function`)}}function it(e,t){return"function"==typeof e[t]}exports.QueryStatuses=Ce,exports.applyStateUpdate=$,exports.configureStores=function(e){var t;c&&function(){if(b)throw new Error("[stores]: configureStores() called after first store creation. Call it earlier before creating any stores.")}(),e.logger&&(t=e.logger,f=t),p??(p=v(e))},exports.createBaseStore=Y,exports.createDerivedStore=we,exports.createQueryStore=function(e,t,r){S();const n="function"==typeof t?t:Je,o="object"==typeof t?t:r,i=o&&"storageKey"in o?o:void 0,{fetcher:s,onError:u,onFetched:y,setData:p,transform:h,abortInterruptedFetches:g=!0,cacheTime:b=T.days(7),debugMode:m=!1,disableAutoRefetching:v=!1,disableCache:w=!1,enabled:O=!0,keepPreviousData:j=!1,maxRetries:F=5,paramChangeThrottle:A=!1,params:C,retryDelay:I=Re,suppressStaleTimeWarning:k=!1,useParsableQueryKeys:E=!0}=e;let x="function"==typeof e.staleTime?T.minutes(2):e.staleTime??T.minutes(2);c&&!v&&!k&&x<Le&&console.warn(`[createQueryStore${i?.storageKey?`: ${i.storageKey}`:""}] β Stale times under ${Le/1e3} seconds are not recommended. Provided staleTime: ${x/1e3} seconds`);const M=E?We:Ne,z=new Error("[createQueryStore: AbortError] Fetch interrupted"),D="function"==typeof b,K=c&&m,P=Object.keys(e.params??Object.create(null));let $=null,L=null,R=null,N=[],W=!1,_=!1,Q=null,V=null,J=null,U=null,B=null;const H={enabled:"function"!=typeof O&&O,error:null,lastFetchedAt:null,queryCache:{},queryKey:"",status:Ce.Idle},G=new Ae({disableAutoRefetching:v,initialEnabled:H.enabled}),X=()=>{Q&&(V=null,Q.abort(),Q=null)},Z=(t,r,o)=>{const c=o.setState,a=(e,t)=>{const r="function"==typeof e;if(r||void 0!==e.enabled){let t;const n=c(n=>{const i=r?e(n):e,s=void 0!==i.enabled?i.enabled:n.enabled;return s!==n.enabled&&(t=()=>((e,t)=>{e!==t&&B!==t&&(B=t,G.setEnabled(t),t?queueMicrotask(()=>o.getState().fetch(void 0,{updateQueryKey:!0})):(J||g)&&(g&&X(),J&&(clearTimeout(J),J=null)))})(n.enabled,s)),i});return t?.(),n}return c(e)};o.setState=a,G.init({onSubscribe:(n,o,i)=>{if(L||$||!C&&"function"!=typeof e.enabled&&"function"!=typeof e.staleTime){if(n)if(o){const e=Ve($,L),n=M(e),o=r();o.queryKey!==n&&t(e=>({...e,queryKey:n})),o.isStale()?S.fetch(e,void 0,!0):m(e,void 0)}else v&&!i&&S.fetch(void 0,void 0,!0)}else W=!0},onLastUnsubscribe:e=>{J&&(clearTimeout(J),J=null),g&&!e&&X()}});const m=(e,t)=>{if(v||t?.skipStoreUpdates)return;if(x<=0||x===1/0)return;J&&(clearTimeout(J),J=null);const n=M(e),o=r(),i=(w?U===n&&o.lastFetchedAt:o.queryCache[n]?.lastFetchedAt)||null,s=i?x-(Date.now()-i):x;J=setTimeout(()=>{const t=G.get();t.enabled&&t.subscriptionCount>0&&S.fetch(e,{force:!0},!0)},s)},S={...n(a,r,o),...H,async fetch(e,n,o=!1){const c=G.get();if(!n?.force&&!n?.skipStoreUpdates&&!c.enabled)return null;const v=r(),O=v.error,q=v.queryKey,A=v.status,C=Qe($,L,P,e),k=M(C),T=n?.staleTime??x,E=A===Ce.Loading,R=!!n?.skipStoreUpdates,N="boolean"==typeof n?.updateQueryKey?n.updateQueryKey:o?j:!R,W=o||!R&&(N||q===k);if(V?.promise&&V.key===k&&E)return K&&console.log("[π Using Active Fetch π] for params:",JSON.stringify(C)),V.promise;if(g&&!R&&!1!==n?.updateQueryKey&&X(),!n?.force){const e=v.lastFetchedAt,r=v.queryCache[k],o=r?.lastFetchedAt,i=r?.errorInfo,s=i&&i.retryCount>=F,a=(w?U===k&&e:o)||null;if(a&&!(Date.now()-a>=T)&&(!i||s||R))return W&&!R&&!J&&c.subscriptionCount>0&&0!==x&&x!==1/0&&m(C,n),N&&t(e=>e.queryKey!==k?{...e,queryKey:k}:e),K&&console.log("[πΎ Returning Cached Data πΎ] for params:",JSON.stringify(C)),r?.data??null}!R&&W&&(J&&(clearTimeout(J),J=null),!O&&E||t(e=>({...e,error:null,status:Ce.Loading})),V={key:k});const _=n?.cacheTime??(D?b(C):b),B=async()=>{try{K&&(o||!e||Ue(e,P)?console.log("[π Fetching π] for params:",JSON.stringify(C)):console.log("[π Fetching with Partial Params π]\n","- Provided params:",`${JSON.stringify(e)}\n`,"- Filled in params:",`${JSON.stringify(Object.fromEntries(Object.keys(C).filter(t=>!(t in e)).map(e=>[e,C[e]])))}`));const r=await(g&&!R&&W?(async e=>{const t=new AbortController;Q=t;try{return await new Promise((r,n)=>{t.signal.addEventListener("abort",()=>n(z),{once:!0}),Promise.resolve(s(e,t)).then(r,n)})}finally{Q===t&&(Q=null)}})(C):s(C,null)),c=Date.now();let u;K&&console.log("[β
Fetch Successful β
] for params:",JSON.stringify(C));try{u=h?h(r,C):r}catch(e){throw new l(`[createQueryStore: ${i?.storageKey||k}]: transform failed`,e)}if(R)return K&&console.log("[π₯· Successful Parallel Fetch π₯·] for params:",JSON.stringify(C)),"withCache"===n.skipStoreUpdates&&t(e=>{if(!p)return w?{...e,queryCache:{...e.queryCache,[k]:{cacheTime:_,data:u,errorInfo:null,lastFetchedAt:c}}}:e;let t=e;const r=t.queryCache[k];return p({data:u,params:C,queryKey:k,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!w&&Object.is(r,t.queryCache[k])&&(t={...t,queryCache:{...t.queryCache,[k]:{cacheTime:_,data:u,errorInfo:null,lastFetchedAt:c}}}),t}),u;if((p?a:t)(e=>{let t={...e,error:null,lastFetchedAt:c,queryKey:N?k:e.queryKey,status:Ce.Success};if(p||w){if(p){K&&console.log("[πΎ Setting Data πΎ] for params:",JSON.stringify(C));const e=t.queryCache[k];p({data:u,params:C,queryKey:k,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!w&&Object.is(e,t.queryCache[k])&&(t.queryCache={...t.queryCache,[k]:{cacheTime:_,data:null,errorInfo:null,lastFetchedAt:c}})}}else K&&console.log("[πΎ Setting Cache πΎ] for params:",JSON.stringify(C),"| Has previous data?:",!!t.queryCache[k]?.data),t.queryCache={...t.queryCache,[k]:{cacheTime:_,data:u,errorInfo:null,lastFetchedAt:c}};return w||b===1/0?t:Be(j,k,t)}),W&&(U=k,m(C,n)),y)try{y({data:u,fetch:S.fetch,params:C,set:a})}catch(e){f.error(new l(`[createQueryStore: ${i?.storageKey||k}]: onFetched callback failed`,e))}return u??null}catch(s){if(s===z)return K&&console.log("[β Fetch Aborted β] for params:",JSON.stringify(C)),null;const c=!o&&!0===n?.throwOnError,a=d(s);if(R||!W){if(f.error(new l(`[createQueryStore: ${i?.storageKey||k}]: Failed to fetch data`,a)),c)throw a;return null}const y=w?void 0:r().queryCache[k],p=y?.errorInfo?.retryCount??0,h=p+1;if(u?.(a,p),p<F){if(G.get().subscriptionCount>0){const t="function"==typeof I?I(h,a):I;t!==1/0&&(J&&clearTimeout(J),J=setTimeout(()=>{const{enabled:t,subscriptionCount:r}=G.get();t&&r>0&&S.fetch(e,{force:!0},!0)},t))}t(e=>({...e,error:a,queryCache:{...e.queryCache,[k]:{cacheTime:y?.cacheTime??_,data:y?.data??null,lastFetchedAt:y?.lastFetchedAt??null,errorInfo:{error:a,lastFailedAt:Date.now(),retryCount:h}}},queryKey:N?k:e.queryKey,status:Ce.Error}))}else t(e=>({...e,error:a,queryCache:{...e.queryCache,[k]:{cacheTime:y?.cacheTime??_,data:y?.data??null,lastFetchedAt:y?.lastFetchedAt??null,errorInfo:{error:a,lastFailedAt:Date.now(),retryCount:F}}},queryKey:N?k:e.queryKey,status:Ce.Error}));if(f.error(new l(`[createQueryStore: ${i?.storageKey||k}]: Failed to fetch data`,a)),c)throw a;return null}finally{!R&&W&&(V=null)}};return R||!W?B():(V={key:k,promise:B()}).promise},getCacheEntry(e){if(w)return null;const t=r(),n=e?"string"==typeof e?e:M(Qe($,L,P,e)):t.queryKey;return t.queryCache[n]??null},getData(e){if(w)return null;const t=r().getCacheEntry(e);return t&&null!==t.data?j?t.data:t.lastFetchedAt&&Date.now()-t.lastFetchedAt>=t.cacheTime?null:t.data:null},getStatus:function(e){switch(e){case"isIdle":return r().status===Ce.Idle;case"isLoading":return r().status===Ce.Loading;case"isSuccess":{const e=r(),t=e.queryCache[e.queryKey]?.lastFetchedAt;return"number"==typeof t||e.status===Ce.Success}case"isError":case"isInitialLoad":case void 0:{const t=r(),n=t.queryCache[t.queryKey],o=(w?U===t.queryKey&&t.lastFetchedAt:n?.lastFetchedAt)||null,i=t.status;switch(e){case"isError":{const e=t.queryCache[t.queryKey];return w?"error"!==i:"number"==typeof e?.errorInfo?.lastFailedAt}case"isInitialLoad":return!o&&i===Ce.Loading}return{isError:i===Ce.Error,isIdle:i===Ce.Idle,isLoading:i===Ce.Loading,isInitialLoad:!o&&i===Ce.Loading,isSuccess:i===Ce.Success}}}},isDataExpired(e){const t=r(),n=t.queryCache[t.queryKey],o=t.queryKey,i=t.lastFetchedAt,s=(w?U===o&&i:n?.lastFetchedAt)||null;if(!s)return!0;const c=e??n?.cacheTime;return void 0===c||Date.now()-s>=c},isStale(e){const t=r(),n=t.queryKey,o=(w?U===n&&t.lastFetchedAt:t.queryCache[n]?.lastFetchedAt)||null;if(!o)return!0;const i=e??x;return Date.now()-o>=i},reset(e=!1){for(const e of N)e();N=[],$=null,L=null,R=null,X(),J&&(clearTimeout(J),J=null),V=null,U=null,e&&t(e=>({...e,...H}))}},O=o.subscribe;return o.subscribe=(...e)=>{const t=_?()=>{}:G.subscribe(),r=1===e.length?O(e[0]):O(e[0],e[1],e[2]);return e=>{t(e),r()}},S},ee=i?.storageKey?Y(Z,Object.assign(Object.create(null),i,{partialize:Xe(j,i.partialize)})):o&&!("storageKey"in o)?Y(Z,o):Y(Z),te=ee.getState(),re=te.error,ne=te.enabled,oe=te.queryKey;if(oe&&!re&&(U=oe),_=!0,C||"function"==typeof e.enabled){const{directValues:e,enabledAttachVal:t,enabledDirectValue:r,attachVals:n}=function(e,t,r){const n=Object.create(null),o=Object.create(null),i=Object.create(null);for(const e in t){if(!De(t,e))continue;const s=t[e];if(He(s)){const t=s(Ee,r);n[e]=t,i[e]=t.value}else Ge(s)&&(o[e]=s,i[e]=s)}let s,c=null,a=null;if(He(e)){const t=e(Ee,r);s=t.value,c=t}else s=e,a=e;return{attachVals:n,directValues:o,enabledAttachVal:c,enabledDirectValue:a,resolvedEnabled:s,resolvedParams:i}}(O,C,ee);$={enabled:t,params:n},L={enabled:r,params:e}}"function"==typeof e.staleTime&&(R=e.staleTime(Ee,ee),x=R.value);const ie=function(){let e,t=!1;return function(...r){e=r,t||(t=!0,queueMicrotask(()=>{t=!1,(e=>{te.fetch(e??Ve($,L),{updateQueryKey:j})})(...e)}))}}();function se(){let e;if(!j){e=Ve($,L);const t=M(e);ee.setState(e=>({...e,queryKey:t}))}ie(e)}const ce=a||!A?se:q(se,"number"==typeof A?A:A.delay,"number"==typeof A?{leading:!1,maxWait:A,trailing:!0}:A);if($?.enabled){const e=$.enabled,t=ke.get(e);if(t){let r=e.value;ne!==r&&ee.setState(e=>({...e,enabled:r})),r&&G.setEnabled(r),K&&console.log("[π Enabled Subscription π] Initial value:",r);const n=t(()=>{const t=e.value;t!==r&&(K&&console.log("[π Enabled Change π] - [Old]:",`${r},`,"[New]:",t),r=t,ee.setState(e=>({...e,enabled:t})))});N.push(n)}}else ne!==H.enabled&&ee.setState(e=>({...e,enabled:H.enabled}));for(const e in $?.params){const t=$.params[e];if(!t)continue;const r=ke.get(t);if(K&&console.log("[π Param Subscription π] Subscribed to param:",e),r){let n=t.value;const o=r(()=>{const r=t.value;Ie(n,r)||(K&&console.log("[π Param Change π] -",e,"- [Old]:",`${n?.toString()},`,"[New]:",r?.toString()),n=r,ce())});N.push(o)}}if(R){const e=ke.get(R);if(e){const t=R;let r=t.value;K&&console.log("[π StaleTime Subscription π] Initial value:",r);const n=e(()=>{const e=t.value;e!==r&&(K&&console.log("[π StaleTime Change π] - [Old]:",`${r},`,"[New]:",e),r=e,x=e,ee.getState().fetch())});N.push(n)}}return _=!1,W&&queueMicrotask(ce),ae=ee,ue="_queryStore",Object.assign(ae,{[ue]:!0});var ae,ue},exports.createStoreActions=function(e,t){const r=function(e){const t=e.getState(),r=Object.create(null);if(c&&("object"!=typeof t||null===t))throw new Error("[createStoreActions]: State is not an object");if(Q(e)){for(const n in t)it(t,n)&&(r[n]=ot(e,n));return r}for(const e in t)it(t,e)&&(r[e]=t[e]);return r}(e);return t?Object.assign(r,t):r},exports.createVirtualStore=function(e,t,r){const n="function"==typeof t,o=n?t:void 0,i=n?r:t,s=new Set,c=we(e,{debugMode:i?.debugMode??!1,equalityFn:function(e,t){const r=Object.is(e,t);return r||(function(e,t){for(const r of s){r.unsubscribe();const n=r.args;if(1===n.length){const o=n[0],i=e.getState(),s=t.getState(),c=t.subscribe(o);r.unsubscribe=c,Object.is(s,i)||o(s,i);continue}const o=n[0],i=n[1];let s=n[2];s?.fireImmediately&&(s={...s,fireImmediately:!1});const c=o(e.getState()),a=o(t.getState()),u=t.subscribe(o,i,s);r.unsubscribe=u,(s?.equalityFn??Object.is)(c,a)||i(a,c)}}(e,t),L(e)),r},keepAlive:!0,lockDependencies:i?.lockDependencies??!0}),a=c.getState().persist,u=(l=c.getState,function(e,t){return t?l().setState(e,t):l().setState(e)});var l;return Object.assign(function(e,t){const r=c();return e?r(e,t):r()},{_virtualStore:!0,destroy:()=>c.destroy(),getInitialState:()=>c.getState().getInitialState(),getState:()=>c.getState().getState(),persist:a,setState:u,subscribe:function(...e){const t={args:e,unsubscribe:1===e.length?c.getState().subscribe(e[0]):c.getState().subscribe(e[0],e[1],e[2])};return s.add(t),()=>{t.unsubscribe(),s.delete(t)}}},o?o(c.getState):void 0)},exports.deepEqual=function e(t,r){if("object"!=typeof t||null==t||"object"!=typeof r||null==r)return t===r;if(Object.is(t,r))return!0;const n=Object.keys(t);if(n.length!==Object.keys(r).length)return!1;for(const o of n)if(!(o in r)||!e(t[o],r[o]))return!1;return!0},exports.defaultRetryDelay=Re,exports.destroyStore=L,exports.destroyStores=function(e,t){for(const r of Array.isArray(e)?e:Object.values(e))r&&!t?.skipDestroy?.(r)&&L(r,t)},exports.getLegacyQueryKey=Ne,exports.getQueryKey=We,exports.getStoreName=R,exports.isDerivedStore=function(e){return"flushUpdates"in e},exports.isPersistedStore=_,exports.isQueryStore=W,exports.isVirtualStore=Q,exports.parseQueryKey=function(e){return JSON.parse(e)},exports.replacer=C,exports.reviver=I,exports.shallowEqual=function(e,t){if("object"!=typeof e||null==e||"object"!=typeof t||null==t)return e===t;if(Object.is(e,t))return!0;const r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(const n of r)if(!Object.is(e[n],t[n]))return!1;return!0},exports.time=T,exports.useListen=function(e,t,r,n=Ze){const i=function(){const e=o.useRef(Ye);return e.current===Ye&&(e.current=function(e,t,r){return{selector:e,react:t,isActive:!1,options:rt(r),resubscribe:()=>{},unsubscribe:()=>{}}}(t,r,n)),e}(),s=function(e){return"function"==typeof e?Ze.enabled:e?.enabled??Ze.enabled}(n);return i.current.react=r,i.current.selector=t,function(e,t){"function"==typeof t?e.current.options.equalityFn=t:t&&(e.current.options=t??Ze)}(i,n),o.useLayoutEffect(()=>{if(s)return tt(e,i),()=>function(e){e.current.options.debugMode&&console.log("[ποΈ useListen ποΈ] Detaching listener"),e.current.resubscribe=()=>{},e.current.unsubscribe(),e.current.unsubscribe=()=>{},e.current.isActive=!1}(i)},[s,e]),i},exports.useStableValue=function(e){const t=o.useRef(nt);return t.current===nt&&(t.current=e()),t.current};
|
package/dist/native/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{subscribeWithSelector as e,persist as t}from"zustand/middleware";import{createWithEqualityFn as n}from"zustand/traditional";import{useSyncExternalStoreWithSelector as r}from"use-sync-external-store/shim/with-selector";import{useLayoutEffect as o,useRef as s}from"react";var i="undefined"!=typeof window&&"undefined"!=typeof document,a="stores-storage";function c(){return"undefined"!=typeof window?window.localStorage:null}var u={clearAll(){try{const e=c();if(!e)return;const t=[],n=`${a}:`;for(let r=0;r<e.length;r++){const o=e.key(r);o?.startsWith(n)&&t.push(o)}for(const n of t)e.removeItem(n)}catch(e){}},contains(e){const t=c();return null!==t?.getItem(`${a}:${e}`)},delete(e){try{const t=c();t?.removeItem(`${a}:${e}`)}catch(e){}},getAllKeys(){try{const e=c();return e?Array.from(e.keys()):[]}catch(e){return[]}},get(e){try{const t=c();return t?t.getItem(`${a}:${e}`)??void 0:void 0}catch(e){return}},set(e,t){try{const n=c();n?.setItem(`${a}:${e}`,t)}catch(e){}}},l=class extends Error{constructor(e,t){super(e),this.name="StoresError",this.cause=d(t)}},f={debug:(e,t)=>{},error:(e,t)=>{},info:(e,t)=>{},warn:(e,t)=>{}};function d(e){return e instanceof Error?e:new Error(String(e))}var y="stores/core/sync-channel",h=`${y}:storage:`;function p(){try{return"undefined"!=typeof window?window.localStorage:null}catch{return null}}var g,b,m,v=class{constructor(e){this.broadcast=e.broadcast,this.origin=e.origin,this.storeKey=e.storeKey,this.teardown=e.teardown}destroy(){this.teardown()}publish(e){const t=Object.create(null);for(const n of Object.entries(e.values))t[n[0]]=n[1];const n={origin:this.origin,replace:e.replace,sessionId:e.sessionId,storeKey:this.storeKey,timestamp:e.timestamp,values:t};this.broadcast(n)}},S=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(h))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=p(),this.channel&&this.channel.addEventListener("message",this.onChannelMessage),i&&window.addEventListener("storage",this.onStorageEvent)}get sessionId(){return this.origin}register(e){const t=t=>{if(t.origin===this.origin||t.storeKey!==e.key)return;const n=Object.create(null);for(const r of e.fields)Object.prototype.hasOwnProperty.call(t.values,r)&&(n[r]=t.values[r]);Object.keys(n).length&&e.apply({replace:t.replace,sessionId:t.sessionId,timestamp:t.timestamp,values:n})};let n=this.listeners.get(e.key);return n||(n=new Set,this.listeners.set(e.key,n)),n.add(t),new v({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 n of t)n(e)}removeListener(e,t){const n=this.listeners.get(e);n&&(n.delete(t),n.size||this.listeners.delete(e))}writeToStorage(e){if(this.storage||(this.storage=p()),!this.storage)return;const t=`${h}${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(){}},j=class{constructor(){this.sessionId="noop"}register(e){return new w}};function O(e){var t;m??(m=I()),e.logger&&(t=e.logger,f=t),e.storage&&(m.storage=e.storage),e.syncEngine&&(m.syncEngine=e.syncEngine)}function q(){return m??(m=I())}function I(){return{storage:u,syncEngine:i?(g||(g=new S),g):(b||(b=new j),b)}}function F(){let e,t,n=!1;return{complete:function(){!n&&e&&(n=!0,e(),e=void 0,t=void 0)},isHydrated:function(){return n},fail:function(r){!n&&t&&(n=!0,t(r),t=void 0,e=void 0)},promise:new Promise((n,r)=>{e=n,t=r})}}var k=Math.max,A=Math.min;function C(e,t=0,n={}){let r,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 n=r,s=o;return r=o=void 0,u=t,i=n?e.apply(s,n):e.apply(s),i}function h(e){const n=e-(c??0);return void 0===c||n>=t||n<0||f&&void 0!==s&&e-u>=s}function p(){const e=T();if(h(e))return g(e);a=setTimeout(p,function(e){const n=t-(e-(c??0));return f&&void 0!==s?A(n,s-(e-u)):n}(e))}function g(e){return a=void 0,d&&r?y(e):(r=o=void 0,i)}function b(...e){const n=T(),s=h(n);if(r=e,o=this,c=n,s){if(void 0===a)return function(e){return u=e,a=setTimeout(p,t),l?y(e):i}(c);if(f)return clearTimeout(a),a=setTimeout(p,t),y(c)}return void 0===a&&(a=setTimeout(p,t)),i}return t=M(t)||0,function(e){const t=typeof e;return null!==e&&("object"===t||"function"===t)}(n)&&(l=!!n.leading,f="maxWait"in n,s=f?k(M(n.maxWait)||0,t):void 0,d="trailing"in n?!!n.trailing:d),b.cancel=function(){void 0!==a&&clearTimeout(a),u=0,r=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 M(e){if("number"==typeof e)return e;if("symbol"==typeof e||void 0===e)return NaN;if("object"==typeof e&&null!==e){const t="function"==typeof e.valueOf?e.valueOf():e;e="object"==typeof t?t+"":t}return"string"!=typeof e?0===e?e:+e:(e=e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),/^0b[01]+$/i.test(e)?parseInt(e.slice(2),2):/^0o[0-7]+$/i.test(e)?parseInt(e.slice(2),8):/^[-+]0x[0-9a-f]+$/i.test(e)?NaN:+e)}function z(e,t){return t instanceof Map?{__type:"Map",entries:Array.from(t.entries())}:t instanceof Set?{__type:"Set",values:Array.from(t)}:t}function 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 E(e){if(null!==e&&"object"==typeof e){const t={};for(const[n,r]of Object.entries(e))"function"!=typeof r&&(t[n]=r);return t}return e}var D={ms:e=>e,seconds:e=>1e3*e,minutes:e=>D.seconds(60*e),hours:e=>D.minutes(60*e),days:e=>D.hours(24*e),weeks:e=>D.days(7*e),infinity:1/0,zero:0},L=i?D.ms(200):D.seconds(5);function P(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?K:void 0)}catch(e){throw f.error(new l("[createBaseStore]: Failed to deserialize persisted Rainbow store data"),{error:e}),e}}(t,e)}}function x(e){return t=>function(e,t){try{return JSON.stringify(e,t?z:void 0)}catch(e){throw f.error(new l("[createBaseStore]: Failed to serialize Rainbow store data"),{error:e}),e}}(t,e)}var R=Object.freeze({shouldClear:!1});function $(e,t,n){if(!t||!e)return R;const r=e.getFieldTimestampSnapshot();return function(e,t){const n=e.getSessionId(),r=e.getTimestamp();void 0!==n&&void 0!==r&&(t.syncMetadata={origin:n,timestamp:r})}(e,n),n.syncMetadata?r&&Object.keys(r).length>0?(n.syncMetadata.fields=r,{fieldSnapshot:r,shouldClear:!0}):(delete n.syncMetadata.fields,{fieldSnapshot:r,shouldClear:!1}):{fieldSnapshot:r,shouldClear:!1}}function W(e,t){e&&t.shouldClear&&t.fieldSnapshot&&Object.keys(t.fieldSnapshot).length&&e.clearFieldTimestamps(t.fieldSnapshot)}function _(e){return!!e&&!!e.getIsApplyingRemote()}function U(e,...t){return!0===t[1]?Y(t[0])?t[0](e):t[0]:{...e,...Y(t[0])?t[0](e):t[0]}}function B(e,t){H(e)?e.getState().reset(t?.clearQueryCache):function(e){return"destroy"in e}(e)&&e.destroy()}function V(e,t){for(const n of Array.isArray(e)?e:Object.values(e))n&&!t?.skipDestroy?.(n)&&B(n,t)}function Q(e){return G(e)?e.persist.getOptions().name??e.name:e.name}function N(e){return"getSnapshot"in e}function H(e){return"_queryStore"in e}function J(e){return"flushUpdates"in e}function G(e){return"persist"in e}function X(e){return"_virtualStore"in e}function Y(e){return"function"==typeof e}var[Z,ee]=[0,1];function te(e,t,n){if(!e)return!0;const r=e[Z],o=e[ee];return!(t<r)&&(t>r||n>o)}function ne(e,t){return Object.prototype.hasOwnProperty.call(t,e)}function re(e,t){return!0}function oe(e){if(null===e)return"null";const t=typeof e;return"object"===t?Object.prototype.toString.call(e):t}function se(r,o){const s=void 0!==o&&"string"==typeof o.storageKey,i=s?o.storageKey:void 0,a=o?.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 n=e,r=n.key??t;if(!r)throw new l("[createBaseStore]: sync requires either a key in the config or a storageKey to inherit from");return{...n,key:r}}(o.sync,i):void 0,c=s?o.storage??q().storage:void 0,u=a?function(e,t,n){const r=t.engine??q().syncEngine,o=function(e){let t,n,r,o=!1;return{isAsync:e,clearFieldTimestamps:function(e){if(e&&r){for(const t of Object.entries(e)){const e=t[0],n=t[1];r[e]===n&&delete r[e]}Object.keys(r).length||(r=void 0)}},getFieldTimestampSnapshot:function(){if(r)return{...r}},getIsApplyingRemote:()=>o,getSessionId:()=>t,getTimestamp:()=>n,mergeFieldTimestamps:function(e){if(r)for(const t of Object.entries(e)){const e=t[0],n=t[1],o=r[e];(void 0===o||n>o)&&(r[e]=n)}else r={...e}},onHydrationComplete:void 0,onHydrationFlushEnd:void 0,setIsApplyingRemote:e=>o=e,setSessionId:e=>t=e,setTimestamp:e=>n=e,setWithoutPersist:void 0}}(n);return{stateCreator:(s,i,a)=>{const c=new Map,u=[],d=[];let y=null,h=!1,p=!1,g=0,b=null,m=[],v=Promise.resolve(),S=!n;const w=(e,t)=>{if(o?.setSessionId&&o?.setTimestamp&&r.sessionId&&(o.setSessionId(r.sessionId),o.setTimestamp(e),o.mergeFieldTimestamps&&t.length>0)){const n=Object.create(null);for(const r of t)n[String(r)]=e;o.mergeFieldTimestamps(n)}},j=function(e,t){if(h||!b)return t?s(e,t):s(e);const n=(()=>{const e=Date.now(),t=e>g?e:g+1;return g=t,t})();let o=[],i=Object.create(null);const a=r=>{const s=U(r,e,t);for(const e of m)Object.is(s[e],r[e])||(o.push(e),i[e]=s[e]);return o.length&&w(n,o),s},u=t?s(a,!0):s(a),l=()=>{o.length&&(e=>{const t=r.sessionId;for(const n of e.keys)c.set(n,[e.timestamp,t]);y&&p?y.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values}):d.push(e)})({keys:o,replace:t??!1,values:i,timestamp:n})};return(f=u)&&"object"==typeof f&&"then"in f&&"function"==typeof f.then?u.finally(l):(l(),u);var f},O=a.setState;a.setState=j;const q=e(j,i,a);if(m=t.fields??function(e){const t=[];for(const n of Object.entries(e)){if("function"==typeof n[1])continue;const e=n[0];t.push(e)}return t}(q),!m.length)return q;b=new Set(m);const I=async e=>{g=Math.max(g,e.timestamp);const n=Object.create(null),r=i(),s=e.timestamp;let a;if(e.replace)for(const t of m)ne(t,e.values)||te(c.get(t),s,e.sessionId)&&(a??(a=[])).push(t);for(const o of m){if(!ne(o,e.values))continue;if(!b?.has(o))continue;if(!te(c.get(o),s,e.sessionId))continue;const i=t.merge?.[o];if(i){const t=e.values[o],a=r[o];if(void 0!==t){const u=i(t,a,r,e.values),d=void 0!==a?a:t;if(!re())return void f.error(new l(`[sync] Merge function for field "${String(o)}" returned ${oe(u)} but expected ${oe(d)}`));n[o]=u,c.set(o,[s,e.sessionId])}}else n[o]=e.values[o],c.set(o,[s,e.sessionId])}if(Object.keys(n).length>0||a?.length){h=!0,o&&o.setIsApplyingRemote(!0);try{if(e.replace){const e={...r};let t=!1;if(a?.length){t=!0;for(const t of a)delete e[t],c.delete(t)}for(const r in n){if(!Object.prototype.hasOwnProperty.call(n,r))continue;const o=n[r];void 0!==o&&(Object.is(e[r],o)||(t=!0),e[r]=o)}if(!t)return;await(o.setWithoutPersist??O)(e,!0)}else await(o.setWithoutPersist??O)(n)}finally{h=!1,o&&o.setIsApplyingRemote(!1)}}},F=e=>{n?v=v.then(()=>I(e)):I(e)};y=r.register({apply:e=>{S?F(e):u.push(e)},delta:t.delta,fields:m,getState:i,key:t.key});const k=()=>{p=!0,(()=>{if(y&&d.length){for(const e of d){const t=r.sessionId;for(const n of e.keys)c.set(n,[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=()=>{S=!0,(()=>{if(!u.length)return;const e=u.slice();u.length=0;for(const t of e)F(t)})()};return n&&o?(o.onHydrationComplete=k,o.onHydrationFlushEnd=A):y.onHydrated?(y.onHydrated(k),A()):(k(),A()),q},syncContext:o}}(r,a,c?.async??!1):void 0,y=u?.stateCreator??r;if(!s)return n()(e(y),Object.is);const h=c?.async?function(e){let t,n,r,o=!1;return{hydrationPromise:()=>o?t?.promise??n??(n=Promise.resolve()):(t||(t=F()),t.promise),stateCreator:(n,s,i)=>{let a;return r=()=>{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]?n(e[0],e[1]):n(e[0]):(t||(t=F()),a||(a=[]),a.push(e),t.promise),s,i)},wrapOnRehydrateStorage:(e,n)=>s=>{const i=e?.(s);return(e,s)=>{o=!0,n?.onHydrationComplete?.(),r&&r(),n?.onHydrationFlushEnd?.(),s?t?.fail(d(s)):t?.complete(),i?.(e,s)}}}}(y):null,p=function(e,t,n){const r=t??e.storage??q().storage,o=(e.sync?void 0:e.persistThrottleMs??L)||void 0,s=e.version??0,i=r.async?function(e,t,n,r){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),s="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),i=t.partialize??E,a=t.deserializer??e.deserializer??P(o),c=t.serializer??e.serializer??x(o);async function u(t,n){try{if(_(r))return;n.state=i(n.state);const o=$(r,s,n),a=c(n);try{await e.set(t,a),W(r,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!==n?C(u,n,{leading:!1,maxWait:n,trailing:!0}):function(e){let t,n=null;return function(...r){return t=r,n||(n=new Promise(r=>{queueMicrotask(async()=>{try{await e(...t)}finally{n=null,r()}})})),n}}(u);return{getItem:async t=>{const n=await e.get(t);return void 0===n?null:a(n)},setItem:async(e,t)=>{if(!r?.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})}}}}(r,e,o,n):function(e,t,n,r){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),s="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),i=t.partialize??E,a=t.deserializer??e.deserializer??P(o),c=t.serializer??e.serializer??x(o);function u(t,n){try{if(_(r))return;n.state=i(n.state);const o=$(r,s,n),a=c(n);try{e.set(t,a),W(r,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!==n?C(u,n,{leading:!1,maxWait:n,trailing:!0}):u;return{getItem:t=>{const n=e.get(t);return void 0===n?null:a(n)},setItem:(e,t)=>{r?.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})}}}}(r,e,o,n);return{persistStorage:i,version:s}}(o,c,u?.syncContext),g=h?h.wrapOnRehydrateStorage(o.onRehydrateStorage,u?.syncContext):o.onRehydrateStorage,b=h?(e,t,n)=>(u&&(u.syncContext.setWithoutPersist=n.setState),h.stateCreator(e,t,n)):y,m=n()(e(t(b,function(e,t,n){const r={name:e.storageKey,onRehydrateStorage:n,storage:t.persistStorage,version:t.version};return void 0!==e.merge&&(r.merge=e.merge),void 0!==e.migrate&&(r.migrate=e.migrate),r}(o,p,g))),Object.is);return h?Object.assign(m,{persist:Object.assign(m.persist,{hydrationPromise:h.hydrationPromise})}):m}function ie(e,t,n){const r=t.get(e);if(!r){const r=function(e,t,n,r=[]){return e&&"object"==typeof e?ae(e,r,t,n,new WeakSet,new WeakMap):(n(t,r,!0),e)}(N(e)?e.getSnapshot():e.getState(),e,n);return t.set(e,r),r}return r}function ae(e,t,n,r,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&&(r(n,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 r(n,f,!0,{method:l,args:e.length?e:void 0}),Reflect.apply(u,i,e)}:(r(n,t,!0),u.bind(e));const d=!!u&&"object"==typeof u;return r(n,f,!d),d?(s.has(u)||s.set(u,ae(u,f,n,r,o,s)),s.get(u)):u},getOwnPropertyDescriptor:(e,s)=>(r(n,t,!0),o.add(e),Reflect.getOwnPropertyDescriptor(e,s)),has:(e,o)=>(r(n,t,!0),Reflect.has(e,o)),ownKeys:e=>(r(n,t,!0),o.add(e),Reflect.ownKeys(e))})}function ce(e){return t=>le(t,e)}function ue(e,t){const n=e.slice(0,-1);return e=>{const r=le(e,n),o=r?.[t.method];return"function"==typeof o?o.apply(r,t.args):void 0}}function le(e,t){let n=e;for(const e of t){if(!n||"object"!=typeof n)return n;n=n[e]}return n}function fe(){const e=new Map;return{buildProxySubscriptions(t,n){const r=new Set;for(const[t,n]of e)he(n,t,[],0,r);!function(e,t,n){for(const n of e)t(n.store,n.invocation?ue(n.path,n.invocation):ce(n.path));n&&e.size}(r,t,n)},trackPath(t,n,r,o){let s=e.get(t);s||(s=de(),e.set(t,s)),ye(s,n,0,r,o)}}}function de(){return Object.create(null)}function ye(e,t,n,r,o){if(n===t.length)return r&&(e.isLeaf=!0),void(o&&(e.invocation=o));e.children||(e.children=de());const s=t[n];let i=e.children?.[s];i||(i=de(),e.children[s]=i),ye(i,t,n+1,r,o)}function he(e,t,n,r,o,s=1){const i=e.children;if(!i)return void o.add({store:t,path:n,invocation:e.invocation,isLeaf:e.isLeaf??!1});const a=Object.keys(i),c=a.length;if(0!==c)if(e.isLeaf||r>=s&&c>1){o.add({store:t,path:n,invocation:e.invocation,isLeaf:e.isLeaf??!1});for(const e of a){const a=i[e];a.invocation&&he(a,t,[...n,e],r+1,o,s)}}else if(r<s&&c>1&&!e.isLeaf)for(const e of a)he(i[e],t,[...n,e],r+1,o,s);else{if(1===c){const e=a[0];return void he(i[e],t,[...n,e],r+1,o,s)}o.add({store:t,path:n,invocation:e.invocation,isLeaf:e.isLeaf??!1})}else o.add({store:t,path:n,invocation:e.invocation,isLeaf:e.isLeaf??!1})}var pe=!1,ge=!1,be=new Map,me=new Map,ve=new Map,Se=null,we=1/0;function je(){return pe}function Oe(){return Se}function qe(){pe||(pe=!0,ge||(ge=!0,queueMicrotask(()=>{ge=!1,(()=>{for(;me.size>0;){const e=we,t=ve.get(e);if(t){ve.delete(e);for(const e of t)me.delete(e);Se=e;for(const e of t)e();if(Se=null,ve.size>0){we=1/0;for(const e of ve.keys())e<we&&(we=e)}else we=1/0}else{we=1/0;for(const e of ve.keys())e<we&&(we=e)}}for(;be.size>0;){const e=Array.from(be.values());be.clear();for(const t of e)t()}})(),pe=!1,Se=null,me.clear(),ve.clear(),we=1/0})))}function Ie(e,t){pe&&be.set(e,t)}var Fe=e=>e;function ke(e,t=Object.is){return n=function(e,t=Object.is){const{debounceOptions:n,debugMode:r,equalityFn:o,keepAlive:s,lockDependencies:i}="function"==typeof(u=t)?{debounceOptions:void 0,debugMode:!1,equalityFn:u,keepAlive:!1,lockDependencies:!1}:{debounceOptions:u.debounce,debugMode:false,equalityFn:u.equalityFn??Object.is,keepAlive:u.keepAlive??!1,lockDependencies:u.lockDependencies??!1},a=String(Ce+=1),c=new Set;var u;s&&c.add(Te);const l=new Set;let f,d,y=Ae,h=!1,p=!0,g=!0,b=!0,m=0,v=!1,S=null,w=Ae;function j(e,t,n){if(!b||!c.size)return(t??Fe)(N(e)?e.getSnapshot():e.getState());if(!t)return f||(f=new WeakMap),d||(d=fe()),ie(e,f,d.trackPath);const r=e.subscribe(t,K,{equalityFn:n??Object.is,isDerivedStore:!0});return l.add(r),t(N(e)?e.getSnapshot():e.getState())}function O(e){for(const t of l)t(e);l.clear()}function q(){if(!g&&Me(y))return y;g=!1,b&&O(!0);const t=y,n=Me(t);y=function(t){p=!0;const n=y,r=e(t);return Me(n)&&o(n,r)?(p=!1,n):r}(j);const s=r&&(!n||"verbose"===r&&b);return s&&l.size,d&&b&&(d.buildProxySubscriptions((e,t)=>{const n=e.subscribe(t,K,{equalityFn:Object.is,isDerivedStore:!0});l.add(n)},s),f=void 0,d=void 0),p&&n&&function(e,t){const n=function(){const e=c.has(Te)?c.size-1:c.size;return m>0&&m<e}(),r=!m||n,o=n||null!==Oe()||je()&&r;n&&qe();for(const t of c){if("function"==typeof t||!t.isDerivedWatcher)continue;const n=t.selector(e);if(!t.equalityFn(t.currentSlice,n)){const e=t.currentSlice;t.currentSlice=n,t.listener(n,e)}}o?v||(v=!0,Me(w)||(w=t),Ie(a,F)):I(e,t)}(y,t),i&&(b=!1),y}function I(e,t){for(const n of c)if("function"==typeof n)n(e,t);else if(!n.isDerivedWatcher){const t=n.selector(e);if(!n.equalityFn(n.currentSlice,t)){const e=n.currentSlice;n.currentSlice=t,n.listener(t,e)}}}function F(){c.size&&(v&&function(){if(g&&!m&&q(),!Me(y))return;const e=Me(w)?w:y;I(y,e)}(),v=!1,w=Ae)}const k=n?C(T,"number"==typeof n?n:n.delay,"number"==typeof n?{leading:!1,maxWait:n,trailing:!0}:n):void 0,A=k??(()=>{h||(h=!0,queueMicrotask(T))});function T(){c.size&&(h=!1,g&&q())}function M(e){e?queueMicrotask(()=>{c.size||D()}):D()}function z(){T(),S=null}function K(){if(!g){if(g=!0,!k){if(m){qe();const e=Oe(),t=null===e?0:e+1;if(null!==S&&t<=S)return;return S=t,void function(e,t){if(!pe)return;const n=t<0?0:0|t,r=me.get(e);if(void 0===r){me.set(e,n);let t=ve.get(n);return t||(t=new Set,ve.set(n,t)),t.add(e),void(n<we&&(we=n))}if(n>r){const t=ve.get(r);if(t&&(t.delete(e),0===t.size&&(ve.delete(r),r===we))){we=1/0;for(const e of ve.keys())e<we&&(we=e)}me.set(e,n);let o=ve.get(n);o||(o=new Set,ve.set(n,o)),o.add(e),n<we&&(we=n)}}(z,t)}if(je())return void(v||(v=!0,Me(y)&&(w=y),Ie(a,F)))}S=null,m&&!n?q():A()}}function E(){return g||!Me(y)?c.size>0?q():e(j):y}function D(e=!0){s&&e||(k?.cancel(),O(),c.clear(),m=0,d=void 0,f=void 0,b=!0,h=!1,g=!0,y=Ae,v=!1,w=Ae,S=null)}return{destroy:()=>D(!1),flushUpdates:function(){c.size&&(k?k.flush():g&&q())},getSnapshot:function(){if(!Me(y)){c.add(Te);const e=q();return c.delete(Te),e}return h&&T(),y},getState:E,subscribe:function(...e){if(1===e.length){const t=e[0];return c.add(t),1!==c.size||Me(y)||E(),()=>{c.delete(t),c.size||M(!1)}}const[t,n,r]=e,o=r?.equalityFn??Object.is,s=r?.isDerivedStore??!1,i={currentSlice:void 0,equalityFn:o,isDerivedWatcher:s,listener:n,selector:t};return c.add(i),i.currentSlice=t(E()),s&&(m+=1),r?.fireImmediately&&n(i.currentSlice,i.currentSlice),()=>{c.delete(i),s&&(m-=1),c.size||M(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=Fe,t=void 0){return r(n.subscribe,n.getSnapshot,void 0,e,t)},n);var n}var Ae=Symbol(),Ce=0;function Te(){}function Me(e){return e!==Ae}var ze=class{constructor({disableAutoRefetching:e,initialEnabled:t}){this.count=0,this.enabled=!1,this.lastSubscriptionTime=null,this.fetchThrottleMs=null,this.onSubscribe=null,this.onLastUnsubscribe=null,this.enabled=t,e&&(this.fetchThrottleMs=D.seconds(5))}init({onSubscribe:e,onLastUnsubscribe:t}){this.onSubscribe=e,this.onLastUnsubscribe=t}get(){return{enabled:this.enabled,lastSubscriptionTime:this.lastSubscriptionTime,subscriptionCount:this.count}}setEnabled(e){this.enabled=e}subscribe(){const e=0===this.count,t=null!==this.fetchThrottleMs&&null!==this.lastSubscriptionTime&&!e&&Date.now()-this.lastSubscriptionTime<=this.fetchThrottleMs;return this.onSubscribe?.(this.enabled,e,t),this.count+=1,this.lastSubscriptionTime=Date.now(),e=>{const t=1===this.count;this.count=Math.max(this.count-1,0),t&&(this.onLastUnsubscribe?.(e),this.lastSubscriptionTime=null)}}},Ke={Error:"error",Idle:"idle",Loading:"loading",Success:"success"};function Ee(e,t){if("object"!=typeof e||null==e||"object"!=typeof t||null==t)return e===t;if(Object.is(e,t))return!0;const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!(r in t)||!Ee(e[r],t[r]))return!1;return!0}function De(e,t){if("object"!=typeof e||null==e||"object"!=typeof t||null==t)return e===t;if(Object.is(e,t))return!0;const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!Object.is(e[r],t[r]))return!1;return!0}function Le(e,t){const n=Object.prototype.hasOwnProperty;function r(e,t){for(const n of e.keys())if(Le(n,t))return n}let o,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--&&Le(e[s],t[s]););return-1===s}if(o===Set){if(e.size!==t.size)return!1;for(let n of e){if(i=n,i&&"object"==typeof i&&(i=r(t,i),!i))return!1;if(!t.has(i))return!1}return!0}if(o===Map){if(e.size!==t.size)return!1;for(let n of e){if(i=n[0],i&&"object"==typeof i&&(i=r(t,i),!i))return!1;if(!Le(n[1],t.get(i)))return!1}return!0}if(o===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(o===DataView){if((s=e.byteLength)===t.byteLength)for(;s--&&e.getInt8(s)===t.getInt8(s););return-1===s}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){const n=e,r=t;if((s=n.byteLength)===r.byteLength)for(;s--&&n[s]===r[s];);return-1===s}if(!o||"object"==typeof e){s=0;for(const r in e){if(n.call(e,r)&&++s&&!n.call(t,r))return!1;if(!(r in t)||!Le(e[r],t[r]))return!1}return Object.keys(t).length===s}}return e!=e&&t!=t}var Pe=new WeakMap,xe=new WeakMap;function Re(e,t=$e,n=Le){return function(e,t,n){let r=xe.get(e);r||(r=new Map,xe.set(e,r));let o=r.get(t);o||(o=new Map,r.set(t,o));const s=o.get(n);if(s)return s;const[i,a,c]=_e(e,t,n),u=new Map,l=e=>{const t={get(t,n){if("value"===n){let t=a();const n=e.split(".");for(const e of n)e&&(t=t[e]);return t}const r="string"==typeof n?n:n.toString(),o=e?`${e}.${r}`:r,s=u.get(o);if(s)return s;const c=l(o);return Pe.set(c,i),u.set(o,c),c},set(t,n,r){const o=e.split(".");return""===o[0]&&o.shift(),c(o,r),!0}};return new Proxy(Object.create(null),t)},f=l("");return i(()=>{}),Pe.set(f,i),o.set(n,f),f}(e,t,n)}var $e=e=>e,We=(e,t,n)=>{if(!t.length)return n;const[r,...o]=t,s=e[r],i=We(s,o,n);if(Le(s,i))return e;const a=Array.isArray(e)?e.slice():{...e};return a[r]=i,a},_e=(e,t,n)=>{const r=new Set,o=N(e);let s,i=t(o?e.getSnapshot():e.getState());return[a=>(r.size||(s=e.subscribe(t,e=>{i=e,r.forEach(e=>e())},{equalityFn:n,isDerivedStore:o})),r.add(a),()=>{r.delete(a),!r.size&&s&&(s(),s=void 0)}),()=>(r.size||(i=t(e.getState())),i),(n,r)=>{if(t!==$e)throw new Error("Cannot set a value with a selector");e.setState(e=>We(e,n,r),!0)}]};function Ue(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var[Be,Ve]=[!0,!1],Qe={error:Be,lastFetchedAt:Be,queryCache:Be,queryKey:Be,status:Be,enabled:Ve,fetch:Ve,getCacheEntry:Ve,getData:Ve,getStatus:Ve,isDataExpired:Ve,isStale:Ve,reset:Ve};function Ne(e,t,n){const r="function"==typeof t?t:tt,o="object"==typeof t?t:n,s=o&&"storageKey"in o?o:void 0,{fetcher:i,onError:a,onFetched:c,setData:u,transform:y,abortInterruptedFetches:h=!0,cacheTime:p=D.days(7),debugMode:g=!1,disableAutoRefetching:b=!1,disableCache:m=!1,enabled:v=!0,keepPreviousData:S=!1,maxRetries:w=5,paramChangeThrottle:j=!1,params:O,retryDelay:q=He,suppressStaleTimeWarning:I=!1,useParsableQueryKeys:F=!0}=e;let k="function"==typeof e.staleTime?D.minutes(2):e.staleTime??D.minutes(2);const A=F?Ge:Je,T=new Error("[createQueryStore: AbortError] Fetch interrupted"),M="function"==typeof p,z=Object.keys(e.params??Object.create(null));let K=null,E=null,L=null,P=[],x=!1,R=!1,$=null,W=null,_=null,U=null,B=null;const V={enabled:"function"!=typeof v&&v,error:null,lastFetchedAt:null,queryCache:{},queryKey:"",status:Ke.Idle},Q=new ze({disableAutoRefetching:b,initialEnabled:V.enabled}),N=()=>{$&&(W=null,$.abort(),$=null)},H=(t,n,o)=>{const g=o.setState,v=(e,t)=>{const n="function"==typeof e;if(n||void 0!==e.enabled){let t;const r=g(r=>{const s=n?e(r):e,i=void 0!==s.enabled?s.enabled:r.enabled;return i!==r.enabled&&(t=()=>((e,t)=>{e!==t&&B!==t&&(B=t,Q.setEnabled(t),t?queueMicrotask(()=>o.getState().fetch(void 0,{updateQueryKey:!0})):(_||h)&&(h&&N(),_&&(clearTimeout(_),_=null)))})(r.enabled,i)),s});return t?.(),r}return g(e)};o.setState=v,Q.init({onSubscribe:(r,o,s)=>{if(E||K||!O&&"function"!=typeof e.enabled&&"function"!=typeof e.staleTime){if(r)if(o){const e=et(K,E),r=A(e),o=n();o.queryKey!==r&&t(e=>({...e,queryKey:r})),o.isStale()?I.fetch(e,void 0,!0):j(e,void 0)}else b&&!s&&I.fetch(void 0,void 0,!0)}else x=!0},onLastUnsubscribe:e=>{_&&(clearTimeout(_),_=null),h&&!e&&N()}});const j=(e,t)=>{if(b||t?.skipStoreUpdates)return;if(k<=0||k===1/0)return;_&&(clearTimeout(_),_=null);const r=A(e),o=n(),s=(m?U===r&&o.lastFetchedAt:o.queryCache[r]?.lastFetchedAt)||null,i=s?k-(Date.now()-s):k;_=setTimeout(()=>{const t=Q.get();t.enabled&&t.subscriptionCount>0&&I.fetch(e,{force:!0},!0)},i)},I={...r(v,n,o),...V,async fetch(e,r,o=!1){const g=Q.get();if(!r?.force&&!r?.skipStoreUpdates&&!g.enabled)return null;const b=n(),O=b.error,F=b.queryKey,C=b.status,D=Ze(K,E,z,e),L=A(D),P=r?.staleTime??k,x=C===Ke.Loading,R=!!r?.skipStoreUpdates,B="boolean"==typeof r?.updateQueryKey?r.updateQueryKey:o?S:!R,V=o||!R&&(B||F===L);if(W?.promise&&W.key===L&&x)return W.promise;if(h&&!R&&!1!==r?.updateQueryKey&&N(),!r?.force){const e=b.lastFetchedAt,n=b.queryCache[L],o=n?.lastFetchedAt,s=n?.errorInfo,i=s&&s.retryCount>=w,a=(m?U===L&&e:o)||null;if(a&&!(Date.now()-a>=P)&&(!s||i||R))return V&&!R&&!_&&g.subscriptionCount>0&&0!==k&&k!==1/0&&j(D,r),B&&t(e=>e.queryKey!==L?{...e,queryKey:L}:e),n?.data??null}!R&&V&&(_&&(clearTimeout(_),_=null),!O&&x||t(e=>({...e,error:null,status:Ke.Loading})),W={key:L});const H=r?.cacheTime??(M?p(D):p),J=async()=>{try{const e=await(h&&!R&&V?(async e=>{const t=new AbortController;$=t;try{return await new Promise((n,r)=>{t.signal.addEventListener("abort",()=>r(T),{once:!0}),Promise.resolve(i(e,t)).then(n,r)})}finally{$===t&&($=null)}})(D):i(D,null)),n=Date.now();let o;try{o=y?y(e,D):e}catch(e){throw new l(`[createQueryStore: ${s?.storageKey||L}]: transform failed`,e)}if(R)return"withCache"===r.skipStoreUpdates&&t(e=>{if(!u)return m?{...e,queryCache:{...e.queryCache,[L]:{cacheTime:H,data:o,errorInfo:null,lastFetchedAt:n}}}:e;let t=e;const r=t.queryCache[L];return u({data:o,params:D,queryKey:L,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!m&&Object.is(r,t.queryCache[L])&&(t={...t,queryCache:{...t.queryCache,[L]:{cacheTime:H,data:o,errorInfo:null,lastFetchedAt:n}}}),t}),o;if((u?v:t)(e=>{let t={...e,error:null,lastFetchedAt:n,queryKey:B?L:e.queryKey,status:Ke.Success};if(u||m){if(u){const e=t.queryCache[L];u({data:o,params:D,queryKey:L,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!m&&Object.is(e,t.queryCache[L])&&(t.queryCache={...t.queryCache,[L]:{cacheTime:H,data:null,errorInfo:null,lastFetchedAt:n}})}}else t.queryCache={...t.queryCache,[L]:{cacheTime:H,data:o,errorInfo:null,lastFetchedAt:n}};return m||p===1/0?t:nt(S,L,t)}),V&&(U=L,j(D,r)),c)try{c({data:o,fetch:I.fetch,params:D,set:v})}catch(e){f.error(new l(`[createQueryStore: ${s?.storageKey||L}]: onFetched callback failed`,e))}return o??null}catch(i){if(i===T)return null;const c=!o&&!0===r?.throwOnError,u=d(i);if(R||!V){if(f.error(new l(`[createQueryStore: ${s?.storageKey||L}]: Failed to fetch data`,u)),c)throw u;return null}const y=m?void 0:n().queryCache[L],h=y?.errorInfo?.retryCount??0,p=h+1;if(a?.(u,h),h<w){if(Q.get().subscriptionCount>0){const t="function"==typeof q?q(p,u):q;t!==1/0&&(_&&clearTimeout(_),_=setTimeout(()=>{const{enabled:t,subscriptionCount:n}=Q.get();t&&n>0&&I.fetch(e,{force:!0},!0)},t))}t(e=>({...e,error:u,queryCache:{...e.queryCache,[L]:{cacheTime:y?.cacheTime??H,data:y?.data??null,lastFetchedAt:y?.lastFetchedAt??null,errorInfo:{error:u,lastFailedAt:Date.now(),retryCount:p}}},queryKey:B?L:e.queryKey,status:Ke.Error}))}else t(e=>({...e,error:u,queryCache:{...e.queryCache,[L]:{cacheTime:y?.cacheTime??H,data:y?.data??null,lastFetchedAt:y?.lastFetchedAt??null,errorInfo:{error:u,lastFailedAt:Date.now(),retryCount:w}}},queryKey:B?L:e.queryKey,status:Ke.Error}));if(f.error(new l(`[createQueryStore: ${s?.storageKey||L}]: Failed to fetch data`,u)),c)throw u;return null}finally{!R&&V&&(W=null)}};return R||!V?J():(W={key:L,promise:J()}).promise},getCacheEntry(e){if(m)return null;const t=n(),r=e?"string"==typeof e?e:A(Ze(K,E,z,e)):t.queryKey;return t.queryCache[r]??null},getData(e){if(m)return null;const t=n().getCacheEntry(e);return t&&null!==t.data?S?t.data:t.lastFetchedAt&&Date.now()-t.lastFetchedAt>=t.cacheTime?null:t.data:null},getStatus:function(e){switch(e){case"isIdle":return n().status===Ke.Idle;case"isLoading":return n().status===Ke.Loading;case"isSuccess":{const e=n(),t=e.queryCache[e.queryKey]?.lastFetchedAt;return"number"==typeof t||e.status===Ke.Success}case"isError":case"isInitialLoad":case void 0:{const t=n(),r=t.queryCache[t.queryKey],o=(m?U===t.queryKey&&t.lastFetchedAt:r?.lastFetchedAt)||null,s=t.status;switch(e){case"isError":{const e=t.queryCache[t.queryKey];return m?"error"!==s:"number"==typeof e?.errorInfo?.lastFailedAt}case"isInitialLoad":return!o&&s===Ke.Loading}return{isError:s===Ke.Error,isIdle:s===Ke.Idle,isLoading:s===Ke.Loading,isInitialLoad:!o&&s===Ke.Loading,isSuccess:s===Ke.Success}}}},isDataExpired(e){const t=n(),r=t.queryCache[t.queryKey],o=t.queryKey,s=t.lastFetchedAt,i=(m?U===o&&s:r?.lastFetchedAt)||null;if(!i)return!0;const a=e??r?.cacheTime;return void 0===a||Date.now()-i>=a},isStale(e){const t=n(),r=t.queryKey,o=(m?U===r&&t.lastFetchedAt:t.queryCache[r]?.lastFetchedAt)||null;if(!o)return!0;const s=e??k;return Date.now()-o>=s},reset(e=!1){for(const e of P)e();P=[],K=null,E=null,L=null,N(),_&&(clearTimeout(_),_=null),W=null,U=null,e&&t(e=>({...e,...V}))}},F=o.subscribe;return o.subscribe=(...e)=>{const t=R?()=>{}:Q.subscribe(),n=1===e.length?F(e[0]):F(...e);return e=>{t(e),n()}},I},J=s?.storageKey?se(H,Object.assign(Object.create(null),s,{partialize:st(S,s.partialize)})):o&&!("storageKey"in o)?se(H,o):se(H),G=J.getState(),X=G.error,Y=G.enabled,Z=G.queryKey;if(Z&&!X&&(U=Z),R=!0,O||"function"==typeof e.enabled){const{directValues:e,enabledAttachVal:t,enabledDirectValue:n,attachVals:r}=function(e,t,n){const r=Object.create(null),o=Object.create(null),s=Object.create(null);for(const e in t){if(!Ue(t,e))continue;const i=t[e];if(rt(i)){const t=i(Re,n);r[e]=t,s[e]=t.value}else ot(i)&&(o[e]=i,s[e]=i)}let i,a=null,c=null;if(rt(e)){const t=e(Re,n);i=t.value,a=t}else i=e,c=e;return{attachVals:r,directValues:o,enabledAttachVal:a,enabledDirectValue:c,resolvedEnabled:i,resolvedParams:s}}(v,O,J);K={enabled:t,params:r},E={enabled:n,params:e}}"function"==typeof e.staleTime&&(L=e.staleTime(Re,J),k=L.value);const ee=function(){let e,t=!1;return function(...n){e=n,t||(t=!0,queueMicrotask(()=>{t=!1,(e=>{G.fetch(e??et(K,E),{updateQueryKey:S})})(...e)}))}}();function te(){let e;if(!S){e=et(K,E);const t=A(e);J.setState(e=>({...e,queryKey:t}))}ee(e)}const ne=j?C(te,"number"==typeof j?j:j.delay,"number"==typeof j?{leading:!1,maxWait:j,trailing:!0}:j):te;if(K?.enabled){const e=K.enabled,t=Pe.get(e);if(t){let n=e.value;Y!==n&&J.setState(e=>({...e,enabled:n})),n&&Q.setEnabled(n);const r=t(()=>{const t=e.value;t!==n&&(n=t,J.setState(e=>({...e,enabled:t})))});P.push(r)}}else Y!==V.enabled&&J.setState(e=>({...e,enabled:V.enabled}));for(const e in K?.params){const t=K.params[e];if(!t)continue;const n=Pe.get(t);if(n){let e=t.value;const r=n(()=>{const n=t.value;Le(e,n)||(e=n,ne())});P.push(r)}}if(L){const e=Pe.get(L);if(e){const t=L;let n=t.value;const r=e(()=>{const e=t.value;e!==n&&(n=e,k=e,J.getState().fetch())});P.push(r)}}return R=!1,x&&queueMicrotask(ne),re=J,oe="_queryStore",Object.assign(re,{[oe]:!0});var re,oe}function He(e,t){const n=t?.baseDelay??D.seconds(5),r=t?.maxDelay??D.minutes(5),o=Math.pow(2,e);return Math.min(n*o,r)}function Je(e){return JSON.stringify(Object.keys(e).sort().map(t=>e[t]))}function Ge(e){return JSON.stringify(Ye(e))}function Xe(e){return JSON.parse(e)}function Ye(e){return"object"!=typeof e||null===e?e:Object.keys(e).sort().reduce((t,n)=>{const r=e[n];return t[n]=null!==r&&"object"==typeof r?Ye(r):r,t},{})}function Ze(e,t,n,r){return r?function(e,t){if(!e)return!1;for(const n of t)if(!(n in e))return!1;return!0}(r,n)?r:{...et(e,t),...r}:et(e,t)}function et(e,t){const n=t?.params??Object.create(null);for(const t in e?.params){const r=e.params[t];r&&(n[t]=r.value)}return n}function tt(){return Object.create(null)}function nt(e,t,n){if(!n.queryCache)return n;const r=Date.now(),o=t??(e&&n.queryKey||null);let s=!1;const i=Object.create(null);for(const e in n.queryCache){if(!Ue(n.queryCache,e))continue;const a=n.queryCache[e];a&&(r-(a.lastFetchedAt??a.errorInfo.lastFailedAt)<a.cacheTime||e===o)?!t&&a.errorInfo&&a.errorInfo.retryCount>0?(i[e]={...a,errorInfo:{...a.errorInfo,retryCount:0}},s=!0):i[e]=a:s=!0}return s?{...n,queryCache:i}:n}function rt(e){return"function"==typeof e}function ot(e){return!rt(e)}function st(e,t){return n=>{const r={...n},o={};for(const e in r)Ue(r,e)&&e in Qe&&(Qe[e]&&(o[e]=r[e]),delete r[e]);return{...t?t(r):E(r),...nt(e,null,o)}}}function it(e,t,n){const r="function"==typeof t,o=r?t:void 0,s=r?n:t,i=new Set,a=ke(e,{debugMode:s?.debugMode??!1,equalityFn:function(e,t){const n=Object.is(e,t);return n||(function(e,t){for(const n of i){n.unsubscribe();const r=n.args;if(1===r.length){const o=r[0],s=e.getState(),i=t.getState(),a=t.subscribe(o);n.unsubscribe=a,Object.is(i,s)||o(i,s);continue}const o=r[0],s=r[1];let i=r[2];i?.fireImmediately&&(i={...i,fireImmediately:!1});const a=i?.equalityFn??Object.is,c=o(e.getState()),u=o(t.getState()),l=t.subscribe(...r);n.unsubscribe=l,a(c,u)||s(u,c)}}(e,t),B(e)),n},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 n=a();return e?n(e,t):n()},{_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)}D.seconds(5);var at=Symbol(),ct=Object.freeze({debugMode:!1,enabled:!0,equalityFn:Object.is,fireImmediately:!1});function ut(e,t,n,r=ct){const i=function(){const e=s(at);return e.current===at&&(e.current=function(e,t,n){return{selector:e,react:t,isActive:!1,options:dt(n),resubscribe:()=>{},unsubscribe:()=>{}}}(t,n,r)),e}(),a=function(e){return"function"==typeof e?ct.enabled:e?.enabled??ct.enabled}(r);return i.current.react=n,i.current.selector=t,function(e,t){"function"==typeof t?e.current.options.equalityFn=t:t&&(e.current.options=t??ct)}(i,r),o(()=>{if(a)return ft(e,i),()=>function(e){e.current.options.debugMode,e.current.resubscribe=()=>{},e.current.unsubscribe(),e.current.unsubscribe=()=>{},e.current.isActive=!1}(i)},[a,e]),i}var lt=Object.freeze({fireImmediately:!1,forceResubscribe:!1});function ft(e,t,n=lt){if(t.current.isActive){if(!n?.forceResubscribe)return;t.current.unsubscribe()}t.current.options.debugMode,t.current.isActive=!0,t.current.resubscribe=(n=lt)=>ft(e,t,n);const r=e.subscribe(e=>t.current.selector(e),(e,n)=>t.current.react(e,n,()=>{r(),t.current.isActive=!1}),n.fireImmediately?{...t.current.options,fireImmediately:!0}:t.current.options);t.current.unsubscribe=()=>{t.current.isActive&&(r(),t.current.isActive=!1)}}function dt(e){return"function"==typeof e?{equalityFn:e}:e??ct}var yt=Symbol();function ht(e){const t=s(yt);return t.current===yt&&(t.current=e()),t.current}function pt(e,t){const n=function(e){const t=e.getState(),n=Object.create(null);if(X(e)){for(const r in t)bt(t,r)&&(n[r]=gt(e,r));return n}for(const e in t)bt(t,e)&&(n[e]=t[e]);return n}(e);return t?Object.assign(n,t):n}function gt(e,t){return function(...n){const r=e.getState()[t];if("function"==typeof r)return r(...n);throw new Error(`[createVirtualStoreAction]: Method ${String(t)} is not a function`)}}function bt(e,t){return"function"==typeof e[t]}export{Ke as QueryStatuses,U as applyStateUpdate,O as configureStores,se as createBaseStore,ke as createDerivedStore,Ne as createQueryStore,pt as createStoreActions,it as createVirtualStore,Ee as deepEqual,He as defaultRetryDelay,B as destroyStore,V as destroyStores,Je as getLegacyQueryKey,Ge as getQueryKey,Q as getStoreName,J as isDerivedStore,G as isPersistedStore,H as isQueryStore,X as isVirtualStore,Xe as parseQueryKey,z as replacer,K as reviver,De as shallowEqual,D as time,ut as useListen,ht as useStableValue};
|
|
1
|
+
import{Platform as e,unstable_batchedUpdates as t}from"react-native";import{subscribeWithSelector as n,persist as r}from"zustand/middleware";import{createWithEqualityFn as o}from"zustand/traditional";import{useSyncExternalStoreWithSelector as i}from"use-sync-external-store/shim/with-selector";import{useLayoutEffect as s,useRef as c}from"react";var a=(e=>"undefined"!=typeof require?require:"undefined"!=typeof Proxy?new Proxy(e,{get:(e,t)=>("undefined"!=typeof require?require:e)[t]}):e)(function(e){if("undefined"!=typeof require)return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),u="ios"===e.OS;e.OS;var l="development"===process.env.NODE_ENV,f="test"===process.env.NODE_ENV;function d(e){let t;try{const{MMKV:n}=a("react-native-mmkv"),r=new n({id:e}),{getString:o,...i}=r;t=Object.assign(Object.create(null),i,{get:o})}catch(e){throw new Error("[stores] react-native-mmkv could not be loaded.\n\nPersisted stores require a storage backend. Either:\n - Install MMKV (the default): yarn add react-native-mmkv\n - Or provide a custom adapter via configureStores()\n"+(e instanceof Error?`\n${e.message}`:""))}return function(e){if(!e||"function"!=typeof e.get||"function"!=typeof e.set||"function"!=typeof e.delete||"function"!=typeof e.clearAll)throw new Error("[stores]: Storage instance does not conform to expected interface")}(t),{clearAll:()=>t.clearAll(),contains:e=>t.contains(e),delete:e=>t.delete(e),get:e=>t.get(e),getAllKeys:()=>t.getAllKeys(),set:(e,n)=>t.set(e,n)}}var y=class extends Error{constructor(e,t){super(e),this.name="StoresError",this.cause=h(t)}},p={debug:(e,t)=>{l&&console.debug(e,t)},error:(e,t)=>{l&&!f&&console.error(e,t)},info:(e,t)=>{l&&console.info(e,t)},warn:(e,t)=>{l&&console.warn(e,t)}};function h(e){return e instanceof Error?e:new Error(String(e))}var g,b,m=class{destroy(){}publish(){}},S=class{constructor(){this.sessionId="noop"}register(e){return new m}},v=!1;function w(e){var t;l&&function(){if(v)throw new Error("[stores]: configureStores() called after first store creation. Call it earlier before creating any stores.")}(),e.logger&&(t=e.logger,p=t),b??(b=q(e))}function O(){return b??(b=q(void 0))}function j(){v=!0}function q(e){return{storage:e?.storage??d(e?.storageKeyPrefix??"stores:"),syncEngine:e?.syncEngine??(g||(g=new S),g)}}function A(){let e,t,n=!1;return{complete:function(){!n&&e&&(n=!0,e(),e=void 0,t=void 0)},isHydrated:function(){return n},fail:function(r){!n&&t&&(n=!0,t(r),t=void 0,e=void 0)},promise:new Promise((n,r)=>{e=n,t=r})}}var F=Math.max,C=Math.min;function I(e,t=0,n={}){let r,o,i,s,c,a,u=0,l=!1,f=!1,d=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function y(t){const n=r,i=o;return r=o=void 0,u=t,s=n?e.apply(i,n):e.apply(i),s}function p(e){const n=e-(a??0);return void 0===a||n>=t||n<0||f&&void 0!==i&&e-u>=i}function h(){const e=k();if(p(e))return g(e);c=setTimeout(h,function(e){const n=t-(e-(a??0));return f&&void 0!==i?C(n,i-(e-u)):n}(e))}function g(e){return c=void 0,d&&r?y(e):(r=o=void 0,s)}function b(...e){const n=k(),i=p(n);if(r=e,o=this,a=n,i){if(void 0===c)return function(e){return u=e,c=setTimeout(h,t),l?y(e):s}(a);if(f)return clearTimeout(c),c=setTimeout(h,t),y(a)}return void 0===c&&(c=setTimeout(h,t)),s}return t=T(t)||0,function(e){const t=typeof e;return null!==e&&("object"===t||"function"===t)}(n)&&(l=!!n.leading,f="maxWait"in n,i=f?F(T(n.maxWait)||0,t):void 0,d="trailing"in n?!!n.trailing:d),b.cancel=function(){void 0!==c&&clearTimeout(c),u=0,r=a=o=c=void 0},b.flush=function(){return void 0===c?s:g(k())},b}function k(){return"undefined"!=typeof performance&&"function"==typeof performance.now?performance.now():Date.now()}function T(e){if("number"==typeof e)return e;if("symbol"==typeof e||void 0===e)return NaN;if("object"==typeof e&&null!==e){const t="function"==typeof e.valueOf?e.valueOf():e;e="object"==typeof t?t+"":t}return"string"!=typeof e?0===e?e:+e:(e=e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),/^0b[01]+$/i.test(e)?parseInt(e.slice(2),2):/^0o[0-7]+$/i.test(e)?parseInt(e.slice(2),8):/^[-+]0x[0-9a-f]+$/i.test(e)?NaN:+e)}function M(e,t){return t instanceof Map?{__type:"Map",entries:Array.from(t.entries())}:t instanceof Set?{__type:"Set",values:Array.from(t)}:t}function z(e,t){return function(e){return"object"==typeof e&&null!==e&&"__type"in e&&"Map"===e.__type}(t)?new Map(t.entries):function(e){return"object"==typeof e&&null!==e&&"__type"in e&&"Set"===e.__type}(t)?new Set(t.values):t}function E(e){if(null!==e&&"object"==typeof e){const t={};for(const[n,r]of Object.entries(e))"function"!=typeof r&&(t[n]=r);return t}return e}var D={ms:e=>e,seconds:e=>1e3*e,minutes:e=>D.seconds(60*e),hours:e=>D.minutes(60*e),days:e=>D.hours(24*e),weeks:e=>D.days(7*e),infinity:1/0,zero:0},K=f?0:u?D.seconds(3):D.seconds(5);function $(e){return t=>{if("string"!=typeof t)throw new y("[createBaseStore]: Received non-string serialized state without a custom deserializer. Provide a deserializer on the store or storage adapter.");return function(e,t){try{return JSON.parse(e,t?z:void 0)}catch(e){throw p.error(new y("[createBaseStore]: Failed to deserialize persisted Rainbow store data"),{error:e}),e}}(t,e)}}function P(e){return t=>function(e,t){try{return JSON.stringify(e,t?M:void 0)}catch(e){throw p.error(new y("[createBaseStore]: Failed to serialize Rainbow store data"),{error:e}),e}}(t,e)}var x=Object.freeze({shouldClear:!1});function L(e,t,n){if(!t||!e)return x;const r=e.getFieldTimestampSnapshot();return function(e,t){const n=e.getSessionId(),r=e.getTimestamp();void 0!==n&&void 0!==r&&(t.syncMetadata={origin:n,timestamp:r})}(e,n),n.syncMetadata?r&&Object.keys(r).length>0?(n.syncMetadata.fields=r,{fieldSnapshot:r,shouldClear:!0}):(delete n.syncMetadata.fields,{fieldSnapshot:r,shouldClear:!1}):{fieldSnapshot:r,shouldClear:!1}}function R(e,t){e&&t.shouldClear&&t.fieldSnapshot&&Object.keys(t.fieldSnapshot).length&&e.clearFieldTimestamps(t.fieldSnapshot)}function N(e){return!!e&&!!e.getIsApplyingRemote()}function _(e,...t){return!0===t[1]?X(t[0])?t[0](e):t[0]:{...e,...X(t[0])?t[0](e):t[0]}}function W(e,t){U(e)?e.getState().reset(t?.clearQueryCache):function(e){return"destroy"in e}(e)&&e.destroy()}function J(e,t){for(const n of Array.isArray(e)?e:Object.values(e))n&&!t?.skipDestroy?.(n)&&W(n,t)}function V(e){return H(e)?e.persist.getOptions().name??e.name:e.name}function B(e){return"getSnapshot"in e}function U(e){return"_queryStore"in e}function Q(e){return"flushUpdates"in e}function H(e){return"persist"in e}function G(e){return"_virtualStore"in e}function X(e){return"function"==typeof e}var[Y,Z]=[0,1];function ee(e,t,n){if(!e)return!0;const r=e[Y],o=e[Z];return!(t<r)&&(t>r||n>o)}function te(e,t){return Object.prototype.hasOwnProperty.call(t,e)}function ne(e,t){if(!l)return!0;if(null===e||null===t)return e===t;const n=typeof e;return n===typeof t&&("object"!==n||Object.prototype.toString.call(e)===Object.prototype.toString.call(t))}function re(e){if(null===e)return"null";const t=typeof e;return"object"===t?Object.prototype.toString.call(e):t}function oe(e,t){j();const i=void 0!==t&&"string"==typeof t.storageKey,s=i?t.storageKey:void 0,c=t?.sync?function(e,t){if(!e)return null;if(!0===e){if(!t)throw new y("[createBaseStore]: sync: true requires a storageKey to inherit the key from");return{key:t}}if("string"==typeof e)return{key:e};const n=e,r=n.key??t;if(!r)throw new y("[createBaseStore]: sync requires either a key in the config or a storageKey to inherit from");return{...n,key:r}}(t.sync,s):void 0,a=i?t.storage??O().storage:void 0,u=c?function(e,t,n){const r=t.engine??O().syncEngine,o=function(e){let t,n,r,o=!1;return{isAsync:e,clearFieldTimestamps:function(e){if(e&&r){for(const t of Object.entries(e)){const e=t[0],n=t[1];r[e]===n&&delete r[e]}Object.keys(r).length||(r=void 0)}},getFieldTimestampSnapshot:function(){if(r)return{...r}},getIsApplyingRemote:()=>o,getSessionId:()=>t,getTimestamp:()=>n,mergeFieldTimestamps:function(e){if(r)for(const t of Object.entries(e)){const e=t[0],n=t[1],o=r[e];(void 0===o||n>o)&&(r[e]=n)}else r={...e}},onHydrationComplete:void 0,onHydrationFlushEnd:void 0,setIsApplyingRemote:e=>o=e,setSessionId:e=>t=e,setTimestamp:e=>n=e,setWithoutPersist:void 0}}(n);return{stateCreator:(i,s,c)=>{const a=new Map,u=[],l=[];let f=null,d=!1,h=!1,g=0,b=null,m=[],S=Promise.resolve(),v=!n;const w=(e,t)=>{if(o?.setSessionId&&o?.setTimestamp&&r.sessionId&&(o.setSessionId(r.sessionId),o.setTimestamp(e),o.mergeFieldTimestamps&&t.length>0)){const n=Object.create(null);for(const r of t)n[String(r)]=e;o.mergeFieldTimestamps(n)}},O=function(e,t){if(d||!b)return t?i(e,t):i(e);const n=(()=>{const e=Date.now(),t=e>g?e:g+1;return g=t,t})();let o=[],s=Object.create(null);const c=r=>{const i=_(r,e,t);for(const e of m)Object.is(i[e],r[e])||(o.push(e),s[e]=i[e]);return o.length&&w(n,o),i},u=t?i(c,!0):i(c),y=()=>{o.length&&(e=>{const t=r.sessionId;for(const n of e.keys)a.set(n,[e.timestamp,t]);f&&h?f.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values}):l.push(e)})({keys:o,replace:t??!1,values:s,timestamp:n})};return(p=u)&&"object"==typeof p&&"then"in p&&"function"==typeof p.then?u.finally(y):(y(),u);var p},j=c.setState;c.setState=O;const q=e(O,s,c);if(m=t.fields??function(e){const t=[];for(const n of Object.entries(e)){if("function"==typeof n[1])continue;const e=n[0];t.push(e)}return t}(q),!m.length)return q;b=new Set(m);const A=async e=>{g=Math.max(g,e.timestamp);const n=Object.create(null),r=s(),i=e.timestamp;let c;if(e.replace)for(const t of m)te(t,e.values)||ee(a.get(t),i,e.sessionId)&&(c??(c=[])).push(t);for(const o of m){if(!te(o,e.values))continue;if(!b?.has(o))continue;if(!ee(a.get(o),i,e.sessionId))continue;const s=t.merge?.[o];if(s){const t=e.values[o],c=r[o];if(void 0!==t){const u=s(t,c,r,e.values),l=void 0!==c?c:t;if(!ne(u,l))return void p.error(new y(`[sync] Merge function for field "${String(o)}" returned ${re(u)} but expected ${re(l)}`));n[o]=u,a.set(o,[i,e.sessionId])}}else n[o]=e.values[o],a.set(o,[i,e.sessionId])}if(Object.keys(n).length>0||c?.length){d=!0,o&&o.setIsApplyingRemote(!0);try{if(e.replace){const e={...r};let t=!1;if(c?.length){t=!0;for(const t of c)delete e[t],a.delete(t)}for(const r in n){if(!Object.prototype.hasOwnProperty.call(n,r))continue;const o=n[r];void 0!==o&&(Object.is(e[r],o)||(t=!0),e[r]=o)}if(!t)return;await(o.setWithoutPersist??j)(e,!0)}else await(o.setWithoutPersist??j)(n)}finally{d=!1,o&&o.setIsApplyingRemote(!1)}}},F=e=>{n?S=S.then(()=>A(e)):A(e)};f=r.register({apply:e=>{v?F(e):u.push(e)},delta:t.delta,fields:m,getState:s,key:t.key});const C=()=>{h=!0,(()=>{if(f&&l.length){for(const e of l){const t=r.sessionId;for(const n of e.keys)a.set(n,[e.timestamp,t]);w(e.timestamp,e.keys),f.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values})}l.length=0}})()},I=()=>{v=!0,(()=>{if(!u.length)return;const e=u.slice();u.length=0;for(const t of e)F(t)})()};return n&&o?(o.onHydrationComplete=C,o.onHydrationFlushEnd=I):f.onHydrated?(f.onHydrated(C),I()):(C(),I()),q},syncContext:o}}(e,c,a?.async??!1):void 0,l=u?.stateCreator??e;if(!i)return o()(n(l),Object.is);const f=a?.async?function(e){let t,n,r,o=!1;return{hydrationPromise:()=>o?t?.promise??n??(n=Promise.resolve()):(t||(t=A()),t.promise),stateCreator:(n,i,s)=>{let c;return r=()=>{if(c?.length){for(const e of c)e[1]?s.setState(e[0],e[1]):s.setState(e[0]);c=void 0}},e((...e)=>o?!0===e[1]?n(e[0],e[1]):n(e[0]):(t||(t=A()),c||(c=[]),c.push(e),t.promise),i,s)},wrapOnRehydrateStorage:(e,n)=>i=>{const s=e?.(i);return(e,i)=>{o=!0,n?.onHydrationComplete?.(),r&&r(),n?.onHydrationFlushEnd?.(),i?t?.fail(h(i)):t?.complete(),s?.(e,i)}}}}(l):null,d=function(e,t,n){const r=t??e.storage??O().storage,o=(e.sync?void 0:e.persistThrottleMs??K)||void 0,i=e.version??0,s=r.async?function(e,t,n,r){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),i="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),s=t.partialize??E,c=t.deserializer??e.deserializer??$(o),a=t.serializer??e.serializer??P(o);async function u(t,n){try{if(N(r))return;n.state,n.state=s(n.state);const o=L(r,i,n),c=a(n);try{await e.set(t,c),R(r,o)}catch(e){p.error(new y("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){p.error(new y("[createBaseStore]: Failed to serialize persisted store data"),{error:e})}}const l=void 0!==n?I(u,n,{leading:!1,maxWait:n,trailing:!0}):function(e){let t,n=null;return function(...r){return t=r,n||(n=new Promise(r=>{queueMicrotask(async()=>{try{await e(...t)}finally{n=null,r()}})})),n}}(u);return{getItem:async t=>{const n=await e.get(t);return void 0===n?null:c(n)},setItem:async(e,t)=>{if(!r?.getIsApplyingRemote())return await l(e,t)},removeItem:async t=>{try{await e.delete(t)}catch(e){p.error(new y("[createBaseStore]: Failed to delete persisted store data"),{error:e})}}}}(r,e,o,n):function(e,t,n,r){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),i="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),s=t.partialize??E,c=t.deserializer??e.deserializer??$(o),a=t.serializer??e.serializer??P(o);function u(t,n){try{if(N(r))return;n.state,n.state=s(n.state);const o=L(r,i,n),c=a(n);try{e.set(t,c),R(r,o)}catch(e){p.error(new y("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){p.error(new y("[createBaseStore]: Failed to persist store data"),{error:e})}}const l=void 0!==n?I(u,n,{leading:!1,maxWait:n,trailing:!0}):u;return{getItem:t=>{const n=e.get(t);return void 0===n?null:c(n)},setItem:(e,t)=>{r?.getIsApplyingRemote()||l(e,t)},removeItem:t=>{try{e.delete(t)}catch(e){p.error(new y("[createBaseStore]: Failed to delete persisted store data"),{error:e})}}}}(r,e,o,n);return{persistStorage:s,version:i}}(t,a,u?.syncContext),g=f?f.wrapOnRehydrateStorage(t.onRehydrateStorage,u?.syncContext):t.onRehydrateStorage,b=f?(e,t,n)=>(u&&(u.syncContext.setWithoutPersist=n.setState),f.stateCreator(e,t,n)):l,m=o()(n(r(b,function(e,t,n){const r={name:e.storageKey,onRehydrateStorage:n,storage:t.persistStorage,version:t.version};return void 0!==e.merge&&(r.merge=e.merge),void 0!==e.migrate&&(r.migrate=e.migrate),r}(t,d,g))),Object.is);return f?Object.assign(m,{persist:Object.assign(m.persist,{hydrationPromise:f.hydrationPromise})}):m}function ie(e,t,n="s"){return 1===t?e:`${e}${n}`}function se(e,t,n){const r=t.get(e);if(!r){const r=function(e,t,n,r=[]){return e&&"object"==typeof e?ce(e,r,t,n,new WeakSet,new WeakMap):(n(t,r,!0),e)}(B(e)?e.getSnapshot():e.getState(),e,n);return t.set(e,r),r}return r}function ce(e,t,n,r,o,i){return new Proxy(e,{get(s,c,a){if(o.has(s))return Reflect.get(s,c,a);if("__proto__"===c||"symbol"==typeof c)return c===Symbol.iterator&&(r(n,t,!0),o.add(s)),Reflect.get(s,c,a);const u=Reflect.get(s,c,s),l=String(c),f=t.concat(l);if("function"==typeof u)return Object.prototype.hasOwnProperty.call(s,c)?function(...e){return r(n,f,!0,{method:l,args:e.length?e:void 0}),Reflect.apply(u,s,e)}:(r(n,t,!0),u.bind(e));const d=!!u&&"object"==typeof u;return r(n,f,!d),d?(i.has(u)||i.set(u,ce(u,f,n,r,o,i)),i.get(u)):u},getOwnPropertyDescriptor:(e,i)=>(r(n,t,!0),o.add(e),Reflect.getOwnPropertyDescriptor(e,i)),has:(e,o)=>(r(n,t,!0),Reflect.has(e,o)),ownKeys:e=>(r(n,t,!0),o.add(e),Reflect.ownKeys(e))})}function ae(e){return t=>le(t,e)}function ue(e,t){const n=e.slice(0,-1);return e=>{const r=le(e,n),o=r?.[t.method];return"function"==typeof o?o.apply(r,t.args):void 0}}function le(e,t){let n=e;for(const e of t){if(!n||"object"!=typeof n)return n;n=n[e]}return n}function fe(){const e=new Map;return{buildProxySubscriptions(t,n){const r=new Set;for(const[t,n]of e)pe(n,t,[],0,r);!function(e,t,n){for(const n of e)t(n.store,n.invocation?ue(n.path,n.invocation):ae(n.path));n&&function(e){const t=e.size;console.log(`[π‘ ${t} ${ie("Proxy Subscription",t)} π‘]:`,JSON.stringify(Array.from(e).map(e=>{const t=V(e.store),n=e.path.join(".");if(!e.invocation)return n?`$(${t}).${n}`:`$(${t})`;const r=e.invocation.args?.length??0;return`$(${t}).${n}${r?`(${r}_${ie("arg",r)})`:"()"}`}),null,2))}(e)}(r,t,n)},trackPath(t,n,r,o){let i=e.get(t);i||(i=de(),e.set(t,i)),ye(i,n,0,r,o)}}}function de(){return Object.create(null)}function ye(e,t,n,r,o){if(n===t.length)return r&&(e.isLeaf=!0),void(o&&(e.invocation=o));e.children||(e.children=de());const i=t[n];let s=e.children?.[i];s||(s=de(),e.children[i]=s),ye(s,t,n+1,r,o)}function pe(e,t,n,r,o,i=1){const s=e.children;if(!s)return void o.add({store:t,path:n,invocation:e.invocation,isLeaf:e.isLeaf??!1});const c=Object.keys(s),a=c.length;if(0!==a)if(e.isLeaf||r>=i&&a>1){o.add({store:t,path:n,invocation:e.invocation,isLeaf:e.isLeaf??!1});for(const e of c){const c=s[e];c.invocation&&pe(c,t,[...n,e],r+1,o,i)}}else if(r<i&&a>1&&!e.isLeaf)for(const e of c)pe(s[e],t,[...n,e],r+1,o,i);else{if(1===a){const e=c[0];return void pe(s[e],t,[...n,e],r+1,o,i)}o.add({store:t,path:n,invocation:e.invocation,isLeaf:e.isLeaf??!1})}else o.add({store:t,path:n,invocation:e.invocation,isLeaf:e.isLeaf??!1})}var he=!1,ge=!1,be=new Map,me=new Map,Se=new Map,ve=null,we=1/0;function Oe(){return he}function je(){return ve}function qe(){he||(he=!0,ge||(ge=!0,queueMicrotask(()=>{ge=!1,t(()=>{for(;me.size>0;){const e=we,t=Se.get(e);if(t){Se.delete(e);for(const e of t)me.delete(e);ve=e;for(const e of t)e();if(ve=null,Se.size>0){we=1/0;for(const e of Se.keys())e<we&&(we=e)}else we=1/0}else{we=1/0;for(const e of Se.keys())e<we&&(we=e)}}for(;be.size>0;){const e=Array.from(be.values());be.clear();for(const t of e)t()}}),he=!1,ve=null,me.clear(),Se.clear(),we=1/0})))}function Ae(e,t){he&&be.set(e,t)}var Fe=e=>e;function Ce(e,t=Object.is){return n=function(e,t=Object.is){const{debounceOptions:n,debugMode:r,equalityFn:o,keepAlive:i,lockDependencies:s}="function"==typeof(u=t)?{debounceOptions:void 0,debugMode:!1,equalityFn:u,keepAlive:!1,lockDependencies:!1}:{debounceOptions:u.debounce,debugMode:(l&&u.debugMode)??!1,equalityFn:u.equalityFn??Object.is,keepAlive:u.keepAlive??!1,lockDependencies:u.lockDependencies??!1},c=String(ke+=1),a=new Set;var u;i&&a.add(Te);const f=new Set;let d,y,p=Ie,h=!1,g=!0,b=!0,m=!0,S=0,v=!1,w=null,O=Ie;function j(e,t,n){if(!m||!a.size)return(t??Fe)(B(e)?e.getSnapshot():e.getState());if(!t)return d||(d=new WeakMap),y||(y=fe()),se(e,d,y.trackPath);const r=e.subscribe(t,D,{equalityFn:n??Object.is,isDerivedStore:!0});return f.add(r),t(B(e)?e.getSnapshot():e.getState())}function q(e){for(const t of f)t(e);f.clear()}function A(){if(!b&&Me(p))return p;b=!1,m&&q(!0);const t=p,n=Me(t);p=function(t){g=!0;const n=p,i=e(t);return Me(n)&&o(n,i)?(r&&console.log("[π₯· Derive Complete π₯·]: No change detected"),g=!1,n):i}(j);const i=r&&(!n||"verbose"===r&&m);if(i){n?"verbose"===r&&console.log("[π Rebuilding Subscriptions π]: Createdβ¦"):console.log("[π Initial Derive Complete π]: Createdβ¦");const e=f.size;console.log(`[π― ${e} ${ie("Selector Subscription",e)} π―]`)}return y&&m&&(y.buildProxySubscriptions((e,t)=>{const n=e.subscribe(t,D,{equalityFn:Object.is,isDerivedStore:!0});f.add(n)},i),d=void 0,y=void 0),g&&n&&function(e,t){const n=function(){const e=a.has(Te)?a.size-1:a.size;return S>0&&S<e}(),o=!S||n,i=n||null!==je()||Oe()&&o;n&&qe(),r&&console.log(`[π» Derive Complete π»]: Notifying ${a.size} ${ie("watcher",a.size)}`);for(const t of a){if("function"==typeof t||!t.isDerivedWatcher)continue;const n=t.selector(e);if(!t.equalityFn(t.currentSlice,n)){const e=t.currentSlice;t.currentSlice=n,t.listener(n,e)}}i?v||(v=!0,Me(O)||(O=t),Ae(c,C)):F(e,t)}(p,t),s&&(m=!1),p}function F(e,t){for(const n of a)if("function"==typeof n)n(e,t);else if(!n.isDerivedWatcher){const t=n.selector(e);if(!n.equalityFn(n.currentSlice,t)){const e=n.currentSlice;n.currentSlice=t,n.listener(t,e)}}}function C(){a.size&&(v&&function(){if(b&&!S&&A(),!Me(p))return;const e=Me(O)?O:p;F(p,e)}(),v=!1,O=Ie)}const k=n?I(M,"number"==typeof n?n:n.delay,"number"==typeof n?{leading:!1,maxWait:n,trailing:!0}:n):void 0,T=k??(()=>{h||(h=!0,queueMicrotask(M))});function M(){a.size&&(h=!1,b&&A())}function z(e){e?queueMicrotask(()=>{a.size||$()}):$()}function E(){M(),w=null}function D(){if(!b){if(b=!0,!k){if(S){qe();const e=je(),t=null===e?0:e+1;if(null!==w&&t<=w)return;return w=t,void function(e,t){if(!he)return;const n=t<0?0:0|t,r=me.get(e);if(void 0===r){me.set(e,n);let t=Se.get(n);return t||(t=new Set,Se.set(n,t)),t.add(e),void(n<we&&(we=n))}if(n>r){const t=Se.get(r);if(t&&(t.delete(e),0===t.size&&(Se.delete(r),r===we))){we=1/0;for(const e of Se.keys())e<we&&(we=e)}me.set(e,n);let o=Se.get(n);o||(o=new Set,Se.set(n,o)),o.add(e),n<we&&(we=n)}}(E,t)}if(Oe())return void(v||(v=!0,Me(p)&&(O=p),Ae(c,C)))}w=null,S&&!n?A():T()}}function K(){return b||!Me(p)?a.size>0?A():e(j):p}function $(e=!0){i&&e||(k?.cancel(),q(),a.clear(),S=0,y=void 0,d=void 0,m=!0,h=!1,b=!0,p=Ie,v=!1,O=Ie,w=null)}return{destroy:()=>$(!1),flushUpdates:function(){a.size&&(k?k.flush():b&&A())},getSnapshot:function(){if(!Me(p)){a.add(Te);const e=A();return a.delete(Te),e}return h&&M(),p},getState:K,subscribe:function(...e){if(1===e.length){const t=e[0];return a.add(t),1!==a.size||Me(p)||K(),()=>{a.delete(t),a.size||z(!1)}}const[t,n,r]=e,o=r?.equalityFn??Object.is,i=r?.isDerivedStore??!1,s={currentSlice:void 0,equalityFn:o,isDerivedWatcher:i,listener:n,selector:t};return a.add(s),s.currentSlice=t(K()),i&&(S+=1),r?.fireImmediately&&n(s.currentSlice,s.currentSlice),()=>{a.delete(s),i&&(S-=1),a.size||z(i)}},getInitialState:()=>{throw new Error("[createDerivedStore]: getInitialState() is not available on derived stores.")},setState:()=>{throw new Error("[createDerivedStore]: setState() is not available on derived stores.")}}}(e,t),Object.assign(function(e=Fe,t=void 0){return i(n.subscribe,n.getSnapshot,void 0,e,t)},n);var n}var Ie=Symbol(),ke=0;function Te(){}function Me(e){return e!==Ie}var ze=class{constructor({disableAutoRefetching:e,initialEnabled:t}){this.count=0,this.enabled=!1,this.lastSubscriptionTime=null,this.fetchThrottleMs=null,this.onSubscribe=null,this.onLastUnsubscribe=null,this.enabled=t,e&&(this.fetchThrottleMs=D.seconds(5))}init({onSubscribe:e,onLastUnsubscribe:t}){this.onSubscribe=e,this.onLastUnsubscribe=t}get(){return{enabled:this.enabled,lastSubscriptionTime:this.lastSubscriptionTime,subscriptionCount:this.count}}setEnabled(e){this.enabled=e}subscribe(){const e=0===this.count,t=null!==this.fetchThrottleMs&&null!==this.lastSubscriptionTime&&!e&&Date.now()-this.lastSubscriptionTime<=this.fetchThrottleMs;return this.onSubscribe?.(this.enabled,e,t),this.count+=1,this.lastSubscriptionTime=Date.now(),e=>{const t=1===this.count;this.count=Math.max(this.count-1,0),t&&(this.onLastUnsubscribe?.(e),this.lastSubscriptionTime=null)}}},Ee={Error:"error",Idle:"idle",Loading:"loading",Success:"success"};function De(e,t){if("object"!=typeof e||null==e||"object"!=typeof t||null==t)return e===t;if(Object.is(e,t))return!0;const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!(r in t)||!De(e[r],t[r]))return!1;return!0}function Ke(e,t){if("object"!=typeof e||null==e||"object"!=typeof t||null==t)return e===t;if(Object.is(e,t))return!0;const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!Object.is(e[r],t[r]))return!1;return!0}function $e(e,t){const n=Object.prototype.hasOwnProperty;function r(e,t){for(const n of e.keys())if($e(n,t))return n}let o,i,s;if(e===t)return!0;if(e&&t&&(o=e.constructor)===t.constructor){if(o===Date)return e.getTime()===t.getTime();if(o===RegExp)return e.toString()===t.toString();if(o===Array){if((i=e.length)===t.length)for(;i--&&$e(e[i],t[i]););return-1===i}if(o===Set){if(e.size!==t.size)return!1;for(let n of e){if(s=n,s&&"object"==typeof s&&(s=r(t,s),!s))return!1;if(!t.has(s))return!1}return!0}if(o===Map){if(e.size!==t.size)return!1;for(let n of e){if(s=n[0],s&&"object"==typeof s&&(s=r(t,s),!s))return!1;if(!$e(n[1],t.get(s)))return!1}return!0}if(o===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(o===DataView){if((i=e.byteLength)===t.byteLength)for(;i--&&e.getInt8(i)===t.getInt8(i););return-1===i}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){const n=e,r=t;if((i=n.byteLength)===r.byteLength)for(;i--&&n[i]===r[i];);return-1===i}if(!o||"object"==typeof e){i=0;for(const r in e){if(n.call(e,r)&&++i&&!n.call(t,r))return!1;if(!(r in t)||!$e(e[r],t[r]))return!1}return Object.keys(t).length===i}}return e!=e&&t!=t}var Pe=new WeakMap,xe=new WeakMap;function Le(e,t=Re,n=$e){return function(e,t,n){let r=xe.get(e);r||(r=new Map,xe.set(e,r));let o=r.get(t);o||(o=new Map,r.set(t,o));const i=o.get(n);if(i)return i;const[s,c,a]=_e(e,t,n),u=new Map,l=e=>{const t={get(t,n){if("value"===n){let t=c();const n=e.split(".");for(const e of n)e&&(t=t[e]);return t}const r="string"==typeof n?n:n.toString(),o=e?`${e}.${r}`:r,i=u.get(o);if(i)return i;const a=l(o);return Pe.set(a,s),u.set(o,a),a},set(t,n,r){const o=e.split(".");return""===o[0]&&o.shift(),a(o,r),!0}};return new Proxy(Object.create(null),t)},f=l("");return s(()=>{}),Pe.set(f,s),o.set(n,f),f}(e,t,n)}var Re=e=>e,Ne=(e,t,n)=>{if(!t.length)return n;const[r,...o]=t,i=e[r],s=Ne(i,o,n);if($e(i,s))return e;const c=Array.isArray(e)?e.slice():{...e};return c[r]=s,c},_e=(e,t,n)=>{const r=new Set,o=B(e);let i,s=t(o?e.getSnapshot():e.getState());return[c=>(r.size||(i=e.subscribe(t,e=>{s=e,r.forEach(e=>e())},{equalityFn:n,isDerivedStore:o})),r.add(c),()=>{r.delete(c),!r.size&&i&&(i(),i=void 0)}),()=>(r.size||(s=t(e.getState())),s),(n,r)=>{if(t!==Re)throw new Error("Cannot set a value with a selector");e.setState(e=>Ne(e,n,r),!0)}]};function We(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var[Je,Ve]=[!0,!1],Be={error:Je,lastFetchedAt:Je,queryCache:Je,queryKey:Je,status:Je,enabled:Ve,fetch:Ve,getCacheEntry:Ve,getData:Ve,getStatus:Ve,isDataExpired:Ve,isStale:Ve,reset:Ve},Ue=D.seconds(5);function Qe(e,t,n){j();const r="function"==typeof t?t:nt,o="object"==typeof t?t:n,i=o&&"storageKey"in o?o:void 0,{fetcher:s,onError:c,onFetched:a,setData:u,transform:d,abortInterruptedFetches:g=!0,cacheTime:b=D.days(7),debugMode:m=!1,disableAutoRefetching:S=!1,disableCache:v=!1,enabled:w=!0,keepPreviousData:O=!1,maxRetries:q=5,paramChangeThrottle:A=!1,params:F,retryDelay:C=He,suppressStaleTimeWarning:k=!1,useParsableQueryKeys:T=!0}=e;let M="function"==typeof e.staleTime?D.minutes(2):e.staleTime??D.minutes(2);l&&!S&&!k&&M<Ue&&console.warn(`[createQueryStore${i?.storageKey?`: ${i.storageKey}`:""}] β Stale times under ${Ue/1e3} seconds are not recommended. Provided staleTime: ${M/1e3} seconds`);const z=T?Xe:Ge,E=new Error("[createQueryStore: AbortError] Fetch interrupted"),K="function"==typeof b,$=l&&m,P=Object.keys(e.params??Object.create(null));let x=null,L=null,R=null,N=[],_=!1,W=!1,J=null,V=null,B=null,U=null,Q=null;const H={enabled:"function"!=typeof w&&w,error:null,lastFetchedAt:null,queryCache:{},queryKey:"",status:Ee.Idle},G=new ze({disableAutoRefetching:S,initialEnabled:H.enabled}),X=()=>{J&&(V=null,J.abort(),J=null)},Y=(t,n,o)=>{const l=o.setState,f=(e,t)=>{const n="function"==typeof e;if(n||void 0!==e.enabled){let t;const r=l(r=>{const i=n?e(r):e,s=void 0!==i.enabled?i.enabled:r.enabled;return s!==r.enabled&&(t=()=>((e,t)=>{e!==t&&Q!==t&&(Q=t,G.setEnabled(t),t?queueMicrotask(()=>o.getState().fetch(void 0,{updateQueryKey:!0})):(B||g)&&(g&&X(),B&&(clearTimeout(B),B=null)))})(r.enabled,s)),i});return t?.(),r}return l(e)};o.setState=f,G.init({onSubscribe:(r,o,i)=>{if(L||x||!F&&"function"!=typeof e.enabled&&"function"!=typeof e.staleTime){if(r)if(o){const e=tt(x,L),r=z(e),o=n();o.queryKey!==r&&t(e=>({...e,queryKey:r})),o.isStale()?w.fetch(e,void 0,!0):m(e,void 0)}else S&&!i&&w.fetch(void 0,void 0,!0)}else _=!0},onLastUnsubscribe:e=>{B&&(clearTimeout(B),B=null),g&&!e&&X()}});const m=(e,t)=>{if(S||t?.skipStoreUpdates)return;if(M<=0||M===1/0)return;B&&(clearTimeout(B),B=null);const r=z(e),o=n(),i=(v?U===r&&o.lastFetchedAt:o.queryCache[r]?.lastFetchedAt)||null,s=i?M-(Date.now()-i):M;B=setTimeout(()=>{const t=G.get();t.enabled&&t.subscriptionCount>0&&w.fetch(e,{force:!0},!0)},s)},w={...r(f,n,o),...H,async fetch(e,r,o=!1){const l=G.get();if(!r?.force&&!r?.skipStoreUpdates&&!l.enabled)return null;const S=n(),j=S.error,A=S.queryKey,F=S.status,I=et(x,L,P,e),k=z(I),T=r?.staleTime??M,D=F===Ee.Loading,R=!!r?.skipStoreUpdates,N="boolean"==typeof r?.updateQueryKey?r.updateQueryKey:o?O:!R,_=o||!R&&(N||A===k);if(V?.promise&&V.key===k&&D)return $&&console.log("[π Using Active Fetch π] for params:",JSON.stringify(I)),V.promise;if(g&&!R&&!1!==r?.updateQueryKey&&X(),!r?.force){const e=S.lastFetchedAt,n=S.queryCache[k],o=n?.lastFetchedAt,i=n?.errorInfo,s=i&&i.retryCount>=q,c=(v?U===k&&e:o)||null;if(c&&!(Date.now()-c>=T)&&(!i||s||R))return _&&!R&&!B&&l.subscriptionCount>0&&0!==M&&M!==1/0&&m(I,r),N&&t(e=>e.queryKey!==k?{...e,queryKey:k}:e),$&&console.log("[πΎ Returning Cached Data πΎ] for params:",JSON.stringify(I)),n?.data??null}!R&&_&&(B&&(clearTimeout(B),B=null),!j&&D||t(e=>({...e,error:null,status:Ee.Loading})),V={key:k});const W=r?.cacheTime??(K?b(I):b),Q=async()=>{try{$&&(o||!e||rt(e,P)?console.log("[π Fetching π] for params:",JSON.stringify(I)):console.log("[π Fetching with Partial Params π]\n","- Provided params:",`${JSON.stringify(e)}\n`,"- Filled in params:",`${JSON.stringify(Object.fromEntries(Object.keys(I).filter(t=>!(t in e)).map(e=>[e,I[e]])))}`));const n=await(g&&!R&&_?(async e=>{const t=new AbortController;J=t;try{return await new Promise((n,r)=>{t.signal.addEventListener("abort",()=>r(E),{once:!0}),Promise.resolve(s(e,t)).then(n,r)})}finally{J===t&&(J=null)}})(I):s(I,null)),c=Date.now();let l;$&&console.log("[β
Fetch Successful β
] for params:",JSON.stringify(I));try{l=d?d(n,I):n}catch(e){throw new y(`[createQueryStore: ${i?.storageKey||k}]: transform failed`,e)}if(R)return $&&console.log("[π₯· Successful Parallel Fetch π₯·] for params:",JSON.stringify(I)),"withCache"===r.skipStoreUpdates&&t(e=>{if(!u)return v?{...e,queryCache:{...e.queryCache,[k]:{cacheTime:W,data:l,errorInfo:null,lastFetchedAt:c}}}:e;let t=e;const n=t.queryCache[k];return u({data:l,params:I,queryKey:k,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!v&&Object.is(n,t.queryCache[k])&&(t={...t,queryCache:{...t.queryCache,[k]:{cacheTime:W,data:l,errorInfo:null,lastFetchedAt:c}}}),t}),l;if((u?f:t)(e=>{let t={...e,error:null,lastFetchedAt:c,queryKey:N?k:e.queryKey,status:Ee.Success};if(u||v){if(u){$&&console.log("[πΎ Setting Data πΎ] for params:",JSON.stringify(I));const e=t.queryCache[k];u({data:l,params:I,queryKey:k,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!v&&Object.is(e,t.queryCache[k])&&(t.queryCache={...t.queryCache,[k]:{cacheTime:W,data:null,errorInfo:null,lastFetchedAt:c}})}}else $&&console.log("[πΎ Setting Cache πΎ] for params:",JSON.stringify(I),"| Has previous data?:",!!t.queryCache[k]?.data),t.queryCache={...t.queryCache,[k]:{cacheTime:W,data:l,errorInfo:null,lastFetchedAt:c}};return v||b===1/0?t:ot(O,k,t)}),_&&(U=k,m(I,r)),a)try{a({data:l,fetch:w.fetch,params:I,set:f})}catch(e){p.error(new y(`[createQueryStore: ${i?.storageKey||k}]: onFetched callback failed`,e))}return l??null}catch(s){if(s===E)return $&&console.log("[β Fetch Aborted β] for params:",JSON.stringify(I)),null;const a=!o&&!0===r?.throwOnError,u=h(s);if(R||!_){if(p.error(new y(`[createQueryStore: ${i?.storageKey||k}]: Failed to fetch data`,u)),a)throw u;return null}const l=v?void 0:n().queryCache[k],f=l?.errorInfo?.retryCount??0,d=f+1;if(c?.(u,f),f<q){if(G.get().subscriptionCount>0){const t="function"==typeof C?C(d,u):C;t!==1/0&&(B&&clearTimeout(B),B=setTimeout(()=>{const{enabled:t,subscriptionCount:n}=G.get();t&&n>0&&w.fetch(e,{force:!0},!0)},t))}t(e=>({...e,error:u,queryCache:{...e.queryCache,[k]:{cacheTime:l?.cacheTime??W,data:l?.data??null,lastFetchedAt:l?.lastFetchedAt??null,errorInfo:{error:u,lastFailedAt:Date.now(),retryCount:d}}},queryKey:N?k:e.queryKey,status:Ee.Error}))}else t(e=>({...e,error:u,queryCache:{...e.queryCache,[k]:{cacheTime:l?.cacheTime??W,data:l?.data??null,lastFetchedAt:l?.lastFetchedAt??null,errorInfo:{error:u,lastFailedAt:Date.now(),retryCount:q}}},queryKey:N?k:e.queryKey,status:Ee.Error}));if(p.error(new y(`[createQueryStore: ${i?.storageKey||k}]: Failed to fetch data`,u)),a)throw u;return null}finally{!R&&_&&(V=null)}};return R||!_?Q():(V={key:k,promise:Q()}).promise},getCacheEntry(e){if(v)return null;const t=n(),r=e?"string"==typeof e?e:z(et(x,L,P,e)):t.queryKey;return t.queryCache[r]??null},getData(e){if(v)return null;const t=n().getCacheEntry(e);return t&&null!==t.data?O?t.data:t.lastFetchedAt&&Date.now()-t.lastFetchedAt>=t.cacheTime?null:t.data:null},getStatus:function(e){switch(e){case"isIdle":return n().status===Ee.Idle;case"isLoading":return n().status===Ee.Loading;case"isSuccess":{const e=n(),t=e.queryCache[e.queryKey]?.lastFetchedAt;return"number"==typeof t||e.status===Ee.Success}case"isError":case"isInitialLoad":case void 0:{const t=n(),r=t.queryCache[t.queryKey],o=(v?U===t.queryKey&&t.lastFetchedAt:r?.lastFetchedAt)||null,i=t.status;switch(e){case"isError":{const e=t.queryCache[t.queryKey];return v?"error"!==i:"number"==typeof e?.errorInfo?.lastFailedAt}case"isInitialLoad":return!o&&i===Ee.Loading}return{isError:i===Ee.Error,isIdle:i===Ee.Idle,isLoading:i===Ee.Loading,isInitialLoad:!o&&i===Ee.Loading,isSuccess:i===Ee.Success}}}},isDataExpired(e){const t=n(),r=t.queryCache[t.queryKey],o=t.queryKey,i=t.lastFetchedAt,s=(v?U===o&&i:r?.lastFetchedAt)||null;if(!s)return!0;const c=e??r?.cacheTime;return void 0===c||Date.now()-s>=c},isStale(e){const t=n(),r=t.queryKey,o=(v?U===r&&t.lastFetchedAt:t.queryCache[r]?.lastFetchedAt)||null;if(!o)return!0;const i=e??M;return Date.now()-o>=i},reset(e=!1){for(const e of N)e();N=[],x=null,L=null,R=null,X(),B&&(clearTimeout(B),B=null),V=null,U=null,e&&t(e=>({...e,...H}))}},j=o.subscribe;return o.subscribe=(...e)=>{const t=W?()=>{}:G.subscribe(),n=1===e.length?j(e[0]):j(e[0],e[1],e[2]);return e=>{t(e),n()}},w},Z=i?.storageKey?oe(Y,Object.assign(Object.create(null),i,{partialize:ct(O,i.partialize)})):o&&!("storageKey"in o)?oe(Y,o):oe(Y),ee=Z.getState(),te=ee.error,ne=ee.enabled,re=ee.queryKey;if(re&&!te&&(U=re),W=!0,F||"function"==typeof e.enabled){const{directValues:e,enabledAttachVal:t,enabledDirectValue:n,attachVals:r}=function(e,t,n){const r=Object.create(null),o=Object.create(null),i=Object.create(null);for(const e in t){if(!We(t,e))continue;const s=t[e];if(it(s)){const t=s(Le,n);r[e]=t,i[e]=t.value}else st(s)&&(o[e]=s,i[e]=s)}let s,c=null,a=null;if(it(e)){const t=e(Le,n);s=t.value,c=t}else s=e,a=e;return{attachVals:r,directValues:o,enabledAttachVal:c,enabledDirectValue:a,resolvedEnabled:s,resolvedParams:i}}(w,F,Z);x={enabled:t,params:r},L={enabled:n,params:e}}"function"==typeof e.staleTime&&(R=e.staleTime(Le,Z),M=R.value);const ie=function(){let e,t=!1;return function(...n){e=n,t||(t=!0,queueMicrotask(()=>{t=!1,(e=>{ee.fetch(e??tt(x,L),{updateQueryKey:O})})(...e)}))}}();function se(){let e;if(!O){e=tt(x,L);const t=z(e);Z.setState(e=>({...e,queryKey:t}))}ie(e)}const ce=f||!A?se:I(se,"number"==typeof A?A:A.delay,"number"==typeof A?{leading:!1,maxWait:A,trailing:!0}:A);if(x?.enabled){const e=x.enabled,t=Pe.get(e);if(t){let n=e.value;ne!==n&&Z.setState(e=>({...e,enabled:n})),n&&G.setEnabled(n),$&&console.log("[π Enabled Subscription π] Initial value:",n);const r=t(()=>{const t=e.value;t!==n&&($&&console.log("[π Enabled Change π] - [Old]:",`${n},`,"[New]:",t),n=t,Z.setState(e=>({...e,enabled:t})))});N.push(r)}}else ne!==H.enabled&&Z.setState(e=>({...e,enabled:H.enabled}));for(const e in x?.params){const t=x.params[e];if(!t)continue;const n=Pe.get(t);if($&&console.log("[π Param Subscription π] Subscribed to param:",e),n){let r=t.value;const o=n(()=>{const n=t.value;$e(r,n)||($&&console.log("[π Param Change π] -",e,"- [Old]:",`${r?.toString()},`,"[New]:",n?.toString()),r=n,ce())});N.push(o)}}if(R){const e=Pe.get(R);if(e){const t=R;let n=t.value;$&&console.log("[π StaleTime Subscription π] Initial value:",n);const r=e(()=>{const e=t.value;e!==n&&($&&console.log("[π StaleTime Change π] - [Old]:",`${n},`,"[New]:",e),n=e,M=e,Z.getState().fetch())});N.push(r)}}return W=!1,_&&queueMicrotask(ce),ae=Z,ue="_queryStore",Object.assign(ae,{[ue]:!0});var ae,ue}function He(e,t){const n=t?.baseDelay??D.seconds(5),r=t?.maxDelay??D.minutes(5),o=Math.pow(2,e);return Math.min(n*o,r)}function Ge(e){return JSON.stringify(Object.keys(e).sort().map(t=>e[t]))}function Xe(e){return JSON.stringify(Ze(e))}function Ye(e){return JSON.parse(e)}function Ze(e){return"object"!=typeof e||null===e?e:Object.keys(e).sort().reduce((t,n)=>{const r=e[n];return t[n]=null!==r&&"object"==typeof r?Ze(r):r,t},{})}function et(e,t,n,r){return r?rt(r,n)?r:{...tt(e,t),...r}:tt(e,t)}function tt(e,t){const n=t?.params??Object.create(null);for(const t in e?.params){const r=e.params[t];r&&(n[t]=r.value)}return n}function nt(){return Object.create(null)}function rt(e,t){if(!e)return!1;for(const n of t)if(!(n in e))return!1;return!0}function ot(e,t,n){if(!n.queryCache)return n;const r=Date.now(),o=t??(e&&n.queryKey||null);let i=!1;const s=Object.create(null);for(const e in n.queryCache){if(!We(n.queryCache,e))continue;const c=n.queryCache[e];c&&(r-(c.lastFetchedAt??c.errorInfo.lastFailedAt)<c.cacheTime||e===o)?!t&&c.errorInfo&&c.errorInfo.retryCount>0?(s[e]={...c,errorInfo:{...c.errorInfo,retryCount:0}},i=!0):s[e]=c:i=!0}return i?{...n,queryCache:s}:n}function it(e){return"function"==typeof e}function st(e){return!it(e)}function ct(e,t){return n=>{const r={...n},o={};for(const e in r)We(r,e)&&e in Be&&(Be[e]&&(o[e]=r[e]),delete r[e]);return{...t?t(r):E(r),...ot(e,null,o)}}}function at(e,t,n){const r="function"==typeof t,o=r?t:void 0,i=r?n:t,s=new Set,c=Ce(e,{debugMode:i?.debugMode??!1,equalityFn:function(e,t){const n=Object.is(e,t);return n||(function(e,t){for(const n of s){n.unsubscribe();const r=n.args;if(1===r.length){const o=r[0],i=e.getState(),s=t.getState(),c=t.subscribe(o);n.unsubscribe=c,Object.is(s,i)||o(s,i);continue}const o=r[0],i=r[1];let s=r[2];s?.fireImmediately&&(s={...s,fireImmediately:!1});const c=o(e.getState()),a=o(t.getState()),u=t.subscribe(o,i,s);n.unsubscribe=u,(s?.equalityFn??Object.is)(c,a)||i(a,c)}}(e,t),W(e)),n},keepAlive:!0,lockDependencies:i?.lockDependencies??!0}),a=c.getState().persist,u=(l=c.getState,function(e,t){return t?l().setState(e,t):l().setState(e)});var l;return Object.assign(function(e,t){const n=c();return e?n(e,t):n()},{_virtualStore:!0,destroy:()=>c.destroy(),getInitialState:()=>c.getState().getInitialState(),getState:()=>c.getState().getState(),persist:a,setState:u,subscribe:function(...e){const t={args:e,unsubscribe:1===e.length?c.getState().subscribe(e[0]):c.getState().subscribe(e[0],e[1],e[2])};return s.add(t),()=>{t.unsubscribe(),s.delete(t)}}},o?o(c.getState):void 0)}var ut=Symbol(),lt=Object.freeze({debugMode:!1,enabled:!0,equalityFn:Object.is,fireImmediately:!1});function ft(e,t,n,r=lt){const o=function(){const e=c(ut);return e.current===ut&&(e.current=function(e,t,n){return{selector:e,react:t,isActive:!1,options:pt(n),resubscribe:()=>{},unsubscribe:()=>{}}}(t,n,r)),e}(),i=function(e){return"function"==typeof e?lt.enabled:e?.enabled??lt.enabled}(r);return o.current.react=n,o.current.selector=t,function(e,t){"function"==typeof t?e.current.options.equalityFn=t:t&&(e.current.options=t??lt)}(o,r),s(()=>{if(i)return yt(e,o),()=>function(e){e.current.options.debugMode&&console.log("[ποΈ useListen ποΈ] Detaching listener"),e.current.resubscribe=()=>{},e.current.unsubscribe(),e.current.unsubscribe=()=>{},e.current.isActive=!1}(o)},[i,e]),o}var dt=Object.freeze({fireImmediately:!1,forceResubscribe:!1});function yt(e,t,n=dt){if(t.current.isActive){if(!n?.forceResubscribe)return;t.current.unsubscribe()}t.current.options.debugMode&&console.log("[π‘ useListen π‘] Attaching listener"),t.current.isActive=!0,t.current.resubscribe=(n=dt)=>yt(e,t,n);const r=e.subscribe(e=>t.current.selector(e),(e,n)=>t.current.react(e,n,()=>{r(),t.current.isActive=!1}),n.fireImmediately?{...t.current.options,fireImmediately:!0}:t.current.options);t.current.unsubscribe=()=>{t.current.isActive&&(r(),t.current.isActive=!1)}}function pt(e){return"function"==typeof e?{equalityFn:e}:e??lt}var ht=Symbol();function gt(e){const t=c(ht);return t.current===ht&&(t.current=e()),t.current}function bt(e,t){const n=function(e){const t=e.getState(),n=Object.create(null);if(l&&("object"!=typeof t||null===t))throw new Error("[createStoreActions]: State is not an object");if(G(e)){for(const r in t)St(t,r)&&(n[r]=mt(e,r));return n}for(const e in t)St(t,e)&&(n[e]=t[e]);return n}(e);return t?Object.assign(n,t):n}function mt(e,t){return function(...n){const r=e.getState()[t];if("function"==typeof r)return r(...n);throw new Error(`[createVirtualStoreAction]: Method ${String(t)} is not a function`)}}function St(e,t){return"function"==typeof e[t]}export{Ee as QueryStatuses,_ as applyStateUpdate,w as configureStores,oe as createBaseStore,Ce as createDerivedStore,Qe as createQueryStore,bt as createStoreActions,at as createVirtualStore,De as deepEqual,He as defaultRetryDelay,W as destroyStore,J as destroyStores,Ge as getLegacyQueryKey,Xe as getQueryKey,V as getStoreName,Q as isDerivedStore,H as isPersistedStore,U as isQueryStore,G as isVirtualStore,Ye as parseQueryKey,M as replacer,z as reviver,Ke as shallowEqual,D as time,ft as useListen,gt as useStableValue};
|