@storesjs/stores 0.8.7 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/README.md +55 -29
  2. package/dist/createBaseStore.d.ts +6 -6
  3. package/dist/createDerivedStore.d.ts +9 -17
  4. package/dist/createQueryStore.d.ts +6 -21
  5. package/dist/createVirtualStore.d.ts +5 -5
  6. package/dist/env.native.d.ts +0 -2
  7. package/dist/env.web.d.ts +0 -1
  8. package/dist/hooks/useListen.d.ts +2 -2
  9. package/dist/hooks/useSyncExternalStoreWithSelector.d.ts +5 -0
  10. package/dist/index.d.ts +1 -14
  11. package/dist/index.shared.d.ts +14 -0
  12. package/dist/index.vanilla.d.ts +2 -0
  13. package/dist/internal/baseStore.d.ts +2 -0
  14. package/dist/internal/config.d.ts +64 -0
  15. package/dist/{utils → internal}/createStoreActions.d.ts +5 -6
  16. package/dist/internal/derivedStore/cascadeScheduler.d.ts +31 -0
  17. package/dist/internal/derivedStore/deriveProxy.d.ts +15 -0
  18. package/dist/internal/derivedStore/pathFinder.d.ts +26 -0
  19. package/dist/internal/derivedStore.d.ts +2 -0
  20. package/dist/internal/errors.d.ts +10 -0
  21. package/dist/{logger.d.ts → internal/logger.d.ts} +0 -7
  22. package/dist/internal/middleware/createHydrationGate.d.ts +20 -0
  23. package/dist/internal/queryStore/queryStoreDefaults.d.ts +8 -0
  24. package/dist/internal/queryStore.d.ts +2 -0
  25. package/dist/internal/runtime.d.ts +13 -0
  26. package/dist/internal/signal.d.ts +12 -0
  27. package/dist/internal/storage/storageCreators.d.ts +12 -0
  28. package/dist/{utils → internal}/storeUtils.d.ts +4 -22
  29. package/dist/internal/sync/browserSyncEngine.d.ts +3 -0
  30. package/dist/internal/sync/noopSyncEngine.d.ts +3 -0
  31. package/dist/internal/sync/syncEnhancer.d.ts +26 -0
  32. package/dist/{sync → internal/sync}/syncUtils.d.ts +1 -1
  33. package/dist/internal/utils/persistUtils.d.ts +9 -0
  34. package/dist/internal/virtualStore.d.ts +2 -0
  35. package/dist/native/index.js +1 -1
  36. package/dist/native/index.mjs +1 -1
  37. package/dist/plugins/chrome/chromeExtensionSyncEngine.d.ts +3 -1
  38. package/dist/queryStore/queryKey.d.ts +3 -0
  39. package/dist/queryStore/signalTypes.d.ts +14 -0
  40. package/dist/queryStore/types.d.ts +39 -33
  41. package/dist/store/attachStoreHook.react.d.ts +5 -0
  42. package/dist/store/attachStoreHook.vanilla.d.ts +6 -0
  43. package/dist/store/batchStoreNotifications.native.d.ts +3 -0
  44. package/dist/store/batchStoreNotifications.web.d.ts +2 -0
  45. package/dist/store/createStore.d.ts +6 -0
  46. package/dist/store/persist.d.ts +14 -0
  47. package/dist/store/stateUpdate.d.ts +10 -0
  48. package/dist/store/types.d.ts +108 -0
  49. package/dist/sync/types.d.ts +53 -128
  50. package/dist/types/functions.d.ts +19 -2
  51. package/dist/types/objects.d.ts +10 -3
  52. package/dist/types/setState.d.ts +22 -0
  53. package/dist/types/subscribe.d.ts +28 -0
  54. package/dist/types/useStoreCallSignatures.d.ts +2 -0
  55. package/dist/types/useStoreCallSignatures.react.d.ts +6 -0
  56. package/dist/types/useStoreCallSignatures.vanilla.d.ts +2 -0
  57. package/dist/types/utils.d.ts +4 -0
  58. package/dist/types.d.ts +59 -110
  59. package/dist/utils/core.d.ts +23 -4
  60. package/dist/utils/time.d.ts +0 -10
  61. package/dist/vanilla/createBaseStore.d.ts +35 -0
  62. package/dist/vanilla/createDerivedStore.d.ts +62 -0
  63. package/dist/vanilla/createQueryStore.d.ts +116 -0
  64. package/dist/vanilla/createVirtualStore.d.ts +39 -0
  65. package/dist/vanilla/env.web.d.ts +6 -0
  66. package/dist/vanilla/index.d.ts +1 -0
  67. package/dist/vanilla/index.js +1 -0
  68. package/dist/vanilla/index.mjs +1 -0
  69. package/dist/vanilla/index.shared.d.ts +13 -0
  70. package/dist/vanilla/index.vanilla.d.ts +1 -0
  71. package/dist/vanilla/internal/baseStore.d.ts +1 -0
  72. package/dist/vanilla/internal/config.d.ts +63 -0
  73. package/dist/vanilla/internal/createStoreActions.d.ts +23 -0
  74. package/dist/{derivedStore → vanilla/internal/derivedStore}/cascadeScheduler.d.ts +8 -1
  75. package/dist/vanilla/internal/derivedStore/deriveProxy.d.ts +14 -0
  76. package/dist/vanilla/internal/derivedStore/pathFinder.d.ts +25 -0
  77. package/dist/vanilla/internal/derivedStore.d.ts +1 -0
  78. package/dist/vanilla/internal/errors.d.ts +9 -0
  79. package/dist/vanilla/internal/logger.d.ts +9 -0
  80. package/dist/{middleware → vanilla/internal/middleware}/createHydrationGate.d.ts +1 -2
  81. package/dist/vanilla/internal/queryStore/queryStoreDefaults.d.ts +7 -0
  82. package/dist/vanilla/internal/queryStore.d.ts +1 -0
  83. package/dist/vanilla/internal/runtime.d.ts +12 -0
  84. package/dist/vanilla/internal/signal.d.ts +11 -0
  85. package/dist/vanilla/internal/storage/storageCreators.d.ts +11 -0
  86. package/dist/vanilla/internal/storeUtils.d.ts +45 -0
  87. package/dist/vanilla/internal/sync/browserSyncEngine.d.ts +2 -0
  88. package/dist/vanilla/internal/sync/noopSyncEngine.d.ts +2 -0
  89. package/dist/{sync → vanilla/internal/sync}/syncEnhancer.d.ts +6 -3
  90. package/dist/{utils → vanilla/internal/utils}/persistUtils.d.ts +2 -3
  91. package/dist/vanilla/internal/virtualStore.d.ts +1 -0
  92. package/dist/vanilla/queryStore/classes/SubscriptionManager.d.ts +66 -0
  93. package/dist/vanilla/queryStore/queryKey.d.ts +2 -0
  94. package/dist/vanilla/queryStore/signalTypes.d.ts +13 -0
  95. package/dist/vanilla/queryStore/types.d.ts +402 -0
  96. package/dist/vanilla/storage/storageTypes.d.ts +12 -0
  97. package/dist/vanilla/store/attachStoreHook.d.ts +5 -0
  98. package/dist/vanilla/store/attachStoreHook.vanilla.d.ts +5 -0
  99. package/dist/vanilla/store/batchStoreNotifications.web.d.ts +1 -0
  100. package/dist/vanilla/store/createStore.d.ts +5 -0
  101. package/dist/vanilla/store/persist.d.ts +13 -0
  102. package/dist/vanilla/store/stateUpdate.d.ts +9 -0
  103. package/dist/vanilla/store/types.d.ts +107 -0
  104. package/dist/vanilla/storesStorage.web.d.ts +2 -0
  105. package/dist/vanilla/sync/types.d.ts +114 -0
  106. package/dist/vanilla/types/functions.d.ts +23 -0
  107. package/dist/vanilla/types/objects.d.ts +10 -0
  108. package/dist/vanilla/types/setState.d.ts +21 -0
  109. package/dist/vanilla/types/subscribe.d.ts +27 -0
  110. package/dist/vanilla/types/useStoreCallSignatures.d.ts +1 -0
  111. package/dist/vanilla/types/useStoreCallSignatures.vanilla.d.ts +1 -0
  112. package/dist/vanilla/types/utils.d.ts +12 -0
  113. package/dist/vanilla/types.d.ts +285 -0
  114. package/dist/vanilla/utils/core.d.ts +25 -0
  115. package/dist/vanilla/utils/createAsyncMicrotaskScheduler.d.ts +34 -0
  116. package/dist/vanilla/utils/createMicrotaskScheduler.d.ts +27 -0
  117. package/dist/vanilla/utils/debounce.d.ts +21 -0
  118. package/dist/vanilla/utils/equality.d.ts +37 -0
  119. package/dist/vanilla/utils/hydrationCoordinator.d.ts +12 -0
  120. package/dist/vanilla/utils/promiseUtils.d.ts +1 -0
  121. package/dist/vanilla/utils/serialization.d.ts +13 -0
  122. package/dist/vanilla/utils/stringUtils.d.ts +6 -0
  123. package/dist/vanilla/utils/time.d.ts +36 -0
  124. package/dist/web/chrome.js +1 -1
  125. package/dist/web/chrome.mjs +1 -1
  126. package/dist/web/chunk-QJLWBD7M.mjs +1 -0
  127. package/dist/web/chunk-V4LHP7LR.mjs +1 -0
  128. package/dist/web/index.js +1 -1
  129. package/dist/web/index.mjs +1 -1
  130. package/dist/web/internal/runtime.js +1 -0
  131. package/dist/web/internal/runtime.mjs +1 -0
  132. package/package.json +21 -15
  133. package/dist/config.d.ts +0 -40
  134. package/dist/derivedStore/deriveProxy.d.ts +0 -25
  135. package/dist/hooks/compareHooks.d.ts +0 -50
  136. package/dist/signal.d.ts +0 -20
  137. package/dist/storage/storageCreators.d.ts +0 -22
  138. package/dist/sync/browserSyncEngine.d.ts +0 -3
  139. package/dist/sync/noopSyncEngine.d.ts +0 -3
  140. package/dist/sync/transport.d.ts +0 -113
  141. package/dist/web/chunk-MMPMCVRC.mjs +0 -1
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Creates an async microtask-batched scheduler for a given async function.
3
+ *
4
+ * When the returned scheduler is called multiple times synchronously, only a single
5
+ * microtask execution occurs. All callers receive the same Promise that resolves
6
+ * after the batched execution completes. The function will be invoked with the
7
+ * arguments from the most recent call.
8
+ *
9
+ * This is useful for batching rapid successive async operations (e.g., async storage
10
+ * writes, network requests) to reduce unnecessary work while ensuring:
11
+ * - The latest values are used
12
+ * - All callers can await the completion of the batched operation
13
+ *
14
+ * @template Args - The argument types of the async function to schedule
15
+ * @param fn - The async function to schedule for microtask execution
16
+ * @returns A scheduler function that returns a Promise resolving after execution
17
+ *
18
+ * @example
19
+ * ```ts
20
+ * const batchedSave = createAsyncMicrotaskScheduler(async (data: string) => {
21
+ * await storage.write(data);
22
+ * console.log('Saved:', data);
23
+ * });
24
+ *
25
+ * await Promise.all([
26
+ * batchedSave('first'),
27
+ * batchedSave('second'),
28
+ * batchedSave('third'),
29
+ * ]);
30
+ * // Writes "third" to storage once, all three Promises resolve together
31
+ * // Logs "Saved: third"
32
+ * ```
33
+ */
34
+ export declare function createAsyncMicrotaskScheduler<Args extends unknown[]>(fn: (...args: Args) => Promise<void>): (...args: Args) => Promise<void>;
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Creates a microtask-batched scheduler for a given function.
3
+ *
4
+ * When the returned scheduler is called multiple times synchronously, only a single
5
+ * microtask execution occurs. The function will be invoked with the arguments from
6
+ * the most recent call.
7
+ *
8
+ * This is useful for batching rapid successive calls (e.g., state updates, change
9
+ * handlers) to reduce unnecessary work while ensuring the latest values are used.
10
+ *
11
+ * @template TArgs - The argument types of the function to schedule
12
+ * @param fn - The function to schedule for microtask execution
13
+ * @returns A scheduler function with the same signature as the input function
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * const batchedUpdate = createMicrotaskScheduler((value: number) => {
18
+ * console.log('Updated:', value);
19
+ * });
20
+ *
21
+ * batchedUpdate(1);
22
+ * batchedUpdate(2);
23
+ * batchedUpdate(3);
24
+ * // Logs "Updated: 3" once in the next microtask
25
+ * ```
26
+ */
27
+ export declare function createMicrotaskScheduler<Args extends unknown[]>(fn: (...args: Args) => void): (...args: Args) => void;
@@ -0,0 +1,21 @@
1
+ export type DebounceOptions = {
2
+ leading?: boolean;
3
+ maxWait?: number;
4
+ trailing?: boolean;
5
+ };
6
+ export type DebouncedFunction<F extends (...args: Parameters<F>) => ReturnType<F>> = {
7
+ (...args: Parameters<F>): ReturnType<F> | undefined;
8
+ cancel: () => void;
9
+ flush: () => ReturnType<F> | undefined;
10
+ };
11
+ /**
12
+ * Creates a debounced function that delays invoking `func` until after `wait` milliseconds
13
+ * have elapsed since the last time the debounced function was invoked.
14
+ * Copied and adapted from lodash@4.17.21.
15
+ *
16
+ * @param func The function to debounce.
17
+ * @param wait The number of milliseconds to delay.
18
+ * @param options The options object.
19
+ * @returns Returns the new debounced function.
20
+ */
21
+ export declare function debounce<F extends (...args: Parameters<F>) => ReturnType<F>>(func: F, wait?: number, options?: DebounceOptions): DebouncedFunction<F>;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * **Worklet compatible**
3
+ *
4
+ * Performs a deep equality check between two values.
5
+ *
6
+ * This function recursively compares two values, checking if they are equal. For objects,
7
+ * it validates that both have the same keys and that each corresponding value is deeply equal.
8
+ * For non-objects, it uses strict equality.
9
+ *
10
+ * @param obj1 - The first value to compare.
11
+ * @param obj2 - The second value to compare.
12
+ * @returns `true` if the values are deeply equal; otherwise, `false`.
13
+ */
14
+ export declare function deepEqual<U>(obj1: U, obj2: U): boolean;
15
+ /**
16
+ * **Worklet compatible**
17
+ *
18
+ * Performs a shallow equality check between two values.
19
+ *
20
+ * For non-objects, uses strict equality (===). For objects, checks that both have identical
21
+ * keys and compares their values using `Object.is` without recursing into nested objects.
22
+ *
23
+ * Ideal for preventing re-renders due to top-level object recreation.
24
+ *
25
+ * @param obj1 - The first value to compare.
26
+ * @param obj2 - The second value to compare.
27
+ * @returns `true` if the values are shallowly equal; otherwise, `false`.
28
+ */
29
+ export declare function shallowEqual<U>(obj1: U, obj2: U): boolean;
30
+ /**
31
+ * Performs a deep equality check between two values, supporting objects, arrays, maps, sets, dates, regexps, array buffers, and more.
32
+ * Copied from dequal@2.0.3 and fully typed for TypeScript.
33
+ * @param foo - The first value to compare.
34
+ * @param bar - The second value to compare.
35
+ * @returns `true` if the values are deeply equal; otherwise, `false`.
36
+ */
37
+ export declare function dequal(foo: unknown, bar: unknown): boolean;
@@ -0,0 +1,12 @@
1
+ export type HydrationCoordinator = {
2
+ readonly complete: () => void;
3
+ readonly fail: (error: Error) => void;
4
+ readonly isHydrated: () => boolean;
5
+ readonly promise: Promise<void>;
6
+ };
7
+ /**
8
+ * Creates a coordinator for tracking async storage hydration lifecycle.
9
+ * Provides a promise that resolves once hydration completes and methods
10
+ * to signal completion or failure.
11
+ */
12
+ export declare function createHydrationCoordinator(): HydrationCoordinator;
@@ -0,0 +1 @@
1
+ export declare function isPromiseLike<T>(value: T | Promise<T> | void): value is Promise<T>;
@@ -0,0 +1,13 @@
1
+ type SerializedMap = {
2
+ __type: 'Map';
3
+ entries: [unknown, unknown][];
4
+ };
5
+ export declare function isSerializedMap(value: unknown): value is SerializedMap;
6
+ type SerializedSet = {
7
+ __type: 'Set';
8
+ values: unknown[];
9
+ };
10
+ export declare function isSerializedSet(value: unknown): value is SerializedSet;
11
+ export declare function replacer(_: string, value: unknown): unknown;
12
+ export declare function reviver(_: string, value: unknown): unknown;
13
+ export {};
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Returns a pluralized (by default: `word` + `'s'`) string based on the count.
3
+ *
4
+ * `word` should be provided in singular form.
5
+ */
6
+ export declare function pluralize(word: string, count: number, pluralSuffix?: string): string;
@@ -0,0 +1,36 @@
1
+ type TimeInMs = number;
2
+ type TimeUtils = {
3
+ /** Returns the input value unchanged, in milliseconds */
4
+ ms: (ms: number) => TimeInMs;
5
+ /** Converts seconds to milliseconds */
6
+ seconds: (seconds: number) => TimeInMs;
7
+ /** Converts minutes to milliseconds */
8
+ minutes: (minutes: number) => TimeInMs;
9
+ /** Converts hours to milliseconds */
10
+ hours: (hours: number) => TimeInMs;
11
+ /** Converts days to milliseconds */
12
+ days: (days: number) => TimeInMs;
13
+ /** Converts weeks to milliseconds */
14
+ weeks: (weeks: number) => TimeInMs;
15
+ /** Represents infinite time */
16
+ infinity: typeof Infinity;
17
+ /** Represents zero time */
18
+ zero: 0;
19
+ };
20
+ /**
21
+ * Worklet-compatible utility object for defining time values.
22
+ *
23
+ * All methods convert the input unit to milliseconds.
24
+ *
25
+ * @example
26
+ * time.seconds(5) // 5 seconds
27
+ * time.minutes(2) // 2 minutes
28
+ * time.hours(1) // 1 hour
29
+ * time.days(5) // 5 days
30
+ * time.weeks(2) // 2 weeks
31
+ * ––
32
+ * time.infinity // Infinity
33
+ * time.zero // 0
34
+ */
35
+ export declare const time: TimeUtils;
36
+ export {};
@@ -1 +1 @@
1
- "use strict";var e="stores:";function t(e){if("object"!=typeof e||null===e)return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function r(e,t){return t instanceof Map?{__type:"Map",entries:Array.from(t.entries())}:t instanceof Set?{__type:"Set",values:Array.from(t)}:t}function s(e,t){return function(e){return"object"==typeof e&&null!==e&&"__type"in e&&"Map"===e.__type}(t)?new Map(t.entries):function(e){return"object"==typeof e&&null!==e&&"__type"in e&&"Set"===e.__type}(t)?new Set(t.values):t}var n=class{constructor(t){this.async=!0,this.deserializer=i,this.serializer=o,this.area=t?.area??"local",this.storageKeyPrefix=t?.storageKeyPrefix??e}async clearAll(){const e=this.ensureStorage();if(!e)return;if(!this.storageKeyPrefix)throw new Error("Cannot clear all storage with empty storageKeyPrefix. This would delete all storage entries.");const t=await this.listPrefixedKeys(e,this.storageKeyPrefix);t.length&&await this.execute(e,r=>e.remove(t,r))}async contains(e){const t=this.ensureStorage();if(!t)return!1;const r=this.toStorageKey(e),s=await this.getFromStorage(t,r);return Object.prototype.hasOwnProperty.call(s,r)}async delete(e){const t=this.ensureStorage();if(!t)return;const r=this.toStorageKey(e);await this.execute(t,e=>t.remove(r,e))}async getAllKeys(){const e=this.ensureStorage();if(!e)return[];const t=await this.getFromStorage(e,null),r=this.storageKeyPrefix;return r?Object.keys(t).filter(e=>e.startsWith(r)).map(e=>e.slice(r.length)):Object.keys(t)}async get(e){const t=this.ensureStorage();if(!t)return;const r=this.toStorageKey(e);return a((await this.getFromStorage(t,r))[r])||void 0}async set(e,t){const r=this.ensureStorage();if(!r)return;const s=this.toStorageKey(e);await this.execute(r,e=>r.set({[s]:t},e))}ensureStorage(){return e=this.area,"undefined"!=typeof chrome&&chrome.storage?chrome.storage[e]??null:null;var e}toStorageKey(e){return this.storageKeyPrefix?`${this.storageKeyPrefix}${e}`:e}async listPrefixedKeys(e,t){const r=await this.getFromStorage(e,null);return Object.keys(r).filter(e=>e.startsWith(t))}async getFromStorage(e,t){return this.invokeWithCallbackSupport(r=>e.get(t,r))}async execute(e,t){await this.invokeWithCallbackSupport(t)}async invokeWithCallbackSupport(e){return new Promise((t,r)=>{let s=!1;const n=e=>{if(s)return;s=!0;const n="undefined"!=typeof chrome&&chrome.runtime&&chrome.runtime.lastError?new Error(chrome.runtime.lastError.message):null;n?r(n):t(e)};try{const t=e(n);(o=t)&&"object"==typeof o&&"then"in o&&"function"==typeof o.then&&t.then(n).catch(r)}catch(e){r(e)}var o})}};function o(e){return{state:h(e.state),syncMetadata:e.syncMetadata,version:e.version}}function i(e){const t=a(e);if(!t)throw new Error("[ChromeStorageAdapter] Invalid serialized state format");return{state:u(t.state),syncMetadata:t.syncMetadata,version:t.version}}function a(e){if(c(e))return e;if("string"==typeof e)try{const t=JSON.parse(e);if(c(t))return t}catch{}return null}function c(e){return!(!e||"object"!=typeof e)&&Object.prototype.hasOwnProperty.call(e,"state")}function h(e,s=r){if(e instanceof Map||e instanceof Set)return s.call(void 0,"",e);if(!t(e))return e;const n={};for(const[t,r]of Object.entries(e))n[t]=s.call(e,t,r);return n}function u(e,r=s){const n=r.call(void 0,"",e);if(!t(n))return n;const o={};for(const e of Object.entries(n)){const t=e[0],s=e[1];o[t]=r.call(n,t,s)}return o}var l=class{constructor(t){this.injectStorageMetadata=!0,this.registrations=new Map,this.isListening=!1,this.onStorageChanged=async(e,t)=>{if(t===this.area)for(const t of this.registrations){const r=t[0],s=t[1];if(s.destroyed)continue;const n=e[this.toStorageKey(r)];if(n&&void 0!==n.newValue)try{const e=this.parsePersistValue(n.newValue);if(!e||e.syncMetadata?.origin===this.sessionId)continue;const t=e?.syncMetadata,r=this.extractChangedFields(s,e.state,t,n.oldValue);if(!Object.keys(r).length)continue;s.registration.apply({replace:!1,sessionId:t?.origin??"unknown",timestamp:t?.timestamp??Date.now(),values:r})}catch(e){continue}}},t&&"storage"in t?(this.area=t.storage.area,this.storageKeyPrefix=t.storage.storageKeyPrefix):(this.area=t?.area??"local",this.storageKeyPrefix=t?.storageKeyPrefix??e),this.sessionId=this.generateSessionId(),this.attachListener()}generateSessionId(){return"undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`${Math.random().toString(36).slice(2)}:${Date.now().toString(36)}`}register(e){this.attachListener();const t={destroyed:!1,hydrated:!0,listeners:new Set,registration:e};return this.registrations.set(e.key,t),{destroy:()=>{t.destroyed=!0,t.listeners.clear(),this.registrations.delete(e.key),this.registrations.size||this.detachListener()},publish:null}}attachListener(){"undefined"!=typeof chrome&&chrome.storage&&!this.isListening&&(this.isListening=!0,chrome.storage.onChanged.addListener(this.onStorageChanged))}detachListener(){"undefined"!=typeof chrome&&chrome.storage&&this.isListening&&(chrome.storage.onChanged.removeListener(this.onStorageChanged),this.isListening=!1)}extractChangedFields(e,t,r,s){const n=Object.create(null),o=r?.fields;if(o&&Object.keys(o).length>0){let r=!1;for(const s of e.registration.fields){const e=String(s);Object.prototype.hasOwnProperty.call(o,e)&&(n[s]=t[s],r=!0)}if(r)return n}const i=this.parsePersistValue(s);for(const r of e.registration.fields){const e=t[r],s=i?.state[r];Object.is(e,s)||(n[r]=e)}return n}toStorageKey(e){return this.storageKeyPrefix?`${this.storageKeyPrefix}${e}`:e}parsePersistValue(e){return i(e)}};exports.ChromeExtensionSyncEngine=l,exports.ChromeStorageAdapter=n,exports.createSyncedChromeStorage=function(e){const t=new n(e);return{storage:t,syncEngine:new l({storage:t})}};
1
+ "use strict";var e=require("./internal/runtime.js"),t=Object.prototype.hasOwnProperty;function r(e,r){return t.call(e,r)}function s(e){if("object"!=typeof e||null===e)return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}process.env.NODE_ENV,process.env.NODE_ENV;var n=Object.freeze(Object.create(null));function i(e,t){return t instanceof Map?{__type:"Map",entries:Array.from(t.entries())}:t instanceof Set?{__type:"Set",values:Array.from(t)}:t}function o(e,t){return function(e){return"object"==typeof e&&null!==e&&"__type"in e&&"Map"===e.__type}(t)?new Map(t.entries):function(e){return"object"==typeof e&&null!==e&&"__type"in e&&"Set"===e.__type}(t)?new Set(t.values):t}var a=class{constructor(t){this.async=!0,this.deserializer=h,this.serializer=c,this.area=t?.area??"local",this.storageKeyPrefix=t?.storageKeyPrefix??e.DEFAULT_STORAGE_KEY_PREFIX}async clearAll(){const e=this.ensureStorage();if(!e)return;if(!this.storageKeyPrefix)throw new Error("Cannot clear all storage with empty storageKeyPrefix. This would delete all storage entries.");const t=await this.listPrefixedKeys(e,this.storageKeyPrefix);t.length&&await this.execute(e,r=>e.remove(t,r))}async contains(e){const t=this.ensureStorage();if(!t)return!1;const r=this.toStorageKey(e),s=await this.getFromStorage(t,r);return Object.prototype.hasOwnProperty.call(s,r)}async delete(e){const t=this.ensureStorage();if(!t)return;const r=this.toStorageKey(e);await this.execute(t,e=>t.remove(r,e))}async getAllKeys(){const e=this.ensureStorage();if(!e)return[];const t=await this.getFromStorage(e,null),r=this.storageKeyPrefix;return r?Object.keys(t).filter(e=>e.startsWith(r)).map(e=>e.slice(r.length)):Object.keys(t)}async get(e){const t=this.ensureStorage();if(!t)return;const r=this.toStorageKey(e);return u((await this.getFromStorage(t,r))[r])||void 0}async set(e,t){const r=this.ensureStorage();if(!r)return;const s=this.toStorageKey(e);await this.execute(r,e=>r.set({[s]:t},e))}ensureStorage(){return e=this.area,"undefined"!=typeof chrome&&chrome.storage?chrome.storage[e]??null:null;var e}toStorageKey(e){return this.storageKeyPrefix?`${this.storageKeyPrefix}${e}`:e}async listPrefixedKeys(e,t){const r=await this.getFromStorage(e,null);return Object.keys(r).filter(e=>e.startsWith(t))}async getFromStorage(e,t){return this.invokeWithCallbackSupport(r=>e.get(t,r))}async execute(e,t){await this.invokeWithCallbackSupport(t)}async invokeWithCallbackSupport(e){return new Promise((t,r)=>{let s=!1;function n(e){if(s)return;s=!0;const n="undefined"!=typeof chrome&&chrome.runtime&&chrome.runtime.lastError?new Error(chrome.runtime.lastError.message):null;n?r(n):t(e)}try{const t=e(n);(i=t)&&"object"==typeof i&&"then"in i&&"function"==typeof i.then&&t.then(n).catch(r)}catch(e){r(e)}var i})}};function c(e){return{state:g(e.state),syncMetadata:e.syncMetadata,version:e.version}}function h(e){const t=u(e);if(!t)throw new Error("[ChromeStorageAdapter] Invalid serialized state format");return{state:f(t.state),syncMetadata:t.syncMetadata,version:t.version}}function u(e){if(l(e))return e;if("string"==typeof e)try{const t=JSON.parse(e);if(l(t))return t}catch{}return null}function l(e){return!(!e||"object"!=typeof e)&&Object.prototype.hasOwnProperty.call(e,"state")}function g(e,t=i){if(e instanceof Map||e instanceof Set)return t.call(void 0,"",e);if(!s(e))return e;const r={};for(const[s,n]of Object.entries(e))r[s]=t.call(e,s,n);return r}function f(e,t=o){const r=t.call(void 0,"",e);if(!s(r))return r;const n={};for(const e of Object.entries(r)){const s=e[0],i=e[1];n[s]=t.call(r,s,i)}return n}var y=class{constructor(t){this.injectStorageMetadata=!0,this.registrations=new Map,this.isListening=!1,this.onStorageChanged=async(e,t)=>{if(t===this.area)for(const t of this.registrations){const r=t[0],s=t[1];if(s.destroyed)continue;const n=e[this.toStorageKey(r)];if(n&&void 0!==n.newValue)try{const e=this.parsePersistValue(n.newValue);if(!e||e.syncMetadata?.origin===this.sessionId)continue;const t=e?.syncMetadata,r=this.extractChangedFields(s,e.state,t,n.oldValue);if(!Object.keys(r).length)continue;s.registration.apply({replace:!1,sessionId:t?.origin??"unknown",timestamp:t?.timestamp??Date.now(),values:r})}catch(e){continue}}},t&&"storage"in t?(this.area=t.storage.area,this.storageKeyPrefix=t.storage.storageKeyPrefix):(this.area=t?.area??"local",this.storageKeyPrefix=t?.storageKeyPrefix??e.DEFAULT_STORAGE_KEY_PREFIX),this.sessionId=this.generateSessionId(),this.attachListener()}destroy(){for(const e of this.registrations.values())e.destroyed=!0,e.listeners.clear();this.detachListener()}register(e){this.attachListener();const t={destroyed:!1,hydrated:!0,listeners:new Set,registration:e};return this.setRegistration(e.key,t),{destroy:()=>{t.destroyed=!0,t.listeners.clear(),this.registrations.delete(e.key),this.registrations.size||this.detachListener()},publish:null}}generateSessionId(){return"undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`${Math.random().toString(36).slice(2)}:${Date.now().toString(36)}`}attachListener(){"undefined"!=typeof chrome&&chrome.storage&&!this.isListening&&(this.isListening=!0,chrome.storage.onChanged.addListener(this.onStorageChanged))}detachListener(){"undefined"!=typeof chrome&&chrome.storage&&this.isListening&&(chrome.storage.onChanged.removeListener(this.onStorageChanged),this.isListening=!1)}extractChangedFields(e,t,s,i){const o=Object.create(n),a=s?.fields;if(a&&Object.keys(a).length>0){let s=!1;for(const n of e.registration.fields)r(a,String(n))&&(o[n]=t[n],s=!0);if(s)return o}const c=this.parsePersistValue(i);for(const r of e.registration.fields){const e=t[r],s=c?.state[r];Object.is(e,s)||(o[r]=e)}return o}setRegistration(e,t){this.registrations.set(e,t)}toStorageKey(e){return this.storageKeyPrefix?`${this.storageKeyPrefix}${e}`:e}parsePersistValue(e){return h(e)}};exports.ChromeExtensionSyncEngine=y,exports.ChromeStorageAdapter=a,exports.createSyncedChromeStorage=function(e){const t=new a(e);return{storage:t,syncEngine:new y({storage:t})}};
@@ -1 +1 @@
1
- import{DEFAULT_STORAGE_KEY_PREFIX as t,isPromiseLike as e,replacer as r,reviver as s,isPlainObject as n}from"./chunk-MMPMCVRC.mjs";var i=class{constructor(e){this.async=!0,this.deserializer=a,this.serializer=o,this.area=e?.area??"local",this.storageKeyPrefix=e?.storageKeyPrefix??t}async clearAll(){const t=this.ensureStorage();if(!t)return;if(!this.storageKeyPrefix)throw new Error("Cannot clear all storage with empty storageKeyPrefix. This would delete all storage entries.");const e=await this.listPrefixedKeys(t,this.storageKeyPrefix);e.length&&await this.execute(t,r=>t.remove(e,r))}async contains(t){const e=this.ensureStorage();if(!e)return!1;const r=this.toStorageKey(t),s=await this.getFromStorage(e,r);return Object.prototype.hasOwnProperty.call(s,r)}async delete(t){const e=this.ensureStorage();if(!e)return;const r=this.toStorageKey(t);await this.execute(e,t=>e.remove(r,t))}async getAllKeys(){const t=this.ensureStorage();if(!t)return[];const e=await this.getFromStorage(t,null),r=this.storageKeyPrefix;return r?Object.keys(e).filter(t=>t.startsWith(r)).map(t=>t.slice(r.length)):Object.keys(e)}async get(t){const e=this.ensureStorage();if(!e)return;const r=this.toStorageKey(t);return c((await this.getFromStorage(e,r))[r])||void 0}async set(t,e){const r=this.ensureStorage();if(!r)return;const s=this.toStorageKey(t);await this.execute(r,t=>r.set({[s]:e},t))}ensureStorage(){return t=this.area,"undefined"!=typeof chrome&&chrome.storage?chrome.storage[t]??null:null;var t}toStorageKey(t){return this.storageKeyPrefix?`${this.storageKeyPrefix}${t}`:t}async listPrefixedKeys(t,e){const r=await this.getFromStorage(t,null);return Object.keys(r).filter(t=>t.startsWith(e))}async getFromStorage(t,e){return this.invokeWithCallbackSupport(r=>t.get(e,r))}async execute(t,e){await this.invokeWithCallbackSupport(e)}async invokeWithCallbackSupport(t){return new Promise((r,s)=>{let n=!1;const i=t=>{if(n)return;n=!0;const e="undefined"!=typeof chrome&&chrome.runtime&&chrome.runtime.lastError?new Error(chrome.runtime.lastError.message):null;e?s(e):r(t)};try{const r=t(i);e(r)&&r.then(i).catch(s)}catch(t){s(t)}})}};function o(t){return{state:g(t.state),syncMetadata:t.syncMetadata,version:t.version}}function a(t){const e=c(t);if(!e)throw new Error("[ChromeStorageAdapter] Invalid serialized state format");return{state:l(e.state),syncMetadata:e.syncMetadata,version:e.version}}function c(t){if(h(t))return t;if("string"==typeof t)try{const e=JSON.parse(t);if(h(e))return e}catch{}return null}function h(t){return!(!t||"object"!=typeof t)&&Object.prototype.hasOwnProperty.call(t,"state")}function g(t,e=r){if(t instanceof Map||t instanceof Set)return e.call(void 0,"",t);if(!n(t))return t;const s={};for(const[r,n]of Object.entries(t))s[r]=e.call(t,r,n);return s}function l(t,e=s){const r=e.call(void 0,"",t);if(!n(r))return r;const i={};for(const t of Object.entries(r)){const s=t[0],n=t[1];i[s]=e.call(r,s,n)}return i}var u=class{constructor(e){this.injectStorageMetadata=!0,this.registrations=new Map,this.isListening=!1,this.onStorageChanged=async(t,e)=>{if(e===this.area)for(const e of this.registrations){const r=e[0],s=e[1];if(s.destroyed)continue;const n=t[this.toStorageKey(r)];if(n&&void 0!==n.newValue)try{const t=this.parsePersistValue(n.newValue);if(!t||t.syncMetadata?.origin===this.sessionId)continue;const e=t?.syncMetadata,r=this.extractChangedFields(s,t.state,e,n.oldValue);if(!Object.keys(r).length)continue;s.registration.apply({replace:!1,sessionId:e?.origin??"unknown",timestamp:e?.timestamp??Date.now(),values:r})}catch(t){continue}}},e&&"storage"in e?(this.area=e.storage.area,this.storageKeyPrefix=e.storage.storageKeyPrefix):(this.area=e?.area??"local",this.storageKeyPrefix=e?.storageKeyPrefix??t),this.sessionId=this.generateSessionId(),this.attachListener()}generateSessionId(){return"undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`${Math.random().toString(36).slice(2)}:${Date.now().toString(36)}`}register(t){this.attachListener();const e={destroyed:!1,hydrated:!0,listeners:new Set,registration:t};return this.registrations.set(t.key,e),{destroy:()=>{e.destroyed=!0,e.listeners.clear(),this.registrations.delete(t.key),this.registrations.size||this.detachListener()},publish:null}}attachListener(){"undefined"!=typeof chrome&&chrome.storage&&!this.isListening&&(this.isListening=!0,chrome.storage.onChanged.addListener(this.onStorageChanged))}detachListener(){"undefined"!=typeof chrome&&chrome.storage&&this.isListening&&(chrome.storage.onChanged.removeListener(this.onStorageChanged),this.isListening=!1)}extractChangedFields(t,e,r,s){const n=Object.create(null),i=r?.fields;if(i&&Object.keys(i).length>0){let r=!1;for(const s of t.registration.fields){const t=String(s);Object.prototype.hasOwnProperty.call(i,t)&&(n[s]=e[s],r=!0)}if(r)return n}const o=this.parsePersistValue(s);for(const r of t.registration.fields){const t=e[r],s=o?.state[r];Object.is(t,s)||(n[r]=t)}return n}toStorageKey(t){return this.storageKeyPrefix?`${this.storageKeyPrefix}${t}`:t}parsePersistValue(t){return a(t)}};function f(t){const e=new i(t);return{storage:e,syncEngine:new u({storage:e})}}export{u as ChromeExtensionSyncEngine,i as ChromeStorageAdapter,f as createSyncedChromeStorage};
1
+ import{isPromiseLike as t,replacer as e,reviver as r,isPlainObject as s,hasOwn as i}from"./chunk-QJLWBD7M.mjs";import{nullObject as n}from"./chunk-V4LHP7LR.mjs";import{DEFAULT_STORAGE_KEY_PREFIX as o}from"./internal/runtime.mjs";var a=class{constructor(t){this.async=!0,this.deserializer=h,this.serializer=c,this.area=t?.area??"local",this.storageKeyPrefix=t?.storageKeyPrefix??o}async clearAll(){const t=this.ensureStorage();if(!t)return;if(!this.storageKeyPrefix)throw new Error("Cannot clear all storage with empty storageKeyPrefix. This would delete all storage entries.");const e=await this.listPrefixedKeys(t,this.storageKeyPrefix);e.length&&await this.execute(t,r=>t.remove(e,r))}async contains(t){const e=this.ensureStorage();if(!e)return!1;const r=this.toStorageKey(t),s=await this.getFromStorage(e,r);return Object.prototype.hasOwnProperty.call(s,r)}async delete(t){const e=this.ensureStorage();if(!e)return;const r=this.toStorageKey(t);await this.execute(e,t=>e.remove(r,t))}async getAllKeys(){const t=this.ensureStorage();if(!t)return[];const e=await this.getFromStorage(t,null),r=this.storageKeyPrefix;return r?Object.keys(e).filter(t=>t.startsWith(r)).map(t=>t.slice(r.length)):Object.keys(e)}async get(t){const e=this.ensureStorage();if(!e)return;const r=this.toStorageKey(t);return g((await this.getFromStorage(e,r))[r])||void 0}async set(t,e){const r=this.ensureStorage();if(!r)return;const s=this.toStorageKey(t);await this.execute(r,t=>r.set({[s]:e},t))}ensureStorage(){return t=this.area,"undefined"!=typeof chrome&&chrome.storage?chrome.storage[t]??null:null;var t}toStorageKey(t){return this.storageKeyPrefix?`${this.storageKeyPrefix}${t}`:t}async listPrefixedKeys(t,e){const r=await this.getFromStorage(t,null);return Object.keys(r).filter(t=>t.startsWith(e))}async getFromStorage(t,e){return this.invokeWithCallbackSupport(r=>t.get(e,r))}async execute(t,e){await this.invokeWithCallbackSupport(e)}async invokeWithCallbackSupport(e){return new Promise((r,s)=>{let i=!1;function n(t){if(i)return;i=!0;const e="undefined"!=typeof chrome&&chrome.runtime&&chrome.runtime.lastError?new Error(chrome.runtime.lastError.message):null;e?s(e):r(t)}try{const r=e(n);t(r)&&r.then(n).catch(s)}catch(t){s(t)}})}};function c(t){return{state:u(t.state),syncMetadata:t.syncMetadata,version:t.version}}function h(t){const e=g(t);if(!e)throw new Error("[ChromeStorageAdapter] Invalid serialized state format");return{state:f(e.state),syncMetadata:e.syncMetadata,version:e.version}}function g(t){if(l(t))return t;if("string"==typeof t)try{const e=JSON.parse(t);if(l(e))return e}catch{}return null}function l(t){return!(!t||"object"!=typeof t)&&Object.prototype.hasOwnProperty.call(t,"state")}function u(t,r=e){if(t instanceof Map||t instanceof Set)return r.call(void 0,"",t);if(!s(t))return t;const i={};for(const[e,s]of Object.entries(t))i[e]=r.call(t,e,s);return i}function f(t,e=r){const i=e.call(void 0,"",t);if(!s(i))return i;const n={};for(const t of Object.entries(i)){const r=t[0],s=t[1];n[r]=e.call(i,r,s)}return n}var y=class{constructor(t){this.injectStorageMetadata=!0,this.registrations=new Map,this.isListening=!1,this.onStorageChanged=async(t,e)=>{if(e===this.area)for(const e of this.registrations){const r=e[0],s=e[1];if(s.destroyed)continue;const i=t[this.toStorageKey(r)];if(i&&void 0!==i.newValue)try{const t=this.parsePersistValue(i.newValue);if(!t||t.syncMetadata?.origin===this.sessionId)continue;const e=t?.syncMetadata,r=this.extractChangedFields(s,t.state,e,i.oldValue);if(!Object.keys(r).length)continue;s.registration.apply({replace:!1,sessionId:e?.origin??"unknown",timestamp:e?.timestamp??Date.now(),values:r})}catch(t){continue}}},t&&"storage"in t?(this.area=t.storage.area,this.storageKeyPrefix=t.storage.storageKeyPrefix):(this.area=t?.area??"local",this.storageKeyPrefix=t?.storageKeyPrefix??o),this.sessionId=this.generateSessionId(),this.attachListener()}destroy(){for(const t of this.registrations.values())t.destroyed=!0,t.listeners.clear();this.detachListener()}register(t){this.attachListener();const e={destroyed:!1,hydrated:!0,listeners:new Set,registration:t};return this.setRegistration(t.key,e),{destroy:()=>{e.destroyed=!0,e.listeners.clear(),this.registrations.delete(t.key),this.registrations.size||this.detachListener()},publish:null}}generateSessionId(){return"undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`${Math.random().toString(36).slice(2)}:${Date.now().toString(36)}`}attachListener(){"undefined"!=typeof chrome&&chrome.storage&&!this.isListening&&(this.isListening=!0,chrome.storage.onChanged.addListener(this.onStorageChanged))}detachListener(){"undefined"!=typeof chrome&&chrome.storage&&this.isListening&&(chrome.storage.onChanged.removeListener(this.onStorageChanged),this.isListening=!1)}extractChangedFields(t,e,r,s){const o=n(),a=r?.fields;if(a&&Object.keys(a).length>0){let r=!1;for(const s of t.registration.fields){const t=String(s);i(a,t)&&(o[s]=e[s],r=!0)}if(r)return o}const c=this.parsePersistValue(s);for(const r of t.registration.fields){const t=e[r],s=c?.state[r];Object.is(t,s)||(o[r]=t)}return o}setRegistration(t,e){this.registrations.set(t,e)}toStorageKey(t){return this.storageKeyPrefix?`${this.storageKeyPrefix}${t}`:t}parsePersistValue(t){return h(t)}};function d(t){const e=new a(t);return{storage:e,syncEngine:new y({storage:e})}}export{y as ChromeExtensionSyncEngine,a as ChromeStorageAdapter,d as createSyncedChromeStorage};
@@ -0,0 +1 @@
1
+ function t(t,e){return e instanceof Map?{__type:"Map",entries:Array.from(e.entries())}:e instanceof Set?{__type:"Set",values:Array.from(e)}:e}function e(t,e){return function(t){return"object"==typeof t&&null!==t&&"__type"in t&&"Map"===t.__type}(e)?new Map(e.entries):function(t){return"object"==typeof t&&null!==t&&"__type"in t&&"Set"===t.__type}(e)?new Set(e.values):e}var n=Object.prototype.hasOwnProperty;function r(t,e){return n.call(t,e)}function o(t){if("object"!=typeof t||null===t)return!1;const e=Object.getPrototypeOf(t);return null===e||e===Object.prototype}function u(t){return null!==t&&"object"==typeof t&&!Array.isArray(t)}function p(t){return!!t&&"object"==typeof t&&"then"in t&&"function"==typeof t.then}export{r as hasOwn,o as isPlainObject,p as isPromiseLike,u as isRecordLike,t as replacer,e as reviver};
@@ -0,0 +1 @@
1
+ var e="undefined"!=typeof window&&"undefined"!=typeof document,n=!1,t="development"===process.env.NODE_ENV,c="test"===process.env.NODE_ENV,o=Object.freeze(Object.create(null));function r(e){return e}function u(){return Object.create(o)}function i(e,n){return void 0===n?Object.assign(u(),e):Object.assign(u(),e,n)}function f(){}export{e as IS_BROWSER,t as IS_DEV,n as IS_IOS,c as IS_TEST,i as buildNullObject,r as identity,f as noop,u as nullObject};
package/dist/web/index.js CHANGED
@@ -1 +1 @@
1
- var e=require("zustand/middleware"),t=require("zustand/traditional"),r=require("use-sync-external-store/shim/with-selector"),n=require("react"),o="undefined"!=typeof window&&"undefined"!=typeof document,s="development"===process.env.NODE_ENV,i="test"===process.env.NODE_ENV;function a(){return"undefined"!=typeof window?window.localStorage:null}var c=class extends Error{constructor(e,t){super(e),this.name="StoresError",this.cause=l(t)}},u={debug:(e,t)=>{s&&console.debug(e,t)},error:(e,t)=>{s&&!i&&console.error(e,t)},info:(e,t)=>{s&&console.info(e,t)},warn:(e,t)=>{s&&console.warn(e,t)}};function l(e){return e instanceof Error?e:new Error(String(e))}var f="stores/core/sync-channel",d=`${f}:storage:`;function y(){try{return"undefined"!=typeof window?window.localStorage:null}catch{return null}}var p,h,g,b=class{constructor(e){this.broadcast=e.broadcast,this.origin=e.origin,this.storeKey=e.storeKey,this.teardown=e.teardown}destroy(){this.teardown()}publish(e){const t=Object.create(null);for(const r of Object.entries(e.values))t[r[0]]=r[1];const r={origin:this.origin,replace:e.replace,sessionId:e.sessionId,storeKey:this.storeKey,timestamp:e.timestamp,values:t};this.broadcast(r)}},m=class{constructor(){this.listeners=new Map,this.origin="undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`${Math.random().toString(36).slice(2)}:${Date.now().toString(36)}`,this.onChannelMessage=e=>{e.data&&this.dispatch(e.data)},this.onStorageEvent=e=>{if(e.key&&e.newValue&&e.key.startsWith(d))try{const t=JSON.parse(e.newValue);this.dispatch(t)}catch(e){u.error(new c("[sync] Failed to parse storage event payload"),{error:e})}},this.channel="undefined"==typeof BroadcastChannel?null:new BroadcastChannel(f),this.storage=y(),this.channel&&this.channel.addEventListener("message",this.onChannelMessage),o&&window.addEventListener("storage",this.onStorageEvent)}get sessionId(){return this.origin}register(e){const t=t=>{if(t.origin===this.origin||t.storeKey!==e.key)return;const r=Object.create(null);for(const n of e.fields)Object.prototype.hasOwnProperty.call(t.values,n)&&(r[n]=t.values[n]);Object.keys(r).length&&e.apply({replace:t.replace,sessionId:t.sessionId,timestamp:t.timestamp,values:r})};let r=this.listeners.get(e.key);return r||(r=new Set,this.listeners.set(e.key,r)),r.add(t),new b({broadcast:e=>this.broadcast(e),origin:this.origin,storeKey:e.key,teardown:()=>this.removeListener(e.key,t)})}broadcast(e){try{this.channel&&this.channel.postMessage(e),this.writeToStorage(e)}catch(e){u.error(new c("[sync] Failed to broadcast update"),{error:e})}}dispatch(e){if(!e.storeKey)return;const t=this.listeners.get(e.storeKey);if(t&&t.size)for(const r of t)r(e)}removeListener(e,t){const r=this.listeners.get(e);r&&(r.delete(t),r.size||this.listeners.delete(e))}writeToStorage(e){if(this.storage||(this.storage=y()),!this.storage)return;const t=`${d}${e.storeKey}`;try{this.storage.setItem(t,JSON.stringify(e))}catch(e){u.error(new c("[sync] Failed to write broadcast payload to storage"),{error:e})}}},S=class{destroy(){}publish(){}},v=class{constructor(){this.sessionId="noop"}register(e){return new S}},w=!1;function O(){return g??(g=q(void 0))}function j(){w=!0}function q(e){return{storage:e?.storage??(t=e?.storageKeyPrefix??"stores:",{clearAll(){try{const e=a();if(!e)return;const r=[];for(let n=0;n<e.length;n++){const o=e.key(n);o?.startsWith(t)&&r.push(o)}for(const t of r)e.removeItem(t)}catch(e){console.error("Error clearing localStorage:",e)}},contains(e){const r=a();return null!==r?.getItem(`${t}${e}`)},delete(e){try{const r=a();r?.removeItem(`${t}${e}`)}catch(e){console.error("Error deleting from localStorage:",e)}},getAllKeys(){try{const e=a();return e?Array.from(e.keys()):[]}catch(e){return console.error("Error getting keys from localStorage:",e),[]}},get(e){try{const r=a();return r?r.getItem(`${t}${e}`)??void 0:void 0}catch(e){return void console.error("Error reading from localStorage:",e)}},set(e,r){try{const n=a();n?.setItem(`${t}${e}`,r)}catch(e){console.error("Error writing to localStorage:",e)}}}),syncEngine:e?.syncEngine??(o?(p||(p=new m),p):(h||(h=new v),h))};var t}function F(){let e,t,r=!1;return{complete:function(){!r&&e&&(r=!0,e(),e=void 0,t=void 0)},isHydrated:function(){return r},fail:function(n){!r&&t&&(r=!0,t(n),t=void 0,e=void 0)},promise:new Promise((r,n)=>{e=r,t=n})}}var C=Math.max,I=Math.min;function A(e,t=0,r={}){let n,o,s,i,a,c,u=0,l=!1,f=!1,d=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function y(t){const r=n,s=o;return n=o=void 0,u=t,i=r?e.apply(s,r):e.apply(s),i}function p(e){const r=e-(c??0);return void 0===c||r>=t||r<0||f&&void 0!==s&&e-u>=s}function h(){const e=k();if(p(e))return g(e);a=setTimeout(h,function(e){const r=t-(e-(c??0));return f&&void 0!==s?I(r,s-(e-u)):r}(e))}function g(e){return a=void 0,d&&n?y(e):(n=o=void 0,i)}function b(...e){const r=k(),s=p(r);if(n=e,o=this,c=r,s){if(void 0===a)return function(e){return u=e,a=setTimeout(h,t),l?y(e):i}(c);if(f)return clearTimeout(a),a=setTimeout(h,t),y(c)}return void 0===a&&(a=setTimeout(h,t)),i}return t=E(t)||0,function(e){const t=typeof e;return null!==e&&("object"===t||"function"===t)}(r)&&(l=!!r.leading,f="maxWait"in r,s=f?C(E(r.maxWait)||0,t):void 0,d="trailing"in r?!!r.trailing:d),b.cancel=function(){void 0!==a&&clearTimeout(a),u=0,n=c=o=a=void 0},b.flush=function(){return void 0===a?i:g(k())},b}function k(){return"undefined"!=typeof performance&&"function"==typeof performance.now?performance.now():Date.now()}function E(e){if("number"==typeof e)return e;if("symbol"==typeof e||void 0===e)return NaN;if("object"==typeof e&&null!==e){const t="function"==typeof e.valueOf?e.valueOf():e;e="object"==typeof t?t+"":t}return"string"!=typeof e?0===e?e:+e:(e=e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),/^0b[01]+$/i.test(e)?parseInt(e.slice(2),2):/^0o[0-7]+$/i.test(e)?parseInt(e.slice(2),8):/^[-+]0x[0-9a-f]+$/i.test(e)?NaN:+e)}function T(e,t){return t instanceof Map?{__type:"Map",entries:Array.from(t.entries())}:t instanceof Set?{__type:"Set",values:Array.from(t)}:t}function K(e,t){return function(e){return"object"==typeof e&&null!==e&&"__type"in e&&"Map"===e.__type}(t)?new Map(t.entries):function(e){return"object"==typeof e&&null!==e&&"__type"in e&&"Set"===e.__type}(t)?new Set(t.values):t}function z(e){if(null!==e&&"object"==typeof e){const t={};for(const[r,n]of Object.entries(e))"function"!=typeof n&&(t[r]=n);return t}return e}var M={ms:e=>e,seconds:e=>1e3*e,minutes:e=>M.seconds(60*e),hours:e=>M.minutes(60*e),days:e=>M.hours(24*e),weeks:e=>M.days(7*e),infinity:1/0,zero:0},x=i?0:o?M.ms(200):M.seconds(5);function D(e){return t=>{if("string"!=typeof t)throw new c("[createBaseStore]: Received non-string serialized state without a custom deserializer. Provide a deserializer on the store or storage adapter.");return function(e,t){try{return JSON.parse(e,t?K:void 0)}catch(e){throw u.error(new c("[createBaseStore]: Failed to deserialize persisted store data"),{error:e}),e}}(t,e)}}function $(e){return t=>function(e,t){try{return JSON.stringify(e,t?T:void 0)}catch(e){throw u.error(new c("[createBaseStore]: Failed to serialize store data"),{error:e}),e}}(t,e)}var L=Object.freeze({shouldClear:!1});function P(e,t,r){if(!t||!e)return L;const n=e.getFieldTimestampSnapshot();return function(e,t){const r=e.getSessionId(),n=e.getTimestamp();void 0!==r&&void 0!==n&&(t.syncMetadata={origin:r,timestamp:n})}(e,r),r.syncMetadata?n&&Object.keys(n).length>0?(r.syncMetadata.fields=n,{fieldSnapshot:n,shouldClear:!0}):(delete r.syncMetadata.fields,{fieldSnapshot:n,shouldClear:!1}):{fieldSnapshot:n,shouldClear:!1}}function N(e,t){e&&t.shouldClear&&t.fieldSnapshot&&Object.keys(t.fieldSnapshot).length&&e.clearFieldTimestamps(t.fieldSnapshot)}function R(e){return!!e&&!!e.getIsApplyingRemote()}var W=Object.freeze({QueryStore:Symbol("queryStore"),VirtualStore:Symbol("virtualStore")});function Q(e,...t){if(!0===t[1])return G(t[0])?t[0](e):t[0];const r=G(t[0])?t[0](e):t[0];return function(e){return Array.isArray(e)}(e)?r:{...e,...r}}function V(e,t){J(e)?e.getState().reset(t?.clearQueryCache):function(e){return"destroy"in e}(e)&&e.destroy()}function U(e){return B(e)?e.persist.getOptions().name??e.name:e.name}function _(e){return"getSnapshot"in e}function J(e){return W.QueryStore in e}function B(e){return"persist"in e}function H(e){return W.VirtualStore in e}function G(e){return"function"==typeof e}var[X,Y]=[0,1];function Z(e,t,r){if(!e)return!0;const n=e[X],o=e[Y];return!(t<n)&&(t>n||r>o)}function ee(e,t){return Object.prototype.hasOwnProperty.call(t,e)}function te(e,t){if(!s)return!0;if(null===e||null===t)return e===t;const r=typeof e;return r===typeof t&&("object"!==r||Object.prototype.toString.call(e)===Object.prototype.toString.call(t))}function re(e){if(null===e)return"null";const t=typeof e;return"object"===t?Object.prototype.toString.call(e):t}function ne(r,n){j();const o=void 0!==n&&"string"==typeof n.storageKey,s=o?n.storageKey:void 0,i=n?.sync?function(e,t){if(!e)return null;if(!0===e){if(!t)throw new c("[createBaseStore]: sync: true requires a storageKey to inherit the key from");return{key:t}}if("string"==typeof e)return{key:e};const r=e,n=r.key??t;if(!n)throw new c("[createBaseStore]: sync requires either a key in the config or a storageKey to inherit from");return{...r,key:n}}(n.sync,s):void 0,a=o?n.storage??O().storage:void 0,f=i?function(e,t,r){const n=t.engine??O().syncEngine,o=function(e){let t,r,n,o=!1;return{isAsync:e,clearFieldTimestamps:function(e){if(e&&n){for(const t of Object.entries(e)){const e=t[0],r=t[1];n[e]===r&&delete n[e]}Object.keys(n).length||(n=void 0)}},getFieldTimestampSnapshot:function(){if(n)return{...n}},getIsApplyingRemote:()=>o,getSessionId:()=>t,getTimestamp:()=>r,mergeFieldTimestamps:function(e){if(n)for(const t of Object.entries(e)){const e=t[0],r=t[1],o=n[e];(void 0===o||r>o)&&(n[e]=r)}else n={...e}},onHydrationComplete:void 0,onHydrationFlushEnd:void 0,setIsApplyingRemote:e=>o=e,setSessionId:e=>t=e,setTimestamp:e=>r=e,setWithoutPersist:void 0}}(r);return{stateCreator:(s,i,a)=>{const l=new Map,f=[],d=[];let y=null,p=!1,h=!1,g=0,b=null,m=[],S=Promise.resolve(),v=!r;const w=(e,t)=>{if(o?.setSessionId&&o?.setTimestamp&&n.sessionId&&(o.setSessionId(n.sessionId),o.setTimestamp(e),o.mergeFieldTimestamps&&t.length>0)){const r=Object.create(null);for(const n of t)r[String(n)]=e;o.mergeFieldTimestamps(r)}},O=function(e,t){if(p||!b)return t?s(e,t):s(e);const r=(()=>{const e=Date.now(),t=e>g?e:g+1;return g=t,t})();let o=[],i=Object.create(null);const a=n=>{const s=Q(n,e,t);for(const e of m)Object.is(s[e],n[e])||(o.push(e),i[e]=s[e]);return o.length&&w(r,o),s},c=t?s(a,!0):s(a),u=()=>{o.length&&(e=>{const t=n.sessionId;for(const r of e.keys)l.set(r,[e.timestamp,t]);y&&h?y.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values}):d.push(e)})({keys:o,replace:t??!1,values:i,timestamp:r})};return(f=c)&&"object"==typeof f&&"then"in f&&"function"==typeof f.then?c.finally(u):(u(),c);var f},j=a.setState;a.setState=O;const q=e(O,i,a);if(m=t.fields??function(e){const t=[];for(const r of Object.entries(e)){if("function"==typeof r[1])continue;const e=r[0];t.push(e)}return t}(q),!m.length)return q;b=new Set(m);const F=async e=>{g=Math.max(g,e.timestamp);const r=Object.create(null),n=i(),s=e.timestamp;let a;if(e.replace)for(const t of m)ee(t,e.values)||Z(l.get(t),s,e.sessionId)&&(a??(a=[])).push(t);for(const o of m){if(!ee(o,e.values))continue;if(!b?.has(o))continue;if(!Z(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(!te(f,d))return void u.error(new c(`[sync] Merge function for field "${String(o)}" returned ${re(f)} but expected ${re(d)}`));r[o]=f,l.set(o,[s,e.sessionId])}}else r[o]=e.values[o],l.set(o,[s,e.sessionId])}if(Object.keys(r).length>0||a?.length){p=!0,o&&o.setIsApplyingRemote(!0);try{if(e.replace){const e={...n};let t=!1;if(a?.length){t=!0;for(const t of a)delete e[t],l.delete(t)}for(const n in r){if(!Object.prototype.hasOwnProperty.call(r,n))continue;const o=r[n];void 0!==o&&(Object.is(e[n],o)||(t=!0),e[n]=o)}if(!t)return;await(o.setWithoutPersist??j)(e,!0)}else await(o.setWithoutPersist??j)(r)}finally{p=!1,o&&o.setIsApplyingRemote(!1)}}},C=e=>{r?S=S.then(()=>F(e)):F(e)};y=n.register({apply:e=>{v?C(e):f.push(e)},delta:t.delta,fields:m,getState:i,key:t.key});const I=()=>{h=!0,(()=>{if(y&&d.length){for(const e of d){const t=n.sessionId;for(const r of e.keys)l.set(r,[e.timestamp,t]);w(e.timestamp,e.keys),y.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values})}d.length=0}})()},A=()=>{v=!0,(()=>{if(!f.length)return;const e=f.slice();f.length=0;for(const t of e)C(t)})()};return r&&o?(o.onHydrationComplete=I,o.onHydrationFlushEnd=A):y.onHydrated?(y.onHydrated(I),A()):(I(),A()),q},syncContext:o}}(r,i,a?.async??!1):void 0,d=f?.stateCreator??r;if(!o)return t.createWithEqualityFn()(e.subscribeWithSelector(d),Object.is);const y=a?.async?function(e){let t,r,n,o=!1;return{hydrationPromise:()=>o?t?.promise??r??(r=Promise.resolve()):(t||(t=F()),t.promise),stateCreator:(r,s,i)=>{let a;return n=()=>{if(a?.length){for(const e of a)e[1]?i.setState(e[0],e[1]):i.setState(e[0]);a=void 0}},e((...e)=>o?!0===e[1]?r(e[0],e[1]):r(e[0]):(t||(t=F()),a||(a=[]),a.push(e),t.promise),s,i)},wrapOnRehydrateStorage:(e,r)=>s=>{const i=e?.(s);return(e,s)=>{o=!0,r?.onHydrationComplete?.(),n&&n(),r?.onHydrationFlushEnd?.(),s?t?.fail(l(s)):t?.complete(),i?.(e,s)}}}}(d):null,p=function(e,t,r){const n=t??e.storage??O().storage,o=(e.sync?void 0:e.persistThrottleMs??x)||void 0,s=e.version??0,i=n.async?function(e,t,r,n){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),s="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),i=t.partialize??z,a=t.deserializer??e.deserializer??D(o),l=t.serializer??e.serializer??$(o);async function f(t,r){try{if(R(n))return;r.state,r.state=i(r.state);const o=P(n,s,r),a=l(r);try{await e.set(t,a),N(n,o)}catch(e){u.error(new c("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){u.error(new c("[createBaseStore]: Failed to serialize persisted store data"),{error:e})}}const d=void 0!==r?A(f,r,{leading:!1,maxWait:r,trailing:!0}):function(e){let t,r=null;return function(...n){return t=n,r||(r=new Promise(n=>{queueMicrotask(async()=>{try{await e(...t)}finally{r=null,n()}})})),r}}(f);return{getItem:async t=>{const r=await e.get(t);return void 0===r?null:a(r)},setItem:async(e,t)=>{if(!n?.getIsApplyingRemote())return await d(e,t)},removeItem:async t=>{try{await e.delete(t)}catch(e){u.error(new c("[createBaseStore]: Failed to delete persisted store data"),{error:e})}}}}(n,e,o,r):function(e,t,r,n){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),s="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),i=t.partialize??z,a=t.deserializer??e.deserializer??D(o),l=t.serializer??e.serializer??$(o);function f(t,r){try{if(R(n))return;r.state,r.state=i(r.state);const o=P(n,s,r),a=l(r);try{e.set(t,a),N(n,o)}catch(e){u.error(new c("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){u.error(new c("[createBaseStore]: Failed to persist store data"),{error:e})}}const d=void 0!==r?A(f,r,{leading:!1,maxWait:r,trailing:!0}):f;return{getItem:t=>{const r=e.get(t);return void 0===r?null:a(r)},setItem:(e,t)=>{n?.getIsApplyingRemote()||d(e,t)},removeItem:t=>{try{e.delete(t)}catch(e){u.error(new c("[createBaseStore]: Failed to delete persisted store data"),{error:e})}}}}(n,e,o,r);return{persistStorage:i,version:s}}(n,a,f?.syncContext),h=y?y.wrapOnRehydrateStorage(n.onRehydrateStorage,f?.syncContext):n.onRehydrateStorage,g=y?(e,t,r)=>(f&&(f.syncContext.setWithoutPersist=r.setState),y.stateCreator(e,t,r)):d,b=t.createWithEqualityFn()(e.subscribeWithSelector(e.persist(g,function(e,t,r){const n={name:e.storageKey,onRehydrateStorage:r,storage:t.persistStorage,version:t.version};return void 0!==e.merge&&(n.merge=e.merge),void 0!==e.migrate&&(n.migrate=e.migrate),n}(n,p,h))),Object.is);return y?Object.assign(b,{persist:Object.assign(b.persist,{hydrationPromise:y.hydrationPromise})}):b}function oe(e,t,r="s"){return 1===t?e:`${e}${r}`}function se(e,t,r){const n=t.get(e);if(!n){const n=function(e,t,r,n=[]){return e&&"object"==typeof e?ie(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 ie(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,ie(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 ae(e){return t=>ue(t,e)}function ce(e,t){const r=e.slice(0,-1);return e=>{const n=ue(e,r),o=n?.[t.method];return"function"==typeof o?o.apply(n,t.args):void 0}}function ue(e,t){let r=e;for(const e of t){if(!r||"object"!=typeof r)return r;r=r[e]}return r}function le(){const e=new Map;return{buildProxySubscriptions(t,r){const n=new Set;for(const[t,r]of e)ye(r,t,[],0,n);!function(e,t,r){for(const r of e)t(r.store,r.invocation?ce(r.path,r.invocation):ae(r.path));r&&function(e){const t=e.size;console.log(`[📡 ${t} ${oe("Proxy Subscription",t)} 📡]:`,JSON.stringify(Array.from(e).map(e=>{const t=U(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}_${oe("arg",n)})`:"()"}`}),null,2))}(e)}(n,t,r)},trackPath(t,r,n,o){let s=e.get(t);s||(s=fe(),e.set(t,s)),de(s,r,0,n,o)}}}function fe(){return Object.create(null)}function de(e,t,r,n,o){if(r===t.length)return n&&(e.isLeaf=!0),void(o&&(e.invocation=o));e.children||(e.children=fe());const s=t[r];let i=e.children?.[s];i||(i=fe(),e.children[s]=i),de(i,t,r+1,n,o)}function ye(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&&ye(a,t,[...r,e],n+1,o,s)}}else if(n<s&&c>1&&!e.isLeaf)for(const e of a)ye(i[e],t,[...r,e],n+1,o,s);else{if(1===c){const e=a[0];return void ye(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 pe=!1,he=!1,ge=new Map,be=new Map,me=new Map,Se=null,ve=1/0;function we(){return pe}function Oe(){return Se}function je(){pe||(pe=!0,he||(he=!0,queueMicrotask(()=>{he=!1,(()=>{for(;be.size>0;){const e=ve,t=me.get(e);if(t){me.delete(e);for(const e of t)be.delete(e);Se=e;for(const e of t)e();if(Se=null,me.size>0){ve=1/0;for(const e of me.keys())e<ve&&(ve=e)}else ve=1/0}else{ve=1/0;for(const e of me.keys())e<ve&&(ve=e)}}for(;ge.size>0;){const e=Array.from(ge.values());ge.clear();for(const t of e)t()}})(),pe=!1,Se=null,be.clear(),me.clear(),ve=1/0})))}function qe(e,t){pe&&ge.set(e,t)}var Fe=e=>e;function Ce(e,t=Object.is){return n=function(e,t=Object.is){const{debounceOptions:r,debugMode:n,equalityFn:o,keepAlive:i,lockDependencies:a}="function"==typeof(l=t)?{debounceOptions:void 0,debugMode:!1,equalityFn:l,keepAlive:!1,lockDependencies:!1}:{debounceOptions:l.debounce,debugMode:(s&&l.debugMode)??!1,equalityFn:l.equalityFn??Object.is,keepAlive:l.keepAlive??!1,lockDependencies:l.lockDependencies??!1},c=String(Ae+=1),u=new Set;var l;i&&u.add(ke);const f=new Set;let d,y,p=Ie,h=!1,g=!0,b=!0,m=0,S=!1,v=null,w=Ie;function O(e,t,r){if(!b||!u.size)return(t??Fe)(_(e)?e.getSnapshot():e.getState());if(!t)return d||(d=new WeakMap),y||(y=le()),se(e,d,y.trackPath);const n=e.subscribe(t,M,{equalityFn:r??Object.is,isDerivedStore:!0});return f.add(n),t(_(e)?e.getSnapshot():e.getState())}function j(e){for(const t of f)t(e);f.clear()}let q=!0;function F(){if(!g&&Ee(p))return p;g=!1,b&&j(!0);const t=p,r=Ee(t);p=function(t){q=!0;const r=p,s=e(t);return Ee(r)&&o(r,s)?(n&&console.log("[🥷 Derive Complete 🥷]: No change detected"),q=!1,r):s}(O);const s=n&&(!r||"verbose"===n&&b);if(s){r?"verbose"===n&&console.log("[🌀 Rebuilding Subscriptions 🌀]: Created…"):console.log("[🌀 Initial Derive Complete 🌀]: Created…");const e=f.size;console.log(`[🎯 ${e} ${oe("Selector Subscription",e)} 🎯]`)}return y&&b&&(y.buildProxySubscriptions((e,t)=>{const r=e.subscribe(t,M,{equalityFn:Object.is,isDerivedStore:!0});f.add(r)},s),d=void 0,y=void 0),q&&r&&function(e,t){const r=function(){const e=u.has(ke)?u.size-1:u.size;return m>0&&m<e}(),o=!m||r,s=r||null!==Oe()||we()&&o;r&&je(),n&&console.log(`[📻 Derive Complete 📻]: Notifying ${u.size} ${oe("watcher",u.size)}`);for(const t of u){if("function"==typeof t||!t.isDerivedWatcher)continue;const r=t.selector(e);if(!t.equalityFn(t.currentSlice,r)){const e=t.currentSlice;t.currentSlice=r,t.listener(r,e)}}s?S||(S=!0,Ee(w)||(w=t),qe(c,I)):C(e,t)}(p,t),a&&(b=!1),p}function C(e,t){for(const r of u)if("function"==typeof r)r(e,t);else if(!r.isDerivedWatcher){const t=r.selector(e);if(!r.equalityFn(r.currentSlice,t)){const e=r.currentSlice;r.currentSlice=t,r.listener(t,e)}}}function I(){if(!u.size)return;if(g&&!m&&F(),!Ee(p))return;const e=Ee(w)?w:p;C(p,e),S=!1,w=Ie}const k=r?A(T,"number"==typeof r?r:r.delay,"number"==typeof r?{leading:!1,maxWait:r,trailing:!0}:r):void 0,E=k??(()=>{h||(h=!0,queueMicrotask(T))});function T(){u.size&&(h=!1,g&&F())}function K(e){e?queueMicrotask(()=>{u.size||D()}):D()}function z(){T(),v=null}function M(){if(!g){if(g=!0,!k){if(m){je();const e=Oe(),t=null===e?0:e+1;if(null!==v&&t<=v)return;return v=t,void function(e,t){if(!pe)return;const r=t<0?0:0|t,n=be.get(e);if(void 0===n){be.set(e,r);let t=me.get(r);return t||(t=new Set,me.set(r,t)),t.add(e),void(r<ve&&(ve=r))}if(r>n){const t=me.get(n);if(t&&(t.delete(e),0===t.size&&(me.delete(n),n===ve))){ve=1/0;for(const e of me.keys())e<ve&&(ve=e)}be.set(e,r);let o=me.get(r);o||(o=new Set,me.set(r,o)),o.add(e),r<ve&&(ve=r)}}(z,t)}if(we())return void(S||(S=!0,Ee(p)&&(w=p),qe(c,I)))}v=null,E()}}function x(){return g||!Ee(p)?u.size>0?F():e(O):p}function D(e=!0){i&&e||(k?.cancel(),j(),u.clear(),m=0,y=void 0,d=void 0,b=!0,h=!1,g=!0,p=Ie,S=!1,w=Ie,v=null)}return{destroy:()=>D(!1),flushUpdates:function(){u.size&&(k?k.flush():g&&F())},getSnapshot:function(){if(!Ee(p)){u.add(ke);const e=F();return u.delete(ke),e}return h&&T(),p},getState:x,subscribe:function(...e){if(1===e.length){const t=e[0];return u.add(t),1!==u.size||Ee(p)||x(),()=>{u.delete(t),u.size||K(!1)}}const[t,r,n]=e,o=n?.equalityFn??Object.is,s=n?.isDerivedStore??!1,i={currentSlice:void 0,equalityFn:o,isDerivedWatcher:s,listener:r,selector:t};return u.add(i),i.currentSlice=t(x()),s&&(m+=1),n?.fireImmediately&&r(i.currentSlice,i.currentSlice),()=>{u.delete(i),s&&(m-=1),u.size||K(s)}},getInitialState:()=>{throw new Error("[createDerivedStore]: getInitialState() is not available on derived stores.")},setState:()=>{throw new Error("[createDerivedStore]: setState() is not available on derived stores.")}}}(e,t),Object.assign(function(e=Fe,t=void 0){return r.useSyncExternalStoreWithSelector(n.subscribe,n.getSnapshot,void 0,e,t)},n);var n}var Ie=Symbol(),Ae=0;function ke(){}function Ee(e){return e!==Ie}var Te=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)}}},Ke={Error:"error",Idle:"idle",Loading:"loading",Success:"success"};function ze(e,t){const r=Object.prototype.hasOwnProperty;function n(e,t){for(const r of e.keys())if(ze(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--&&ze(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(!ze(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)||!ze(e[n],t[n]))return!1}return Object.keys(t).length===s}}return e!=e&&t!=t}var Me=new WeakMap,xe=new WeakMap;function De(e,t=$e,r=ze){return function(e,t,r){let n=xe.get(e);n||(n=new Map,xe.set(e,n));let o=n.get(t);o||(o=new Map,n.set(t,o));const s=o.get(r);if(s)return s;const[i,a,c]=Pe(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 Me.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(()=>{}),Me.set(f,i),o.set(r,f),f}(e,t,r)}var $e=e=>e,Le=(e,t,r)=>{if(!t.length)return r;const[n,...o]=t,s=e[n],i=Le(s,o,r);if(ze(s,i))return e;const a=Array.isArray(e)?e.slice():{...e};return a[n]=i,a},Pe=(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!==$e)throw new Error("Cannot set a value with a selector");e.setState(e=>Le(e,r,n),!0)}]},Ne=Object.prototype.hasOwnProperty;function Re(e,t){return Ne.call(e,t)}var[We,Qe]=[!0,!1],Ve={error:We,lastFetchedAt:We,queryCache:We,queryKey:We,status:We,enabled:Qe,fetch:Qe,getCacheEntry:Qe,getData:Qe,getStatus:Qe,isDataExpired:Qe,isStale:Qe,reset:Qe},Ue=M.seconds(5);function _e(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 Je(e){return JSON.stringify(Object.keys(e).sort().map(t=>e[t]))}function Be(e){return JSON.stringify(He(e))}function He(e){return"object"!=typeof e||null===e?e:Object.keys(e).sort().reduce((t,r)=>{const n=e[r];return t[r]=null!==n&&"object"==typeof n?He(n):n,t},{})}function Ge(e,t,r,n){return n?Ze(n,r)?n:{...Xe(e,t),...n}:Xe(e,t)}function Xe(e,t){const r=t?.params??Object.create(null);for(const t in e?.params){const n=e.params[t];n&&(r[t]=n.value)}return r}function Ye(){return Object.create(null)}function Ze(e,t){if(!e)return!1;for(const r of t)if(!(r in e))return!1;return!0}function et(e,t,r){if(!r.queryCache)return r;const n=Date.now(),o=t??(e&&r.queryKey||null);let s=!1;const i=Object.create(null);for(const e in r.queryCache){if(!Re(r.queryCache,e))continue;const a=r.queryCache[e];a&&(n-(a.lastFetchedAt??a.errorInfo.lastFailedAt)<a.cacheTime||e===o)?!t&&a.errorInfo&&a.errorInfo.retryCount>0?(i[e]={...a,errorInfo:{...a.errorInfo,retryCount:0}},s=!0):i[e]=a:s=!0}return s?{...r,queryCache:i}:r}function tt(e){return"function"==typeof e}function rt(e){return!tt(e)}function nt(e,t){return r=>{const n={...r},o={};for(const e in n)Re(n,e)&&e in Ve&&(Ve[e]&&(o[e]=n[e]),delete n[e]);return{...t?t(n):z(n),...et(e,null,o)}}}var ot=Symbol(),st=Object.freeze({debugMode:!1,enabled:!0,equalityFn:Object.is,fireImmediately:!1}),it=Object.freeze({fireImmediately:!1,forceResubscribe:!1});function at(e,t,r=it){if(t.current.isActive){if(!r?.forceResubscribe)return;t.current.unsubscribe()}t.current.options.debugMode&&console.log("[📡 useListen 📡] Attaching listener"),t.current.isActive=!0,t.current.resubscribe=(r=it)=>at(e,t,r);const n=e.subscribe(e=>t.current.selector(e),(e,r)=>t.current.react(e,r,()=>{n(),t.current.isActive=!1}),r.fireImmediately?{...t.current.options,fireImmediately:!0}:t.current.options);t.current.unsubscribe=()=>{t.current.isActive&&(n(),t.current.isActive=!1)}}function ct(e){return"function"==typeof e?{equalityFn:e}:e??st}var ut=Symbol();function lt(e,t){return function(...r){const n=e.getState()[t];if("function"==typeof n)return n(...r);throw new Error(`[createVirtualStoreAction]: Method ${String(t)} is not a function`)}}function ft(e,t){return"function"==typeof e[t]}exports.QueryStatuses=Ke,exports.applyStateUpdate=Q,exports.configureStores=function(e){var t;s&&function(){if(w)throw new Error("[stores]: configureStores() called after first store creation. Call it earlier before creating any stores.")}(),e.logger&&(t=e.logger,u=t),g??(g=q(e))},exports.createBaseStore=ne,exports.createDerivedStore=Ce,exports.createQueryStore=function(e,t,r){j();const n="function"==typeof t?t:Ye,o="object"==typeof t?t:r,a=o&&"storageKey"in o?o:void 0,{fetcher:f,onError:d,onFetched:y,setData:p,transform:h,abortInterruptedFetches:g=!0,cacheTime:b=M.days(7),debugMode:m=!1,disableAutoRefetching:S=!1,disableCache:v=!1,enabled:w=!0,keepPreviousData:O=!1,maxRetries:q=5,paramChangeThrottle:F=!1,params:C,retryDelay:I=_e,suppressStaleTimeWarning:k=!1,useParsableQueryKeys:E=!0}=e;let T="function"==typeof e.staleTime?M.minutes(2):e.staleTime??M.minutes(2);s&&!S&&!k&&T<Ue&&console.warn(`[createQueryStore${a?.storageKey?`: ${a.storageKey}`:""}] ❌ Stale times under ${Ue/1e3} seconds are not recommended. Provided staleTime: ${T/1e3} seconds`);const K=E?Be:Je,z=new Error("[createQueryStore: AbortError] Fetch interrupted"),x="function"==typeof b,D=s&&m,$=Object.keys(e.params??Object.create(null));let L=null,P=null,N=null,R=[],Q=!1,V=!1,U=null,_=null,J=null,B=null,H=null;const G={enabled:"function"!=typeof w&&w,error:null,lastFetchedAt:null,queryCache:{},queryKey:"",status:Ke.Idle},X=new Te({disableAutoRefetching:S,initialEnabled:G.enabled}),Y=()=>{U&&(_=null,U.abort(),U=null)},Z=(t,r,o)=>{const s=o.setState,i=(e,t)=>{const r="function"==typeof e;if(r||void 0!==e.enabled){let t;const n=s(n=>{const s=r?e(n):e,i=void 0!==s.enabled?s.enabled:n.enabled;return i!==n.enabled&&(t=()=>((e,t)=>{e!==t&&H!==t&&(H=t,X.setEnabled(t),t?queueMicrotask(()=>o.getState().fetch(void 0,{updateQueryKey:!0})):(J||g)&&(g&&Y(),J&&(clearTimeout(J),J=null)))})(n.enabled,i)),s});return t?.(),n}return s(e)};o.setState=i,X.init({onSubscribe:(n,o,s)=>{if(P||L||!C&&"function"!=typeof e.enabled&&"function"!=typeof e.staleTime){if(n)if(o){const e=Xe(L,P),n=K(e),o=r();o.queryKey!==n&&t(e=>({...e,queryKey:n})),o.isStale()?w.fetch(e,void 0,!0):m(e,void 0)}else S&&!s&&w.fetch(void 0,void 0,!0)}else Q=!0},onLastUnsubscribe:e=>{J&&(clearTimeout(J),J=null),g&&!e&&Y()}});const m=(e,t)=>{if(S||t?.skipStoreUpdates)return;if(T<=0||T===1/0)return;J&&(clearTimeout(J),J=null);const n=K(e),o=r(),s=(v?B===n&&o.lastFetchedAt:o.queryCache[n]?.lastFetchedAt)||null,i=s?T-(Date.now()-s):T;J=setTimeout(()=>{const t=X.get();t.enabled&&t.subscriptionCount>0&&w.fetch(e,{force:!0},!0)},i)},w={...n(i,r,o),...G,async fetch(e,n,o=!1){const s=X.get();if(!n?.force&&!n?.skipStoreUpdates&&!s.enabled)return null;const S=r(),j=S.error,F=S.queryKey,C=S.status,A=Ge(L,P,$,e),k=K(A),E=n?.staleTime??T,M=C===Ke.Loading,N=!!n?.skipStoreUpdates,R="boolean"==typeof n?.updateQueryKey?n.updateQueryKey:o?O:!N,W=o||!N&&(R||F===k);if(_?.promise&&_.key===k&&M)return D&&console.log("[🔄 Using Active Fetch 🔄] for params:",JSON.stringify(A)),_.promise;if(g&&!N&&!1!==n?.updateQueryKey&&Y(),!n?.force){const e=S.lastFetchedAt,r=S.queryCache[k],o=r?.lastFetchedAt,i=r?.errorInfo,a=i&&i.retryCount>=q,c=(v?B===k&&e:o)||null;if(c&&!(Date.now()-c>=E)&&(!i||a||N))return W&&!N&&!J&&s.subscriptionCount>0&&0!==T&&T!==1/0&&m(A,n),R&&t(e=>e.queryKey!==k?{...e,queryKey:k}:e),D&&console.log("[💾 Returning Cached Data 💾] for params:",JSON.stringify(A)),r?.data??null}!N&&W&&(J&&(clearTimeout(J),J=null),!j&&M||t(e=>({...e,error:null,status:Ke.Loading})),_={key:k});const Q=n?.cacheTime??(x?b(A):b),V=async()=>{try{D&&(o||!e||Ze(e,$)?console.log("[🔄 Fetching 🔄] for params:",JSON.stringify(A)):console.log("[🔄 Fetching with Partial Params 🔄]\n","- Provided params:",`${JSON.stringify(e)}\n`,"- Filled in params:",`${JSON.stringify(Object.fromEntries(Object.keys(A).filter(t=>!(t in e)).map(e=>[e,A[e]])))}`));const r=await(g&&!N&&W?(async e=>{const t=new AbortController;U=t;try{return await new Promise((r,n)=>{t.signal.addEventListener("abort",()=>n(z),{once:!0}),Promise.resolve(f(e,t)).then(r,n)})}finally{U===t&&(U=null)}})(A):f(A,null)),s=Date.now();let l;D&&console.log("[✅ Fetch Successful ✅] for params:",JSON.stringify(A));try{l=h?h(r,A):r}catch(e){throw new c(`[createQueryStore: ${a?.storageKey||k}]: transform failed`,e)}if(N)return D&&console.log("[🥷 Successful Parallel Fetch 🥷] for params:",JSON.stringify(A)),"withCache"===n.skipStoreUpdates&&t(e=>{if(!p)return v?{...e,queryCache:{...e.queryCache,[k]:{cacheTime:Q,data:l,errorInfo:null,lastFetchedAt:s}}}:e;let t=e;const r=t.queryCache[k];return p({data:l,params:A,queryKey:k,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!v&&Object.is(r,t.queryCache[k])&&(t={...t,queryCache:{...t.queryCache,[k]:{cacheTime:Q,data:l,errorInfo:null,lastFetchedAt:s}}}),t}),l;if((p?i:t)(e=>{let t={...e,error:null,lastFetchedAt:s,queryKey:R?k:e.queryKey,status:Ke.Success};if(p||v){if(p){D&&console.log("[💾 Setting Data 💾] for params:",JSON.stringify(A));const e=t.queryCache[k];p({data:l,params:A,queryKey:k,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!v&&Object.is(e,t.queryCache[k])&&(t.queryCache={...t.queryCache,[k]:{cacheTime:Q,data:null,errorInfo:null,lastFetchedAt:s}})}}else D&&console.log("[💾 Setting Cache 💾] for params:",JSON.stringify(A),"| Has previous data?:",!!t.queryCache[k]?.data),t.queryCache={...t.queryCache,[k]:{cacheTime:Q,data:l,errorInfo:null,lastFetchedAt:s}};return v||b===1/0?t:et(O,k,t)}),W&&(B=k,m(A,n)),y)try{y({data:l,fetch:w.fetch,params:A,set:i})}catch(e){u.error(new c(`[createQueryStore: ${a?.storageKey||k}]: onFetched callback failed`,e))}return l??null}catch(s){if(s===z)return D&&console.log("[❌ Fetch Aborted ❌] for params:",JSON.stringify(A)),null;const i=!o&&!0===n?.throwOnError,f=l(s);if(N||!W){if(u.error(new c(`[createQueryStore: ${a?.storageKey||k}]: Failed to fetch data`,f)),i)throw f;return null}const y=v?void 0:r().queryCache[k],p=y?.errorInfo?.retryCount??0,h=p+1;if(d?.(f,p),p<q){if(X.get().subscriptionCount>0){const t="function"==typeof I?I(h,f):I;t!==1/0&&(J&&clearTimeout(J),J=setTimeout(()=>{const{enabled:t,subscriptionCount:r}=X.get();t&&r>0&&w.fetch(e,{force:!0},!0)},t))}t(e=>({...e,error:f,queryCache:{...e.queryCache,[k]:{cacheTime:y?.cacheTime??Q,data:y?.data??null,lastFetchedAt:y?.lastFetchedAt??null,errorInfo:{error:f,lastFailedAt:Date.now(),retryCount:h}}},queryKey:R?k:e.queryKey,status:Ke.Error}))}else t(e=>({...e,error:f,queryCache:{...e.queryCache,[k]:{cacheTime:y?.cacheTime??Q,data:y?.data??null,lastFetchedAt:y?.lastFetchedAt??null,errorInfo:{error:f,lastFailedAt:Date.now(),retryCount:q}}},queryKey:R?k:e.queryKey,status:Ke.Error}));if(u.error(new c(`[createQueryStore: ${a?.storageKey||k}]: Failed to fetch data`,f)),i)throw f;return null}finally{!N&&W&&(_=null)}};return N||!W?V():(_={key:k,promise:V()}).promise},getCacheEntry(e){if(v)return null;const t=r(),n=e?"string"==typeof e?e:K(Ge(L,P,$,e)):t.queryKey;return t.queryCache[n]??null},getData(e){if(v)return null;const t=r().getCacheEntry(e);return t&&null!==t.data?O?t.data:t.lastFetchedAt&&Date.now()-t.lastFetchedAt>=t.cacheTime?null:t.data:null},getStatus:function(e){switch(e){case"isIdle":return r().status===Ke.Idle;case"isLoading":return r().status===Ke.Loading;case"isSuccess":{const e=r(),t=e.queryCache[e.queryKey]?.lastFetchedAt;return"number"==typeof t||e.status===Ke.Success}case"isError":case"isInitialLoad":case void 0:{const t=r(),n=t.queryCache[t.queryKey],o=(v?B===t.queryKey&&t.lastFetchedAt:n?.lastFetchedAt)||null,s=t.status;switch(e){case"isError":{const e=t.queryCache[t.queryKey];return v?"error"!==s:"number"==typeof e?.errorInfo?.lastFailedAt}case"isInitialLoad":return!o&&s===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=r(),n=t.queryCache[t.queryKey],o=t.queryKey,s=t.lastFetchedAt,i=(v?B===o&&s:n?.lastFetchedAt)||null;if(!i)return!0;const a=e??n?.cacheTime;return void 0===a||Date.now()-i>=a},isStale(e){const t=r(),n=t.queryKey,o=(v?B===n&&t.lastFetchedAt:t.queryCache[n]?.lastFetchedAt)||null;if(!o)return!0;const s=e??T;return Date.now()-o>=s},reset(e=!1){for(const e of R)e();R=[],L=null,P=null,N=null,Y(),J&&(clearTimeout(J),J=null),_=null,B=null,e&&t(e=>({...e,...G}))}},j=o.subscribe;return o.subscribe=(...e)=>{const t=V?()=>{}:X.subscribe(),r=1===e.length?j(e[0]):j(e[0],e[1],e[2]);return e=>{t(e),r()}},w},ee=a?.storageKey?ne(Z,Object.assign(Object.create(null),a,{partialize:nt(O,a.partialize)})):o&&!("storageKey"in o)?ne(Z,o):ne(Z),te=ee.getState(),re=te.error,oe=te.enabled,se=te.queryKey;if(se&&!re&&(B=se),V=!0,C||"function"==typeof e.enabled){const{directValues:e,enabledAttachVal:t,enabledDirectValue:r,attachVals:n}=function(e,t,r){const n=Object.create(null),o=Object.create(null),s=Object.create(null);for(const e in t){if(!Re(t,e))continue;const i=t[e];if(tt(i)){const t=i(De,r);n[e]=t,s[e]=t.value}else rt(i)&&(o[e]=i,s[e]=i)}let i,a=null,c=null;if(tt(e)){const t=e(De,r);i=t.value,a=t}else i=e,c=e;return{attachVals:n,directValues:o,enabledAttachVal:a,enabledDirectValue:c,resolvedEnabled:i,resolvedParams:s}}(w,C,ee);L={enabled:t,params:n},P={enabled:r,params:e}}"function"==typeof e.staleTime&&(N=e.staleTime(De,ee),T=N.value);const ie=function(){let e,t=!1;return function(...r){e=r,t||(t=!0,queueMicrotask(()=>{t=!1,(e=>{te.fetch(e??Xe(L,P),{updateQueryKey:O})})(...e)}))}}();function ae(){let e;if(!O){e=Xe(L,P);const t=K(e);ee.setState(e=>({...e,queryKey:t}))}ie(e)}const ce=i||!F?ae:A(ae,"number"==typeof F?F:F.delay,"number"==typeof F?{leading:!1,maxWait:F,trailing:!0}:F);if(L?.enabled){const e=L.enabled,t=Me.get(e);if(t){let r=e.value;oe!==r&&ee.setState(e=>({...e,enabled:r})),r&&X.setEnabled(r),D&&console.log("[🌀 Enabled Subscription 🌀] Initial value:",r);const n=t(()=>{const t=e.value;t!==r&&(D&&console.log("[🌀 Enabled Change 🌀] - [Old]:",`${r},`,"[New]:",t),r=t,ee.setState(e=>({...e,enabled:t})))});R.push(n)}}else oe!==G.enabled&&ee.setState(e=>({...e,enabled:G.enabled}));for(const e in L?.params){const t=L.params[e];if(!t)continue;const r=Me.get(t);if(D&&console.log("[🌀 Param Subscription 🌀] Subscribed to param:",e),r){let n=t.value;const o=r(()=>{const r=t.value;ze(n,r)||(D&&console.log("[🌀 Param Change 🌀] -",e,"- [Old]:",`${n?.toString()},`,"[New]:",r?.toString()),n=r,ce())});R.push(o)}}if(N){const e=Me.get(N);if(e){const t=N;let r=t.value;D&&console.log("[🌀 StaleTime Subscription 🌀] Initial value:",r);const n=e(()=>{const e=t.value;e!==r&&(D&&console.log("[🌀 StaleTime Change 🌀] - [Old]:",`${r},`,"[New]:",e),r=e,T=e,ee.getState().fetch())});R.push(n)}}return V=!1,Q&&queueMicrotask(ce),ue=ee,le=W.QueryStore,Object.assign(ue,{[le]:!0});var ue,le},exports.createStoreActions=function(e,t){const r=function(e){const t=e.getState(),r=Object.create(null);if(s&&("object"!=typeof t||null===t))throw new Error("[createStoreActions]: State is not an object");if(H(e)){for(const n in t)ft(t,n)&&(r[n]=lt(e,n));return r}for(const e in t)ft(t,e)&&(r[e]=t[e]);return r}(e);return t?Object.assign(r,t):r},exports.createVirtualStore=function(e,t,r){const n="function"==typeof t,o=n?t:void 0,s=n?r:t,i=new Set,a=Ce(e,{debugMode:s?.debugMode??!1,equalityFn:function(e,t){const r=Object.is(e,t);return r||(function(e,t){for(const r of i){r.unsubscribe();const n=r.args;if(1===n.length){const o=n[0],s=e.getState(),i=t.getState(),a=t.subscribe(o);r.unsubscribe=a,Object.is(i,s)||o(i,s);continue}const o=n[0],s=n[1];let i=n[2];i?.fireImmediately&&(i={...i,fireImmediately:!1});const a=o(e.getState()),c=o(t.getState()),u=t.subscribe(o,s,i);r.unsubscribe=u,(i?.equalityFn??Object.is)(a,c)||s(c,a)}}(e,t),V(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()},{[W.VirtualStore]:!0,destroy:()=>a.destroy(),getInitialState:()=>a.getState().getInitialState(),getState:()=>a.getState().getState(),persist:c,setState:u,subscribe:function(...e){const t={args:e,unsubscribe:1===e.length?a.getState().subscribe(e[0]):a.getState().subscribe(e[0],e[1],e[2])};return i.add(t),()=>{t.unsubscribe(),i.delete(t)}}},o?o(a.getState):void 0)},exports.deepEqual=function e(t,r){if("object"!=typeof t||null==t||"object"!=typeof r||null==r)return t===r;if(Object.is(t,r))return!0;const n=Object.keys(t);if(n.length!==Object.keys(r).length)return!1;for(const o of n)if(!(o in r)||!e(t[o],r[o]))return!1;return!0},exports.defaultRetryDelay=_e,exports.destroyStore=V,exports.destroyStores=function(e,t){for(const r of Array.isArray(e)?e:Object.values(e))r&&!t?.skipDestroy?.(r)&&V(r,t)},exports.getLegacyQueryKey=Je,exports.getQueryKey=Be,exports.getStoreName=U,exports.isDerivedStore=function(e){return"flushUpdates"in e},exports.isPersistedStore=B,exports.isQueryStore=J,exports.isVirtualStore=H,exports.parseQueryKey=function(e){return JSON.parse(e)},exports.replacer=T,exports.reviver=K,exports.shallowEqual=function(e,t){if("object"!=typeof e||null==e||"object"!=typeof t||null==t)return e===t;if(Object.is(e,t))return!0;const r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(const n of r)if(!Object.is(e[n],t[n]))return!1;return!0},exports.time=M,exports.useListen=function(e,t,r,o=st){const s=function(){const e=n.useRef(ot);return e.current===ot&&(e.current=function(e,t,r){return{selector:e,react:t,isActive:!1,options:ct(r),resubscribe:()=>{},unsubscribe:()=>{}}}(t,r,o)),e}(),i=function(e){return"function"==typeof e?st.enabled:e?.enabled??st.enabled}(o);return s.current.react=r,s.current.selector=t,function(e,t){"function"==typeof t?e.current.options.equalityFn=t:t&&(e.current.options=t??st)}(s,o),n.useLayoutEffect(()=>{if(i)return at(e,s),()=>function(e){e.current.options.debugMode&&console.log("[🗑️ useListen 🗑️] Detaching listener"),e.current.resubscribe=()=>{},e.current.unsubscribe(),e.current.unsubscribe=()=>{},e.current.isActive=!1}(s)},[i,e]),s},exports.useStableValue=function(e){const t=n.useRef(ut);return t.current===ut&&(t.current=e()),t.current};
1
+ "use strict";var e=require("react"),t=require("./internal/runtime.js");function r(){}process.env.NODE_ENV,process.env.NODE_ENV,Object.freeze(Object.create(null));var n=Symbol("empty selection"),o=Object.is;function u(e,t){return r=>(function(e){e.committedEqualityFn=e.equalityFn,e.committedSelector=e.selector,e.committedSource=e.source,e.committedValue=e.value===n?c(e):e.value}(e),t(u=>{e.latestSnapshot=u,e.latestSource=t;const c=e.committedValue;if(c===n||e.committedSource!==t)return void r();const i=e.committedSelector,a=e.committedEqualityFn;if(e.selector===i&&e.equalityFn===a){const t=i(u);if(a===o?o(c,t):a(c,t))return;return e.committedValue=t,e.value=t,e.valueEqualityFn=a,e.valueSelector=i,e.valueSnapshot=u,void r()}if(e.source!==t)return void r();const l=e.value;if(l===n)return;const S=e.selector(u),f=e.equalityFn(l,S);e.committedEqualityFn=e.equalityFn,e.committedSelector=e.selector,e.committedValue=s(e,u,f?l:S),f||r()}))}function c(e){const t=function(e){if(e.latestSource===e.source&&e.latestSnapshot!==n)return e.latestSnapshot;const t=e.getStoreSnapshot();return e.latestSnapshot=t,e.latestSource=e.source,t}(e);return i(e,t)}function i(e,t){const r=e.value;if(r!==n&&o(e.valueSnapshot,t)&&e.valueSelector===e.selector&&e.valueEqualityFn===e.equalityFn)return r;const u=e.selector(t);if(r!==n&&(e.equalityFn===o?o(r,u):e.equalityFn(r,u)))return s(e,t,r);const c=e.committedValue;return c!==n&&c!==r&&e.committedSource===e.source&&(e.equalityFn===o?o(c,u):e.equalityFn(c,u))?s(e,t,c):s(e,t,u)}function s(e,t,r){return e.value=r,e.valueEqualityFn=e.equalityFn,e.valueSelector=e.selector,e.valueSnapshot=t,r}function a(t,s,a,l){return Object.assign(function(S,f){return function(t,s,a,l,S=o){const f=e.useRef(null);let p=t,b=s,d=a;if(l){let e=f.current;null===e&&(e=function(e,t,o,s,a){const l={committedEqualityFn:a,committedSelector:s,committedSource:e,committedValue:n,equalityFn:a,getSelectedServerSnapshot:()=>function(e){return i(e,(e.getServerStoreSnapshot??e.getStoreSnapshot)())}(l),getSelectedSnapshot:()=>c(l),getServerStoreSnapshot:o,getStoreSnapshot:t,latestSnapshot:n,latestSource:n,selector:s,selectedSource:e,selectedSubscribe:()=>r,source:e,value:n,valueEqualityFn:a,valueSelector:s,valueSnapshot:n};return l.selectedSubscribe=u(l,e),l}(t,s,a,l,S),f.current=e),function(e,t,r,o,c,i){e.source===t&&e.getStoreSnapshot===r||(e.latestSnapshot=n),e.source=t,e.getStoreSnapshot=r,e.getServerStoreSnapshot=o,e.selector=c,e.equalityFn=i,e.selectedSource!==t&&(e.selectedSource=t,e.selectedSubscribe=u(e,t))}(e,t,s,a,l,S),p=e.selectedSubscribe,b=e.getSelectedSnapshot,d=void 0===a?void 0:e.getSelectedServerSnapshot}const y=e.useSyncExternalStore(p,b,d);return e.useDebugValue(y),y}(t.subscribe,s,a,S,f??l)},t)}var l=Symbol(),S=Object.freeze({debugMode:!1,enabled:!0,equalityFn:Object.is,fireImmediately:!1}),f=Object.freeze({fireImmediately:!1,forceResubscribe:!1});function p(e,t,r=f){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=f)=>p(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 b(e){return"function"==typeof e?{equalityFn:e}:e??S}var d=Symbol();Object.defineProperty(exports,"QueryStatuses",{enumerable:!0,get:function(){return t.QueryStatuses}}),Object.defineProperty(exports,"StoresError",{enumerable:!0,get:function(){return t.StoresError}}),Object.defineProperty(exports,"applyStateUpdate",{enumerable:!0,get:function(){return t.applyStateUpdate}}),Object.defineProperty(exports,"configureStores",{enumerable:!0,get:function(){return t.configureStores}}),Object.defineProperty(exports,"createStoreActions",{enumerable:!0,get:function(){return t.createStoreActions}}),Object.defineProperty(exports,"deepEqual",{enumerable:!0,get:function(){return t.deepEqual}}),Object.defineProperty(exports,"defaultRetryDelay",{enumerable:!0,get:function(){return t.defaultRetryDelay}}),Object.defineProperty(exports,"destroyStore",{enumerable:!0,get:function(){return t.destroyStore}}),Object.defineProperty(exports,"destroyStores",{enumerable:!0,get:function(){return t.destroyStores}}),Object.defineProperty(exports,"getStoreName",{enumerable:!0,get:function(){return t.getStoreName}}),Object.defineProperty(exports,"hasGetSnapshot",{enumerable:!0,get:function(){return t.hasGetSnapshot}}),Object.defineProperty(exports,"identity",{enumerable:!0,get:function(){return t.identity}}),Object.defineProperty(exports,"isDerivedStore",{enumerable:!0,get:function(){return t.isDerivedStore}}),Object.defineProperty(exports,"isPersistedStore",{enumerable:!0,get:function(){return t.isPersistedStore}}),Object.defineProperty(exports,"isQueryStore",{enumerable:!0,get:function(){return t.isQueryStore}}),Object.defineProperty(exports,"isVirtualStore",{enumerable:!0,get:function(){return t.isVirtualStore}}),Object.defineProperty(exports,"nullObject",{enumerable:!0,get:function(){return t.nullObject}}),Object.defineProperty(exports,"replacer",{enumerable:!0,get:function(){return t.replacer}}),Object.defineProperty(exports,"reviver",{enumerable:!0,get:function(){return t.reviver}}),Object.defineProperty(exports,"shallowEqual",{enumerable:!0,get:function(){return t.shallowEqual}}),Object.defineProperty(exports,"time",{enumerable:!0,get:function(){return t.time}}),exports.createBaseStore=function(e,r){const n=t.baseStore(e,r);return a(n,n.getState,n.getInitialState,Object.is)},exports.createDerivedStore=function(e,r=Object.is){const n=t.derivedStore(e,r);return a(n,n.getSnapshot)},exports.createQueryStore=function(e,r,n){const o=t.queryStore(e,r,n);return a(o,o.getState,o.getInitialState,Object.is)},exports.createVirtualStore=function(e,r,n){const o=t.virtualStore(e,r,n);return a(o,o.getState,o.getInitialState)},exports.getQueryKey=function(e){return t.getQueryKey(e)},exports.parseQueryKey=function(e){return t.parseQueryKey(e)},exports.useListen=function(t,r,n,o=S){const u=function(){const t=e.useRef(l);return t.current===l&&(t.current=function(e,t,r){return{selector:e,react:t,isActive:!1,options:b(r),resubscribe:()=>{},unsubscribe:()=>{}}}(r,n,o)),t}(),c=function(e){return"function"==typeof e?S.enabled:e?.enabled??S.enabled}(o);return u.current.react=n,u.current.selector=r,function(e,t){"function"==typeof t?e.current.options.equalityFn=t:t&&(e.current.options=t??S)}(u,o),e.useLayoutEffect(()=>{if(c)return p(t,u),()=>function(e){e.current.options.debugMode&&console.log("[🗑️ useListen 🗑️] Detaching listener"),e.current.resubscribe=()=>{},e.current.unsubscribe(),e.current.unsubscribe=()=>{},e.current.isActive=!1}(u)},[c,t]),u},exports.useStableValue=function(t){const r=e.useRef(d);return r.current===d&&(r.current=t()),r.current};
@@ -1 +1 @@
1
- import{IS_TEST as e,IS_BROWSER as t,IS_IOS as n,markStoreCreated as r,getStoresConfig as o,StoresError as i,IS_DEV as s,hasOwn as c,logger as a,ensureError as u,isPromiseLike as l,unstable_batchedUpdates as f,reviver as d,replacer as y}from"./chunk-MMPMCVRC.mjs";export{configureStores,replacer,reviver}from"./chunk-MMPMCVRC.mjs";import{subscribeWithSelector as p,persist as h}from"zustand/middleware";import{createWithEqualityFn as g}from"zustand/traditional";import{useSyncExternalStoreWithSelector as b}from"use-sync-external-store/shim/with-selector";import{useLayoutEffect as m,useRef as S}from"react";function v(){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 w=Math.max,O=Math.min;function j(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=q();if(p(e))return g(e);c=setTimeout(h,function(e){const n=t-(e-(a??0));return f&&void 0!==i?O(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=q(),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=C(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?w(C(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(q())},b}function q(){return"undefined"!=typeof performance&&"function"==typeof performance.now?performance.now():Date.now()}function C(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 F(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 A={ms:e=>e,seconds:e=>1e3*e,minutes:e=>A.seconds(60*e),hours:e=>A.minutes(60*e),days:e=>A.hours(24*e),weeks:e=>A.days(7*e),infinity:1/0,zero:0},I=e?0:t?A.ms(200):n?A.seconds(3):A.seconds(5);function k(e){return t=>{if("string"!=typeof t)throw new i("[createBaseStore]: Received non-string serialized state without a custom deserializer. Provide a deserializer on the store or storage adapter.");return function(e,t){try{return JSON.parse(e,t?d:void 0)}catch(e){throw a.error(new i("[createBaseStore]: Failed to deserialize persisted store data"),{error:e}),e}}(t,e)}}function T(e){return t=>function(e,t){try{return JSON.stringify(e,t?y:void 0)}catch(e){throw a.error(new i("[createBaseStore]: Failed to serialize store data"),{error:e}),e}}(t,e)}var z=Object.freeze({shouldClear:!1});function M(e,t,n){if(!t||!e)return z;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 D(e,t){e&&t.shouldClear&&t.fieldSnapshot&&Object.keys(t.fieldSnapshot).length&&e.clearFieldTimestamps(t.fieldSnapshot)}function K(e){return!!e&&!!e.getIsApplyingRemote()}var $=Object.freeze({QueryStore:Symbol("queryStore"),VirtualStore:Symbol("virtualStore")});function E(e,...t){if(!0===t[1])return Q(t[0])?t[0](e):t[0];const n=Q(t[0])?t[0](e):t[0];return function(e){return Array.isArray(e)}(e)?n:{...e,...n}}function P(e,t){N(e)?e.getState().reset(t?.clearQueryCache):function(e){return"destroy"in e}(e)&&e.destroy()}function L(e,t){for(const n of Array.isArray(e)?e:Object.values(e))n&&!t?.skipDestroy?.(n)&&P(n,t)}function x(e){return V(e)?e.persist.getOptions().name??e.name:e.name}function R(e){return"getSnapshot"in e}function N(e){return $.QueryStore in e}function W(e){return"flushUpdates"in e}function V(e){return"persist"in e}function J(e){return $.VirtualStore in e}function Q(e){return"function"==typeof e}var[B,U]=[0,1];function H(e,t,n){if(!e)return!0;const r=e[B],o=e[U];return!(t<r)&&(t>r||n>o)}function _(e,t){return Object.prototype.hasOwnProperty.call(t,e)}function G(e,t){if(!s)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 X(e){if(null===e)return"null";const t=typeof e;return"object"===t?Object.prototype.toString.call(e):t}function Y(e,t){r();const n=void 0!==t&&"string"==typeof t.storageKey,s=n?t.storageKey:void 0,c=t?.sync?function(e,t){if(!e)return null;if(!0===e){if(!t)throw new i("[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 i("[createBaseStore]: sync requires either a key in the config or a storageKey to inherit from");return{...n,key:r}}(t.sync,s):void 0,f=n?t.storage??o().storage:void 0,d=c?function(e,t,n){const r=t.engine??o().syncEngine,s=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:(o,c,u)=>{const f=new Map,d=[],y=[];let p=null,h=!1,g=!1,b=0,m=null,S=[],v=Promise.resolve(),w=!n;const O=(e,t)=>{if(s?.setSessionId&&s?.setTimestamp&&r.sessionId&&(s.setSessionId(r.sessionId),s.setTimestamp(e),s.mergeFieldTimestamps&&t.length>0)){const n=Object.create(null);for(const r of t)n[String(r)]=e;s.mergeFieldTimestamps(n)}},j=function(e,t){if(h||!m)return t?o(e,t):o(e);const n=(()=>{const e=Date.now(),t=e>b?e:b+1;return b=t,t})();let i=[],s=Object.create(null);const c=r=>{const o=E(r,e,t);for(const e of S)Object.is(o[e],r[e])||(i.push(e),s[e]=o[e]);return i.length&&O(n,i),o},a=t?o(c,!0):o(c),u=()=>{i.length&&(e=>{const t=r.sessionId;for(const n of e.keys)f.set(n,[e.timestamp,t]);p&&g?p.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values}):y.push(e)})({keys:i,replace:t??!1,values:s,timestamp:n})};return l(a)?a.finally(u):(u(),a)},q=u.setState;u.setState=j;const C=e(j,c,u);if(S=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}(C),!S.length)return C;m=new Set(S);const F=async e=>{b=Math.max(b,e.timestamp);const n=Object.create(null),r=c(),o=e.timestamp;let u;if(e.replace)for(const t of S)_(t,e.values)||H(f.get(t),o,e.sessionId)&&(u??(u=[])).push(t);for(const s of S){if(!_(s,e.values))continue;if(!m?.has(s))continue;if(!H(f.get(s),o,e.sessionId))continue;const c=t.merge?.[s];if(c){const t=e.values[s],u=r[s];if(void 0!==t){const l=c(t,u,r,e.values),d=void 0!==u?u:t;if(!G(l,d))return void a.error(new i(`[sync] Merge function for field "${String(s)}" returned ${X(l)} but expected ${X(d)}`));n[s]=l,f.set(s,[o,e.sessionId])}}else n[s]=e.values[s],f.set(s,[o,e.sessionId])}if(Object.keys(n).length>0||u?.length){h=!0,s&&s.setIsApplyingRemote(!0);try{if(e.replace){const e={...r};let t=!1;if(u?.length){t=!0;for(const t of u)delete e[t],f.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(s.setWithoutPersist??q)(e,!0)}else await(s.setWithoutPersist??q)(n)}finally{h=!1,s&&s.setIsApplyingRemote(!1)}}},A=e=>{n?v=v.then(()=>F(e)):F(e)};p=r.register({apply:e=>{w?A(e):d.push(e)},delta:t.delta,fields:S,getState:c,key:t.key});const I=()=>{g=!0,(()=>{if(p&&y.length){for(const e of y){const t=r.sessionId;for(const n of e.keys)f.set(n,[e.timestamp,t]);O(e.timestamp,e.keys),p.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values})}y.length=0}})()},k=()=>{w=!0,(()=>{if(!d.length)return;const e=d.slice();d.length=0;for(const t of e)A(t)})()};return n&&s?(s.onHydrationComplete=I,s.onHydrationFlushEnd=k):p.onHydrated?(p.onHydrated(I),k()):(I(),k()),C},syncContext:s}}(e,c,f?.async??!1):void 0,y=d?.stateCreator??e;if(!n)return g()(p(y),Object.is);const b=f?.async?function(e){let t,n,r,o=!1;return{hydrationPromise:()=>o?t?.promise??n??(n=Promise.resolve()):(t||(t=v()),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=v()),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(u(i)):t?.complete(),s?.(e,i)}}}}(y):null,m=function(e,t,n){const r=t??e.storage??o().storage,s=(e.sync?void 0:e.persistThrottleMs??I)||void 0,c=e.version??0,u=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),c=t.partialize??F,u=t.deserializer??e.deserializer??k(o),l=t.serializer??e.serializer??T(o);async function f(t,n){try{if(K(r))return;n.state,n.state=c(n.state);const o=M(r,s,n),u=l(n);try{await e.set(t,u),D(r,o)}catch(e){a.error(new i("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){a.error(new i("[createBaseStore]: Failed to serialize persisted store data"),{error:e})}}const d=void 0!==n?j(f,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}}(f);return{getItem:async t=>{const n=await e.get(t);return void 0===n?null:u(n)},setItem:async(e,t)=>{if(!r?.getIsApplyingRemote())return await d(e,t)},removeItem:async t=>{try{await e.delete(t)}catch(e){a.error(new i("[createBaseStore]: Failed to delete persisted store data"),{error:e})}}}}(r,e,s,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),c=t.partialize??F,u=t.deserializer??e.deserializer??k(o),l=t.serializer??e.serializer??T(o);function f(t,n){try{if(K(r))return;n.state,n.state=c(n.state);const o=M(r,s,n),u=l(n);try{e.set(t,u),D(r,o)}catch(e){a.error(new i("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){a.error(new i("[createBaseStore]: Failed to persist store data"),{error:e})}}const d=void 0!==n?j(f,n,{leading:!1,maxWait:n,trailing:!0}):f;return{getItem:t=>{const n=e.get(t);return void 0===n?null:u(n)},setItem:(e,t)=>{r?.getIsApplyingRemote()||d(e,t)},removeItem:t=>{try{e.delete(t)}catch(e){a.error(new i("[createBaseStore]: Failed to delete persisted store data"),{error:e})}}}}(r,e,s,n);return{persistStorage:u,version:c}}(t,f,d?.syncContext),S=b?b.wrapOnRehydrateStorage(t.onRehydrateStorage,d?.syncContext):t.onRehydrateStorage,w=b?(e,t,n)=>(d&&(d.syncContext.setWithoutPersist=n.setState),b.stateCreator(e,t,n)):y,O=g()(p(h(w,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,m,S))),Object.is);return b?Object.assign(O,{persist:Object.assign(O.persist,{hydrationPromise:b.hydrationPromise})}):O}function Z(e,t,n="s"){return 1===t?e:`${e}${n}`}function ee(e,t,n){const r=t.get(e);if(!r){const r=function(e,t,n,r=[]){return e&&"object"==typeof e?te(e,r,t,n,new WeakSet,new WeakMap):(n(t,r,!0),e)}(R(e)?e.getSnapshot():e.getState(),e,n);return t.set(e,r),r}return r}function te(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,te(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 ne(e){return t=>oe(t,e)}function re(e,t){const n=e.slice(0,-1);return e=>{const r=oe(e,n),o=r?.[t.method];return"function"==typeof o?o.apply(r,t.args):void 0}}function oe(e,t){let n=e;for(const e of t){if(!n||"object"!=typeof n)return n;n=n[e]}return n}function ie(){const e=new Map;return{buildProxySubscriptions(t,n){const r=new Set;for(const[t,n]of e)ae(n,t,[],0,r);!function(e,t,n){for(const n of e)t(n.store,n.invocation?re(n.path,n.invocation):ne(n.path));n&&function(e){const t=e.size;console.log(`[📡 ${t} ${Z("Proxy Subscription",t)} 📡]:`,JSON.stringify(Array.from(e).map(e=>{const t=x(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}_${Z("arg",r)})`:"()"}`}),null,2))}(e)}(r,t,n)},trackPath(t,n,r,o){let i=e.get(t);i||(i=se(),e.set(t,i)),ce(i,n,0,r,o)}}}function se(){return Object.create(null)}function ce(e,t,n,r,o){if(n===t.length)return r&&(e.isLeaf=!0),void(o&&(e.invocation=o));e.children||(e.children=se());const i=t[n];let s=e.children?.[i];s||(s=se(),e.children[i]=s),ce(s,t,n+1,r,o)}function ae(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&&ae(c,t,[...n,e],r+1,o,i)}}else if(r<i&&a>1&&!e.isLeaf)for(const e of c)ae(s[e],t,[...n,e],r+1,o,i);else{if(1===a){const e=c[0];return void ae(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 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,f(()=>{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:n,debugMode:r,equalityFn:o,keepAlive:i,lockDependencies:c}="function"==typeof(l=t)?{debounceOptions:void 0,debugMode:!1,equalityFn:l,keepAlive:!1,lockDependencies:!1}:{debounceOptions:l.debounce,debugMode:(s&&l.debugMode)??!1,equalityFn:l.equalityFn??Object.is,keepAlive:l.keepAlive??!1,lockDependencies:l.lockDependencies??!1},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=!1,v=null,w=Oe;function O(e,t,n){if(!b||!u.size)return(t??ve)(R(e)?e.getSnapshot():e.getState());if(!t)return d||(d=new WeakMap),y||(y=ie()),ee(e,d,y.trackPath);const r=e.subscribe(t,K,{equalityFn:n??Object.is,isDerivedStore:!0});return f.add(r),t(R(e)?e.getSnapshot():e.getState())}function q(e){for(const t of f)t(e);f.clear()}let C=!0;function F(){if(!g&&Ce(p))return p;g=!1,b&&q(!0);const t=p,n=Ce(t);p=function(t){C=!0;const n=p,i=e(t);return Ce(n)&&o(n,i)?(r&&console.log("[🥷 Derive Complete 🥷]: No change detected"),C=!1,n):i}(O);const i=r&&(!n||"verbose"===r&&b);if(i){n?"verbose"===r&&console.log("[🌀 Rebuilding Subscriptions 🌀]: Created…"):console.log("[🌀 Initial Derive Complete 🌀]: Created…");const e=f.size;console.log(`[🎯 ${e} ${Z("Selector Subscription",e)} 🎯]`)}return y&&b&&(y.buildProxySubscriptions((e,t)=>{const n=e.subscribe(t,K,{equalityFn:Object.is,isDerivedStore:!0});f.add(n)},i),d=void 0,y=void 0),C&&n&&function(e,t){const n=function(){const e=u.has(qe)?u.size-1:u.size;return m>0&&m<e}(),o=!m||n,i=n||null!==be()||ge()&&o;n&&me(),r&&console.log(`[📻 Derive Complete 📻]: Notifying ${u.size} ${Z("watcher",u.size)}`);for(const t of u){if("function"==typeof t||!t.isDerivedWatcher)continue;const n=t.selector(e);if(!t.equalityFn(t.currentSlice,n)){const e=t.currentSlice;t.currentSlice=n,t.listener(n,e)}}i?S||(S=!0,Ce(w)||(w=t),Se(a,I)):A(e,t)}(p,t),c&&(b=!1),p}function A(e,t){for(const n of u)if("function"==typeof n)n(e,t);else if(!n.isDerivedWatcher){const t=n.selector(e);if(!n.equalityFn(n.currentSlice,t)){const e=n.currentSlice;n.currentSlice=t,n.listener(t,e)}}}function I(){if(!u.size)return;if(g&&!m&&F(),!Ce(p))return;const e=Ce(w)?w:p;A(p,e),S=!1,w=Oe}const k=n?j(z,"number"==typeof n?n:n.delay,"number"==typeof n?{leading:!1,maxWait:n,trailing:!0}:n):void 0,T=k??(()=>{h||(h=!0,queueMicrotask(z))});function z(){u.size&&(h=!1,g&&F())}function M(e){e?queueMicrotask(()=>{u.size||E()}):E()}function D(){z(),v=null}function K(){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 n=t<0?0:0|t,r=de.get(e);if(void 0===r){de.set(e,n);let t=ye.get(n);return t||(t=new Set,ye.set(n,t)),t.add(e),void(n<he&&(he=n))}if(n>r){const t=ye.get(r);if(t&&(t.delete(e),0===t.size&&(ye.delete(r),r===he))){he=1/0;for(const e of ye.keys())e<he&&(he=e)}de.set(e,n);let o=ye.get(n);o||(o=new Set,ye.set(n,o)),o.add(e),n<he&&(he=n)}}(D,t)}if(ge())return void(S||(S=!0,Ce(p)&&(w=p),Se(a,I)))}v=null,T()}}function $(){return g||!Ce(p)?u.size>0?F():e(O):p}function E(e=!0){i&&e||(k?.cancel(),q(),u.clear(),m=0,y=void 0,d=void 0,b=!0,h=!1,g=!0,p=Oe,S=!1,w=Oe,v=null)}return{destroy:()=>E(!1),flushUpdates:function(){u.size&&(k?k.flush():g&&F())},getSnapshot:function(){if(!Ce(p)){u.add(qe);const e=F();return u.delete(qe),e}return h&&z(),p},getState:$,subscribe:function(...e){if(1===e.length){const t=e[0];return u.add(t),1!==u.size||Ce(p)||$(),()=>{u.delete(t),u.size||M(!1)}}const[t,n,r]=e,o=r?.equalityFn??Object.is,i=r?.isDerivedStore??!1,s={currentSlice:void 0,equalityFn:o,isDerivedWatcher:i,listener:n,selector:t};return u.add(s),s.currentSlice=t($()),i&&(m+=1),r?.fireImmediately&&n(s.currentSlice,s.currentSlice),()=>{u.delete(s),i&&(m-=1),u.size||M(i)}},getInitialState:()=>{throw new Error("[createDerivedStore]: getInitialState() is not available on derived stores.")},setState:()=>{throw new Error("[createDerivedStore]: setState() is not available on derived stores.")}}}(e,t),Object.assign(function(e=ve,t=void 0){return b(n.subscribe,n.getSnapshot,void 0,e,t)},n);var n}var Oe=Symbol(),je=0;function qe(){}function Ce(e){return e!==Oe}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=A.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 Ie(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)||!Ie(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 Te(e,t){const n=Object.prototype.hasOwnProperty;function r(e,t){for(const n of e.keys())if(Te(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--&&Te(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(!Te(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)||!Te(e[r],t[r]))return!1}return Object.keys(t).length===i}}return e!=e&&t!=t}var ze=new WeakMap,Me=new WeakMap;function De(e,t=Ke,n=Te){return function(e,t,n){let r=Me.get(e);r||(r=new Map,Me.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]=Ee(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 ze.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(()=>{}),ze.set(f,s),o.set(n,f),f}(e,t,n)}var Ke=e=>e,$e=(e,t,n)=>{if(!t.length)return n;const[r,...o]=t,i=e[r],s=$e(i,o,n);if(Te(i,s))return e;const c=Array.isArray(e)?e.slice():{...e};return c[r]=s,c},Ee=(e,t,n)=>{const r=new Set,o=R(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!==Ke)throw new Error("Cannot set a value with a selector");e.setState(e=>$e(e,n,r),!0)}]},[Pe,Le]=[!0,!1],xe={error:Pe,lastFetchedAt:Pe,queryCache:Pe,queryKey:Pe,status:Pe,enabled:Le,fetch:Le,getCacheEntry:Le,getData:Le,getStatus:Le,isDataExpired:Le,isStale:Le,reset:Le},Re=A.seconds(5);function Ne(t,n,o){r();const l="function"==typeof n?n:_e,f="object"==typeof n?n:o,d=f&&"storageKey"in f?f:void 0,{fetcher:y,onError:p,onFetched:h,setData:g,transform:b,abortInterruptedFetches:m=!0,cacheTime:S=A.days(7),debugMode:v=!1,disableAutoRefetching:w=!1,disableCache:O=!1,enabled:q=!0,keepPreviousData:C=!1,maxRetries:F=5,paramChangeThrottle:I=!1,params:k,retryDelay:T=We,suppressStaleTimeWarning:z=!1,useParsableQueryKeys:M=!0}=t;let D="function"==typeof t.staleTime?A.minutes(2):t.staleTime??A.minutes(2);s&&!w&&!z&&D<Re&&console.warn(`[createQueryStore${d?.storageKey?`: ${d.storageKey}`:""}] ❌ Stale times under ${Re/1e3} seconds are not recommended. Provided staleTime: ${D/1e3} seconds`);const K=M?Je:Ve,E=new Error("[createQueryStore: AbortError] Fetch interrupted"),P="function"==typeof S,L=s&&v,x=Object.keys(t.params??Object.create(null));let R=null,N=null,W=null,V=[],J=!1,Q=!1,B=null,U=null,H=null,_=null,G=null;const X={enabled:"function"!=typeof q&&q,error:null,lastFetchedAt:null,queryCache:{},queryKey:"",status:Ae.Idle},Z=new Fe({disableAutoRefetching:w,initialEnabled:X.enabled}),ee=()=>{B&&(U=null,B.abort(),B=null)},te=(e,n,r)=>{const o=r.setState,s=(e,t)=>{const n="function"==typeof e;if(n||void 0!==e.enabled){let t;const i=o(o=>{const i=n?e(o):e,s=void 0!==i.enabled?i.enabled:o.enabled;return s!==o.enabled&&(t=()=>((e,t)=>{e!==t&&G!==t&&(G=t,Z.setEnabled(t),t?queueMicrotask(()=>r.getState().fetch(void 0,{updateQueryKey:!0})):(H||m)&&(m&&ee(),H&&(clearTimeout(H),H=null)))})(o.enabled,s)),i});return t?.(),i}return o(e)};r.setState=s,Z.init({onSubscribe:(r,o,i)=>{if(N||R||!k&&"function"!=typeof t.enabled&&"function"!=typeof t.staleTime){if(r)if(o){const t=He(R,N),r=K(t),o=n();o.queryKey!==r&&e(e=>({...e,queryKey:r})),o.isStale()?f.fetch(t,void 0,!0):c(t,void 0)}else w&&!i&&f.fetch(void 0,void 0,!0)}else J=!0},onLastUnsubscribe:e=>{H&&(clearTimeout(H),H=null),m&&!e&&ee()}});const c=(e,t)=>{if(w||t?.skipStoreUpdates)return;if(D<=0||D===1/0)return;H&&(clearTimeout(H),H=null);const r=K(e),o=n(),i=(O?_===r&&o.lastFetchedAt:o.queryCache[r]?.lastFetchedAt)||null,s=i?D-(Date.now()-i):D;H=setTimeout(()=>{const t=Z.get();t.enabled&&t.subscriptionCount>0&&f.fetch(e,{force:!0},!0)},s)},f={...l(s,n,r),...X,async fetch(t,r,o=!1){const l=Z.get();if(!r?.force&&!r?.skipStoreUpdates&&!l.enabled)return null;const v=n(),w=v.error,j=v.queryKey,q=v.status,A=Ue(R,N,x,t),I=K(A),k=r?.staleTime??D,z=q===Ae.Loading,M=!!r?.skipStoreUpdates,$="boolean"==typeof r?.updateQueryKey?r.updateQueryKey:o?C:!M,W=o||!M&&($||j===I);if(U?.promise&&U.key===I&&z)return L&&console.log("[🔄 Using Active Fetch 🔄] for params:",JSON.stringify(A)),U.promise;if(m&&!M&&!1!==r?.updateQueryKey&&ee(),!r?.force){const t=v.lastFetchedAt,n=v.queryCache[I],o=n?.lastFetchedAt,i=n?.errorInfo,s=i&&i.retryCount>=F,a=(O?_===I&&t:o)||null;if(a&&!(Date.now()-a>=k)&&(!i||s||M))return W&&!M&&!H&&l.subscriptionCount>0&&0!==D&&D!==1/0&&c(A,r),$&&e(e=>e.queryKey!==I?{...e,queryKey:I}:e),L&&console.log("[💾 Returning Cached Data 💾] for params:",JSON.stringify(A)),n?.data??null}!M&&W&&(H&&(clearTimeout(H),H=null),!w&&z||e(e=>({...e,error:null,status:Ae.Loading})),U={key:I});const V=r?.cacheTime??(P?S(A):S),J=async()=>{try{L&&(o||!t||Ge(t,x)?console.log("[🔄 Fetching 🔄] for params:",JSON.stringify(A)):console.log("[🔄 Fetching with Partial Params 🔄]\n","- Provided params:",`${JSON.stringify(t)}\n`,"- Filled in params:",`${JSON.stringify(Object.fromEntries(Object.keys(A).filter(e=>!(e in t)).map(e=>[e,A[e]])))}`));const n=await(m&&!M&&W?(async e=>{const t=new AbortController;B=t;try{return await new Promise((n,r)=>{t.signal.addEventListener("abort",()=>r(E),{once:!0}),Promise.resolve(y(e,t)).then(n,r)})}finally{B===t&&(B=null)}})(A):y(A,null)),u=Date.now();let l;L&&console.log("[✅ Fetch Successful ✅] for params:",JSON.stringify(A));try{l=b?b(n,A):n}catch(e){throw new i(`[createQueryStore: ${d?.storageKey||I}]: transform failed`,e)}if(M)return L&&console.log("[🥷 Successful Parallel Fetch 🥷] for params:",JSON.stringify(A)),"withCache"===r.skipStoreUpdates&&e(e=>{if(!g)return O?{...e,queryCache:{...e.queryCache,[I]:{cacheTime:V,data:l,errorInfo:null,lastFetchedAt:u}}}:e;let t=e;const n=t.queryCache[I];return g({data:l,params:A,queryKey:I,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!O&&Object.is(n,t.queryCache[I])&&(t={...t,queryCache:{...t.queryCache,[I]:{cacheTime:V,data:l,errorInfo:null,lastFetchedAt:u}}}),t}),l;if((g?s:e)(e=>{let t={...e,error:null,lastFetchedAt:u,queryKey:$?I:e.queryKey,status:Ae.Success};if(g||O){if(g){L&&console.log("[💾 Setting Data 💾] for params:",JSON.stringify(A));const e=t.queryCache[I];g({data:l,params:A,queryKey:I,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!O&&Object.is(e,t.queryCache[I])&&(t.queryCache={...t.queryCache,[I]:{cacheTime:V,data:null,errorInfo:null,lastFetchedAt:u}})}}else L&&console.log("[💾 Setting Cache 💾] for params:",JSON.stringify(A),"| Has previous data?:",!!t.queryCache[I]?.data),t.queryCache={...t.queryCache,[I]:{cacheTime:V,data:l,errorInfo:null,lastFetchedAt:u}};return O||S===1/0?t:Xe(C,I,t)}),W&&(_=I,c(A,r)),h)try{h({data:l,fetch:f.fetch,params:A,set:s})}catch(e){a.error(new i(`[createQueryStore: ${d?.storageKey||I}]: onFetched callback failed`,e))}return l??null}catch(s){if(s===E)return L&&console.log("[❌ Fetch Aborted ❌] for params:",JSON.stringify(A)),null;const c=!o&&!0===r?.throwOnError,l=u(s);if(M||!W){if(a.error(new i(`[createQueryStore: ${d?.storageKey||I}]: Failed to fetch data`,l)),c)throw l;return null}const y=O?void 0:n().queryCache[I],h=y?.errorInfo?.retryCount??0,g=h+1;if(p?.(l,h),h<F){if(Z.get().subscriptionCount>0){const e="function"==typeof T?T(g,l):T;e!==1/0&&(H&&clearTimeout(H),H=setTimeout(()=>{const{enabled:e,subscriptionCount:n}=Z.get();e&&n>0&&f.fetch(t,{force:!0},!0)},e))}e(e=>({...e,error:l,queryCache:{...e.queryCache,[I]:{cacheTime:y?.cacheTime??V,data:y?.data??null,lastFetchedAt:y?.lastFetchedAt??null,errorInfo:{error:l,lastFailedAt:Date.now(),retryCount:g}}},queryKey:$?I:e.queryKey,status:Ae.Error}))}else e(e=>({...e,error:l,queryCache:{...e.queryCache,[I]:{cacheTime:y?.cacheTime??V,data:y?.data??null,lastFetchedAt:y?.lastFetchedAt??null,errorInfo:{error:l,lastFailedAt:Date.now(),retryCount:F}}},queryKey:$?I:e.queryKey,status:Ae.Error}));if(a.error(new i(`[createQueryStore: ${d?.storageKey||I}]: Failed to fetch data`,l)),c)throw l;return null}finally{!M&&W&&(U=null)}};return M||!W?J():(U={key:I,promise:J()}).promise},getCacheEntry(e){if(O)return null;const t=n(),r=e?"string"==typeof e?e:K(Ue(R,N,x,e)):t.queryKey;return t.queryCache[r]??null},getData(e){if(O)return null;const t=n().getCacheEntry(e);return t&&null!==t.data?C?t.data:t.lastFetchedAt&&Date.now()-t.lastFetchedAt>=t.cacheTime?null:t.data:null},getStatus:function(e){switch(e){case"isIdle":return n().status===Ae.Idle;case"isLoading":return n().status===Ae.Loading;case"isSuccess":{const e=n(),t=e.queryCache[e.queryKey]?.lastFetchedAt;return"number"==typeof t||e.status===Ae.Success}case"isError":case"isInitialLoad":case void 0:{const t=n(),r=t.queryCache[t.queryKey],o=(O?_===t.queryKey&&t.lastFetchedAt:r?.lastFetchedAt)||null,i=t.status;switch(e){case"isError":{const e=t.queryCache[t.queryKey];return O?"error"!==i:"number"==typeof e?.errorInfo?.lastFailedAt}case"isInitialLoad":return!o&&i===Ae.Loading}return{isError:i===Ae.Error,isIdle:i===Ae.Idle,isLoading:i===Ae.Loading,isInitialLoad:!o&&i===Ae.Loading,isSuccess:i===Ae.Success}}}},isDataExpired(e){const t=n(),r=t.queryCache[t.queryKey],o=t.queryKey,i=t.lastFetchedAt,s=(O?_===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=(O?_===r&&t.lastFetchedAt:t.queryCache[r]?.lastFetchedAt)||null;if(!o)return!0;const i=e??D;return Date.now()-o>=i},reset(t=!1){for(const e of V)e();V=[],R=null,N=null,W=null,ee(),H&&(clearTimeout(H),H=null),U=null,_=null,t&&e(e=>({...e,...X}))}},v=r.subscribe;return r.subscribe=(...e)=>{const t=Q?()=>{}:Z.subscribe(),n=1===e.length?v(e[0]):v(e[0],e[1],e[2]);return e=>{t(e),n()}},f},ne=d?.storageKey?Y(te,Object.assign(Object.create(null),d,{partialize:et(C,d.partialize)})):f&&!("storageKey"in f)?Y(te,f):Y(te),re=ne.getState(),oe=re.error,ie=re.enabled,se=re.queryKey;if(se&&!oe&&(_=se),Q=!0,k||"function"==typeof t.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(!c(t,e))continue;const s=t[e];if(Ye(s)){const t=s(De,n);r[e]=t,i[e]=t.value}else Ze(s)&&(o[e]=s,i[e]=s)}let s,a=null,u=null;if(Ye(e)){const t=e(De,n);s=t.value,a=t}else s=e,u=e;return{attachVals:r,directValues:o,enabledAttachVal:a,enabledDirectValue:u,resolvedEnabled:s,resolvedParams:i}}(q,k,ne);R={enabled:t,params:r},N={enabled:n,params:e}}"function"==typeof t.staleTime&&(W=t.staleTime(De,ne),D=W.value);const ce=function(){let e,t=!1;return function(...n){e=n,t||(t=!0,queueMicrotask(()=>{t=!1,(e=>{re.fetch(e??He(R,N),{updateQueryKey:C})})(...e)}))}}();function ae(){let e;if(!C){e=He(R,N);const t=K(e);ne.setState(e=>({...e,queryKey:t}))}ce(e)}const ue=e||!I?ae:j(ae,"number"==typeof I?I:I.delay,"number"==typeof I?{leading:!1,maxWait:I,trailing:!0}:I);if(R?.enabled){const e=R.enabled,t=ze.get(e);if(t){let n=e.value;ie!==n&&ne.setState(e=>({...e,enabled:n})),n&&Z.setEnabled(n),L&&console.log("[🌀 Enabled Subscription 🌀] Initial value:",n);const r=t(()=>{const t=e.value;t!==n&&(L&&console.log("[🌀 Enabled Change 🌀] - [Old]:",`${n},`,"[New]:",t),n=t,ne.setState(e=>({...e,enabled:t})))});V.push(r)}}else ie!==X.enabled&&ne.setState(e=>({...e,enabled:X.enabled}));for(const e in R?.params){const t=R.params[e];if(!t)continue;const n=ze.get(t);if(L&&console.log("[🌀 Param Subscription 🌀] Subscribed to param:",e),n){let r=t.value;const o=n(()=>{const n=t.value;Te(r,n)||(L&&console.log("[🌀 Param Change 🌀] -",e,"- [Old]:",`${r?.toString()},`,"[New]:",n?.toString()),r=n,ue())});V.push(o)}}if(W){const e=ze.get(W);if(e){const t=W;let n=t.value;L&&console.log("[🌀 StaleTime Subscription 🌀] Initial value:",n);const r=e(()=>{const e=t.value;e!==n&&(L&&console.log("[🌀 StaleTime Change 🌀] - [Old]:",`${n},`,"[New]:",e),n=e,D=e,ne.getState().fetch())});V.push(r)}}return Q=!1,J&&queueMicrotask(ue),le=ne,fe=$.QueryStore,Object.assign(le,{[fe]:!0});var le,fe}function We(e,t){const n=t?.baseDelay??A.seconds(5),r=t?.maxDelay??A.minutes(5),o=Math.pow(2,e);return Math.min(n*o,r)}function Ve(e){return JSON.stringify(Object.keys(e).sort().map(t=>e[t]))}function Je(e){return JSON.stringify(Be(e))}function Qe(e){return JSON.parse(e)}function Be(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?Be(r):r,t},{})}function Ue(e,t,n,r){return r?Ge(r,n)?r:{...He(e,t),...r}:He(e,t)}function He(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 _e(){return Object.create(null)}function Ge(e,t){if(!e)return!1;for(const n of t)if(!(n in e))return!1;return!0}function Xe(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(!c(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?(s[e]={...a,errorInfo:{...a.errorInfo,retryCount:0}},i=!0):s[e]=a:i=!0}return i?{...n,queryCache:s}:n}function Ye(e){return"function"==typeof e}function Ze(e){return!Ye(e)}function et(e,t){return n=>{const r={...n},o={};for(const e in r)c(r,e)&&e in xe&&(xe[e]&&(o[e]=r[e]),delete r[e]);return{...t?t(r):F(r),...Xe(e,null,o)}}}function tt(e,t,n){const r="function"==typeof t,o=r?t:void 0,i=r?n:t,s=new Set,c=we(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),P(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 nt=Symbol(),rt=Object.freeze({debugMode:!1,enabled:!0,equalityFn:Object.is,fireImmediately:!1});function ot(e,t,n,r=rt){const o=function(){const e=S(nt);return e.current===nt&&(e.current=function(e,t,n){return{selector:e,react:t,isActive:!1,options:ct(n),resubscribe:()=>{},unsubscribe:()=>{}}}(t,n,r)),e}(),i=function(e){return"function"==typeof e?rt.enabled:e?.enabled??rt.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??rt)}(o,r),m(()=>{if(i)return st(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 it=Object.freeze({fireImmediately:!1,forceResubscribe:!1});function st(e,t,n=it){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=it)=>st(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 ct(e){return"function"==typeof e?{equalityFn:e}:e??rt}var at=Symbol();function ut(e){const t=S(at);return t.current===at&&(t.current=e()),t.current}function lt(e,t){const n=function(e){const t=e.getState(),n=Object.create(null);if(s&&("object"!=typeof t||null===t))throw new Error("[createStoreActions]: State is not an object");if(J(e)){for(const r in t)dt(t,r)&&(n[r]=ft(e,r));return n}for(const e in t)dt(t,e)&&(n[e]=t[e]);return n}(e);return t?Object.assign(n,t):n}function ft(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 dt(e,t){return"function"==typeof e[t]}export{Ae as QueryStatuses,E as applyStateUpdate,Y as createBaseStore,we as createDerivedStore,Ne as createQueryStore,lt as createStoreActions,tt as createVirtualStore,Ie as deepEqual,We as defaultRetryDelay,P as destroyStore,L as destroyStores,Ve as getLegacyQueryKey,Je as getQueryKey,x as getStoreName,W as isDerivedStore,V as isPersistedStore,N as isQueryStore,J as isVirtualStore,Qe as parseQueryKey,ke as shallowEqual,A as time,ot as useListen,ut as useStableValue};
1
+ import{noop as e}from"./chunk-V4LHP7LR.mjs";import{useLayoutEffect as t,useRef as r,useSyncExternalStore as n,useDebugValue as o}from"react";import{baseStore as u,derivedStore as c,queryStore as i,getQueryKey as s,parseQueryKey as a,virtualStore as l}from"./internal/runtime.mjs";export{QueryStatuses,StoresError,applyStateUpdate,configureStores,createStoreActions,deepEqual,defaultRetryDelay,destroyStore,destroyStores,getStoreName,hasGetSnapshot,identity,isDerivedStore,isPersistedStore,isQueryStore,isVirtualStore,nullObject,replacer,reviver,shallowEqual,time}from"./internal/runtime.mjs";var S=Symbol("empty selection"),m=Object.is;function f(e,t){return r=>(function(e){e.committedEqualityFn=e.equalityFn,e.committedSelector=e.selector,e.committedSource=e.source,e.committedValue=e.value===S?d(e):e.value}(e),t(n=>{e.latestSnapshot=n,e.latestSource=t;const o=e.committedValue;if(o===S||e.committedSource!==t)return void r();const u=e.committedSelector,c=e.committedEqualityFn;if(e.selector===u&&e.equalityFn===c){const t=u(n);if(c===m?m(o,t):c(o,t))return;return e.committedValue=t,e.value=t,e.valueEqualityFn=c,e.valueSelector=u,e.valueSnapshot=n,void r()}if(e.source!==t)return void r();const i=e.value;if(i===S)return;const s=e.selector(n),a=e.equalityFn(i,s);e.committedEqualityFn=e.equalityFn,e.committedSelector=e.selector,e.committedValue=p(e,n,a?i:s),a||r()}))}function d(e){const t=function(e){if(e.latestSource===e.source&&e.latestSnapshot!==S)return e.latestSnapshot;const t=e.getStoreSnapshot();return e.latestSnapshot=t,e.latestSource=e.source,t}(e);return b(e,t)}function b(e,t){const r=e.value;if(r!==S&&m(e.valueSnapshot,t)&&e.valueSelector===e.selector&&e.valueEqualityFn===e.equalityFn)return r;const n=e.selector(t);if(r!==S&&(e.equalityFn===m?m(r,n):e.equalityFn(r,n)))return p(e,t,r);const o=e.committedValue;return o!==S&&o!==r&&e.committedSource===e.source&&(e.equalityFn===m?m(o,n):e.equalityFn(o,n))?p(e,t,o):p(e,t,n)}function p(e,t,r){return e.value=r,e.valueEqualityFn=e.equalityFn,e.valueSelector=e.selector,e.valueSnapshot=t,r}function y(t,u,c,i){return Object.assign(function(s,a){return function(t,u,c,i,s=m){const a=r(null);let l=t,p=u,y=c;if(i){let r=a.current;null===r&&(r=function(t,r,n,o,u){const c={committedEqualityFn:u,committedSelector:o,committedSource:t,committedValue:S,equalityFn:u,getSelectedServerSnapshot:()=>function(e){return b(e,(e.getServerStoreSnapshot??e.getStoreSnapshot)())}(c),getSelectedSnapshot:()=>d(c),getServerStoreSnapshot:n,getStoreSnapshot:r,latestSnapshot:S,latestSource:S,selector:o,selectedSource:t,selectedSubscribe:()=>e,source:t,value:S,valueEqualityFn:u,valueSelector:o,valueSnapshot:S};return c.selectedSubscribe=f(c,t),c}(t,u,c,i,s),a.current=r),function(e,t,r,n,o,u){e.source===t&&e.getStoreSnapshot===r||(e.latestSnapshot=S),e.source=t,e.getStoreSnapshot=r,e.getServerStoreSnapshot=n,e.selector=o,e.equalityFn=u,e.selectedSource!==t&&(e.selectedSource=t,e.selectedSubscribe=f(e,t))}(r,t,u,c,i,s),l=r.selectedSubscribe,p=r.getSelectedSnapshot,y=void 0===c?void 0:r.getSelectedServerSnapshot}const v=n(l,p,y);return o(v),v}(t.subscribe,u,c,s,a??i)},t)}function v(e,t){const r=u(e,t);return y(r,r.getState,r.getInitialState,Object.is)}function g(e,t=Object.is){const r=c(e,t);return y(r,r.getSnapshot)}function h(e,t,r){const n=i(e,t,r);return y(n,n.getState,n.getInitialState,Object.is)}function q(e){return s(e)}function F(e){return a(e)}function j(e,t,r){const n=l(e,t,r);return y(n,n.getState,n.getInitialState)}var E=Symbol(),A=Object.freeze({debugMode:!1,enabled:!0,equalityFn:Object.is,fireImmediately:!1});function O(e,n,o,u=A){const c=function(){const e=r(E);return e.current===E&&(e.current=function(e,t,r){return{selector:e,react:t,isActive:!1,options:L(r),resubscribe:()=>{},unsubscribe:()=>{}}}(n,o,u)),e}(),i=function(e){return"function"==typeof e?A.enabled:e?.enabled??A.enabled}(u);return c.current.react=o,c.current.selector=n,function(e,t){"function"==typeof t?e.current.options.equalityFn=t:t&&(e.current.options=t??A)}(c,u),t(()=>{if(i)return I(e,c),()=>function(e){e.current.options.debugMode&&console.log("[🗑️ useListen 🗑️] Detaching listener"),e.current.resubscribe=()=>{},e.current.unsubscribe(),e.current.unsubscribe=()=>{},e.current.isActive=!1}(c)},[i,e]),c}var V=Object.freeze({fireImmediately:!1,forceResubscribe:!1});function I(e,t,r=V){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=V)=>I(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 L(e){return"function"==typeof e?{equalityFn:e}:e??A}var Q=Symbol();function R(e){const t=r(Q);return t.current===Q&&(t.current=e()),t.current}export{v as createBaseStore,g as createDerivedStore,h as createQueryStore,j as createVirtualStore,q as getQueryKey,F as parseQueryKey,O as useListen,R as useStableValue};