@ventlio/tanstack-query 0.6.4 → 0.6.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.mjs +31 -6
- package/dist/index.mjs.map +1 -1
- package/dist/queries/useGetInfiniteRequest.d.ts +6 -0
- package/dist/queries/useGetRequest.d.ts +10 -0
- package/dist/src/queries/useGetInfiniteRequest.js +19 -1
- package/dist/src/queries/useGetInfiniteRequest.js.map +1 -1
- package/dist/src/queries/useGetRequest.js +12 -5
- package/dist/src/queries/useGetRequest.js.map +1 -1
- package/package.json +1 -1
- package/src/queries/useGetInfiniteRequest.ts +26 -1
- package/src/queries/useGetRequest.ts +16 -5
package/dist/index.mjs
CHANGED
|
@@ -1448,6 +1448,9 @@ const useGetInfiniteRequest = ({ path, load = false, keyTracker, baseUrl, header
|
|
|
1448
1448
|
}
|
|
1449
1449
|
return paginationData.previous_page;
|
|
1450
1450
|
}, [pagination]);
|
|
1451
|
+
// Destructure queryKey from queryOptions since it's deprecated and auto-generated
|
|
1452
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
1453
|
+
const { queryKey: _deprecatedQueryKey, ...restQueryOptions } = queryOptions ?? {};
|
|
1451
1454
|
// The infinite query
|
|
1452
1455
|
const query = useInfiniteQuery({
|
|
1453
1456
|
queryKey: [path, {}],
|
|
@@ -1459,7 +1462,7 @@ const useGetInfiniteRequest = ({ path, load = false, keyTracker, baseUrl, header
|
|
|
1459
1462
|
getNextPageParam,
|
|
1460
1463
|
getPreviousPageParam,
|
|
1461
1464
|
enabled: load === true && !isFutureQueriesPaused,
|
|
1462
|
-
...
|
|
1465
|
+
...restQueryOptions,
|
|
1463
1466
|
});
|
|
1464
1467
|
// Track query key for external reference
|
|
1465
1468
|
useEffect(() => {
|
|
@@ -1494,6 +1497,17 @@ const useGetInfiniteRequest = ({ path, load = false, keyTracker, baseUrl, header
|
|
|
1494
1497
|
const refetch = useCallback(() => {
|
|
1495
1498
|
return query.refetch();
|
|
1496
1499
|
}, [query]);
|
|
1500
|
+
/**
|
|
1501
|
+
* Fetch data with a new URL path (for dynamic filtering)
|
|
1502
|
+
* This invalidates the current query and fetches fresh data with the new path
|
|
1503
|
+
* @deprecated Consider using refetch() with updated path prop instead
|
|
1504
|
+
*/
|
|
1505
|
+
const get = useCallback(async (newPath) => {
|
|
1506
|
+
// Update the query key and refetch
|
|
1507
|
+
queryClient.invalidateQueries({ queryKey: [path, {}] });
|
|
1508
|
+
// Make a direct request with the new path
|
|
1509
|
+
return executeRequest(newPath);
|
|
1510
|
+
}, [queryClient, path, executeRequest]);
|
|
1497
1511
|
/**
|
|
1498
1512
|
* Get all items from all pages flattened into a single array
|
|
1499
1513
|
*/
|
|
@@ -1518,6 +1532,8 @@ const useGetInfiniteRequest = ({ path, load = false, keyTracker, baseUrl, header
|
|
|
1518
1532
|
data: query.data,
|
|
1519
1533
|
error: query.error,
|
|
1520
1534
|
isLoading: query.isLoading || isFutureQueriesPaused,
|
|
1535
|
+
/** @deprecated Use isLoading instead */
|
|
1536
|
+
isInitialLoading: query.isLoading || isFutureQueriesPaused,
|
|
1521
1537
|
isError: query.isError,
|
|
1522
1538
|
isSuccess: query.isSuccess,
|
|
1523
1539
|
isFetching: query.isFetching,
|
|
@@ -1531,6 +1547,8 @@ const useGetInfiniteRequest = ({ path, load = false, keyTracker, baseUrl, header
|
|
|
1531
1547
|
fetchNextPage,
|
|
1532
1548
|
fetchPreviousPage,
|
|
1533
1549
|
refetch,
|
|
1550
|
+
/** @deprecated Use refetch() instead */
|
|
1551
|
+
get,
|
|
1534
1552
|
// Utilities
|
|
1535
1553
|
getAllItems,
|
|
1536
1554
|
getLatestPaginationData,
|
|
@@ -1696,25 +1714,32 @@ const useGetRequest = ({ path, load = false, queryOptions, keyTracker, baseUrl,
|
|
|
1696
1714
|
}, [constructPaginationLink, requestPath]);
|
|
1697
1715
|
/**
|
|
1698
1716
|
* Imperative GET request - fetches data from a dynamic URL
|
|
1699
|
-
* Uses queryClient.fetchQuery for proper caching and deduplication
|
|
1717
|
+
* Uses queryClient.fetchQuery for proper caching and deduplication.
|
|
1718
|
+
* By default, also updates the component's subscription to show the new data.
|
|
1700
1719
|
*
|
|
1701
1720
|
* @param url - The URL to fetch from
|
|
1702
|
-
* @param fetchOptions - Optional query options (staleTime, gcTime,
|
|
1721
|
+
* @param fetchOptions - Optional query options (staleTime, gcTime, updateSubscription)
|
|
1722
|
+
* @param fetchOptions.updateSubscription - If true (default), updates the component's subscription to the new URL, triggering a re-render with new data. Set to false for prefetching without UI update.
|
|
1703
1723
|
* @returns Promise resolving to the response data
|
|
1704
1724
|
*/
|
|
1705
1725
|
const get = useCallback(async (url, fetchOptions) => {
|
|
1706
1726
|
if (isFutureQueriesPaused) {
|
|
1707
1727
|
throw new Error('Queries are currently paused');
|
|
1708
1728
|
}
|
|
1729
|
+
const { staleTime, gcTime, updateSubscription = true } = fetchOptions ?? {};
|
|
1730
|
+
// Update the subscription so the component re-renders with the new data
|
|
1731
|
+
if (updateSubscription) {
|
|
1732
|
+
setRequestPath(url);
|
|
1733
|
+
}
|
|
1709
1734
|
// Use fetchQuery for imperative fetching - this properly handles caching
|
|
1710
1735
|
const result = await queryClient.fetchQuery({
|
|
1711
1736
|
queryKey: [url, {}],
|
|
1712
1737
|
queryFn: () => executeRequest(url),
|
|
1713
|
-
staleTime
|
|
1714
|
-
gcTime
|
|
1738
|
+
staleTime,
|
|
1739
|
+
gcTime,
|
|
1715
1740
|
});
|
|
1716
1741
|
return result;
|
|
1717
|
-
}, [queryClient, executeRequest, isFutureQueriesPaused]);
|
|
1742
|
+
}, [queryClient, executeRequest, isFutureQueriesPaused, setRequestPath]);
|
|
1718
1743
|
/**
|
|
1719
1744
|
* Refetch the current query with the existing path
|
|
1720
1745
|
*/
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../node_modules/use-sync-external-store/shim/index.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js","../node_modules/use-sync-external-store/shim/with-selector.js","../node_modules/@tanstack/store/dist/esm/scheduler.js","../node_modules/@tanstack/store/dist/esm/store.js","../node_modules/@tanstack/store/dist/esm/derived.js","../node_modules/@tanstack/react-store/dist/esm/index.js"],"sourcesContent":["/**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","/**\n * @license React\n * use-sync-external-store-shim.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n }\n function useSyncExternalStore$2(subscribe, getSnapshot) {\n didWarnOld18Alpha ||\n void 0 === React.startTransition ||\n ((didWarnOld18Alpha = !0),\n console.error(\n \"You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release.\"\n ));\n var value = getSnapshot();\n if (!didWarnUncachedGetSnapshot) {\n var cachedValue = getSnapshot();\n objectIs(value, cachedValue) ||\n (console.error(\n \"The result of getSnapshot should be cached to avoid an infinite loop\"\n ),\n (didWarnUncachedGetSnapshot = !0));\n }\n cachedValue = useState({\n inst: { value: value, getSnapshot: getSnapshot }\n });\n var inst = cachedValue[0].inst,\n forceUpdate = cachedValue[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n }\n function checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n }\n function useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var React = require(\"react\"),\n objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue,\n didWarnOld18Alpha = !1,\n didWarnUncachedGetSnapshot = !1,\n shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\n exports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\"),\n shim = require(\"use-sync-external-store/shim\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useSyncExternalStore = shim.useSyncExternalStore,\n useRef = React.useRef,\n useEffect = React.useEffect,\n useMemo = React.useMemo,\n useDebugValue = React.useDebugValue;\nexports.useSyncExternalStoreWithSelector = function (\n subscribe,\n getSnapshot,\n getServerSnapshot,\n selector,\n isEqual\n) {\n var instRef = useRef(null);\n if (null === instRef.current) {\n var inst = { hasValue: !1, value: null };\n instRef.current = inst;\n } else inst = instRef.current;\n instRef = useMemo(\n function () {\n function memoizedSelector(nextSnapshot) {\n if (!hasMemo) {\n hasMemo = !0;\n memoizedSnapshot = nextSnapshot;\n nextSnapshot = selector(nextSnapshot);\n if (void 0 !== isEqual && inst.hasValue) {\n var currentSelection = inst.value;\n if (isEqual(currentSelection, nextSnapshot))\n return (memoizedSelection = currentSelection);\n }\n return (memoizedSelection = nextSnapshot);\n }\n currentSelection = memoizedSelection;\n if (objectIs(memoizedSnapshot, nextSnapshot)) return currentSelection;\n var nextSelection = selector(nextSnapshot);\n if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))\n return (memoizedSnapshot = nextSnapshot), currentSelection;\n memoizedSnapshot = nextSnapshot;\n return (memoizedSelection = nextSelection);\n }\n var hasMemo = !1,\n memoizedSnapshot,\n memoizedSelection,\n maybeGetServerSnapshot =\n void 0 === getServerSnapshot ? null : getServerSnapshot;\n return [\n function () {\n return memoizedSelector(getSnapshot());\n },\n null === maybeGetServerSnapshot\n ? void 0\n : function () {\n return memoizedSelector(maybeGetServerSnapshot());\n }\n ];\n },\n [getSnapshot, getServerSnapshot, selector, isEqual]\n );\n var value = useSyncExternalStore(subscribe, instRef[0], instRef[1]);\n useEffect(\n function () {\n inst.hasValue = !0;\n inst.value = value;\n },\n [value]\n );\n useDebugValue(value);\n return value;\n};\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var React = require(\"react\"),\n shim = require(\"use-sync-external-store/shim\"),\n objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useSyncExternalStore = shim.useSyncExternalStore,\n useRef = React.useRef,\n useEffect = React.useEffect,\n useMemo = React.useMemo,\n useDebugValue = React.useDebugValue;\n exports.useSyncExternalStoreWithSelector = function (\n subscribe,\n getSnapshot,\n getServerSnapshot,\n selector,\n isEqual\n ) {\n var instRef = useRef(null);\n if (null === instRef.current) {\n var inst = { hasValue: !1, value: null };\n instRef.current = inst;\n } else inst = instRef.current;\n instRef = useMemo(\n function () {\n function memoizedSelector(nextSnapshot) {\n if (!hasMemo) {\n hasMemo = !0;\n memoizedSnapshot = nextSnapshot;\n nextSnapshot = selector(nextSnapshot);\n if (void 0 !== isEqual && inst.hasValue) {\n var currentSelection = inst.value;\n if (isEqual(currentSelection, nextSnapshot))\n return (memoizedSelection = currentSelection);\n }\n return (memoizedSelection = nextSnapshot);\n }\n currentSelection = memoizedSelection;\n if (objectIs(memoizedSnapshot, nextSnapshot))\n return currentSelection;\n var nextSelection = selector(nextSnapshot);\n if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))\n return (memoizedSnapshot = nextSnapshot), currentSelection;\n memoizedSnapshot = nextSnapshot;\n return (memoizedSelection = nextSelection);\n }\n var hasMemo = !1,\n memoizedSnapshot,\n memoizedSelection,\n maybeGetServerSnapshot =\n void 0 === getServerSnapshot ? null : getServerSnapshot;\n return [\n function () {\n return memoizedSelector(getSnapshot());\n },\n null === maybeGetServerSnapshot\n ? void 0\n : function () {\n return memoizedSelector(maybeGetServerSnapshot());\n }\n ];\n },\n [getSnapshot, getServerSnapshot, selector, isEqual]\n );\n var value = useSyncExternalStore(subscribe, instRef[0], instRef[1]);\n useEffect(\n function () {\n inst.hasValue = !0;\n inst.value = value;\n },\n [value]\n );\n useDebugValue(value);\n return value;\n };\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.development.js');\n}\n","import { Derived } from \"./derived.js\";\nconst __storeToDerived = /* @__PURE__ */ new WeakMap();\nconst __derivedToStore = /* @__PURE__ */ new WeakMap();\nconst __depsThatHaveWrittenThisTick = {\n current: []\n};\nlet __isFlushing = false;\nlet __batchDepth = 0;\nconst __pendingUpdates = /* @__PURE__ */ new Set();\nconst __initialBatchValues = /* @__PURE__ */ new Map();\nfunction __flush_internals(relatedVals) {\n const sorted = Array.from(relatedVals).sort((a, b) => {\n if (a instanceof Derived && a.options.deps.includes(b)) return 1;\n if (b instanceof Derived && b.options.deps.includes(a)) return -1;\n return 0;\n });\n for (const derived of sorted) {\n if (__depsThatHaveWrittenThisTick.current.includes(derived)) {\n continue;\n }\n __depsThatHaveWrittenThisTick.current.push(derived);\n derived.recompute();\n const stores = __derivedToStore.get(derived);\n if (stores) {\n for (const store of stores) {\n const relatedLinkedDerivedVals = __storeToDerived.get(store);\n if (!relatedLinkedDerivedVals) continue;\n __flush_internals(relatedLinkedDerivedVals);\n }\n }\n }\n}\nfunction __notifyListeners(store) {\n store.listeners.forEach(\n (listener) => listener({\n prevVal: store.prevState,\n currentVal: store.state\n })\n );\n}\nfunction __notifyDerivedListeners(derived) {\n derived.listeners.forEach(\n (listener) => listener({\n prevVal: derived.prevState,\n currentVal: derived.state\n })\n );\n}\nfunction __flush(store) {\n if (__batchDepth > 0 && !__initialBatchValues.has(store)) {\n __initialBatchValues.set(store, store.prevState);\n }\n __pendingUpdates.add(store);\n if (__batchDepth > 0) return;\n if (__isFlushing) return;\n try {\n __isFlushing = true;\n while (__pendingUpdates.size > 0) {\n const stores = Array.from(__pendingUpdates);\n __pendingUpdates.clear();\n for (const store2 of stores) {\n const prevState = __initialBatchValues.get(store2) ?? store2.prevState;\n store2.prevState = prevState;\n __notifyListeners(store2);\n }\n for (const store2 of stores) {\n const derivedVals = __storeToDerived.get(store2);\n if (!derivedVals) continue;\n __depsThatHaveWrittenThisTick.current.push(store2);\n __flush_internals(derivedVals);\n }\n for (const store2 of stores) {\n const derivedVals = __storeToDerived.get(store2);\n if (!derivedVals) continue;\n for (const derived of derivedVals) {\n __notifyDerivedListeners(derived);\n }\n }\n }\n } finally {\n __isFlushing = false;\n __depsThatHaveWrittenThisTick.current = [];\n __initialBatchValues.clear();\n }\n}\nfunction batch(fn) {\n __batchDepth++;\n try {\n fn();\n } finally {\n __batchDepth--;\n if (__batchDepth === 0) {\n const pendingUpdateToFlush = Array.from(__pendingUpdates)[0];\n if (pendingUpdateToFlush) {\n __flush(pendingUpdateToFlush);\n }\n }\n }\n}\nexport {\n __depsThatHaveWrittenThisTick,\n __derivedToStore,\n __flush,\n __storeToDerived,\n batch\n};\n//# sourceMappingURL=scheduler.js.map\n","import { __flush } from \"./scheduler.js\";\nclass Store {\n constructor(initialState, options) {\n this.listeners = /* @__PURE__ */ new Set();\n this.subscribe = (listener) => {\n var _a, _b;\n this.listeners.add(listener);\n const unsub = (_b = (_a = this.options) == null ? void 0 : _a.onSubscribe) == null ? void 0 : _b.call(_a, listener, this);\n return () => {\n this.listeners.delete(listener);\n unsub == null ? void 0 : unsub();\n };\n };\n this.setState = (updater) => {\n var _a, _b, _c;\n this.prevState = this.state;\n this.state = ((_a = this.options) == null ? void 0 : _a.updateFn) ? this.options.updateFn(this.prevState)(updater) : updater(this.prevState);\n (_c = (_b = this.options) == null ? void 0 : _b.onUpdate) == null ? void 0 : _c.call(_b);\n __flush(this);\n };\n this.prevState = initialState;\n this.state = initialState;\n this.options = options;\n }\n}\nexport {\n Store\n};\n//# sourceMappingURL=store.js.map\n","import { Store } from \"./store.js\";\nimport { __storeToDerived, __derivedToStore } from \"./scheduler.js\";\nclass Derived {\n constructor(options) {\n this.listeners = /* @__PURE__ */ new Set();\n this._subscriptions = [];\n this.lastSeenDepValues = [];\n this.getDepVals = () => {\n const prevDepVals = [];\n const currDepVals = [];\n for (const dep of this.options.deps) {\n prevDepVals.push(dep.prevState);\n currDepVals.push(dep.state);\n }\n this.lastSeenDepValues = currDepVals;\n return {\n prevDepVals,\n currDepVals,\n prevVal: this.prevState ?? void 0\n };\n };\n this.recompute = () => {\n var _a, _b;\n this.prevState = this.state;\n const { prevDepVals, currDepVals, prevVal } = this.getDepVals();\n this.state = this.options.fn({\n prevDepVals,\n currDepVals,\n prevVal\n });\n (_b = (_a = this.options).onUpdate) == null ? void 0 : _b.call(_a);\n };\n this.checkIfRecalculationNeededDeeply = () => {\n for (const dep of this.options.deps) {\n if (dep instanceof Derived) {\n dep.checkIfRecalculationNeededDeeply();\n }\n }\n let shouldRecompute = false;\n const lastSeenDepValues = this.lastSeenDepValues;\n const { currDepVals } = this.getDepVals();\n for (let i = 0; i < currDepVals.length; i++) {\n if (currDepVals[i] !== lastSeenDepValues[i]) {\n shouldRecompute = true;\n break;\n }\n }\n if (shouldRecompute) {\n this.recompute();\n }\n };\n this.mount = () => {\n this.registerOnGraph();\n this.checkIfRecalculationNeededDeeply();\n return () => {\n this.unregisterFromGraph();\n for (const cleanup of this._subscriptions) {\n cleanup();\n }\n };\n };\n this.subscribe = (listener) => {\n var _a, _b;\n this.listeners.add(listener);\n const unsub = (_b = (_a = this.options).onSubscribe) == null ? void 0 : _b.call(_a, listener, this);\n return () => {\n this.listeners.delete(listener);\n unsub == null ? void 0 : unsub();\n };\n };\n this.options = options;\n this.state = options.fn({\n prevDepVals: void 0,\n prevVal: void 0,\n currDepVals: this.getDepVals().currDepVals\n });\n }\n registerOnGraph(deps = this.options.deps) {\n for (const dep of deps) {\n if (dep instanceof Derived) {\n dep.registerOnGraph();\n this.registerOnGraph(dep.options.deps);\n } else if (dep instanceof Store) {\n let relatedLinkedDerivedVals = __storeToDerived.get(dep);\n if (!relatedLinkedDerivedVals) {\n relatedLinkedDerivedVals = /* @__PURE__ */ new Set();\n __storeToDerived.set(dep, relatedLinkedDerivedVals);\n }\n relatedLinkedDerivedVals.add(this);\n let relatedStores = __derivedToStore.get(this);\n if (!relatedStores) {\n relatedStores = /* @__PURE__ */ new Set();\n __derivedToStore.set(this, relatedStores);\n }\n relatedStores.add(dep);\n }\n }\n }\n unregisterFromGraph(deps = this.options.deps) {\n for (const dep of deps) {\n if (dep instanceof Derived) {\n this.unregisterFromGraph(dep.options.deps);\n } else if (dep instanceof Store) {\n const relatedLinkedDerivedVals = __storeToDerived.get(dep);\n if (relatedLinkedDerivedVals) {\n relatedLinkedDerivedVals.delete(this);\n }\n const relatedStores = __derivedToStore.get(this);\n if (relatedStores) {\n relatedStores.delete(dep);\n }\n }\n }\n }\n}\nexport {\n Derived\n};\n//# sourceMappingURL=derived.js.map\n","import { useSyncExternalStoreWithSelector } from \"use-sync-external-store/shim/with-selector.js\";\nexport * from \"@tanstack/store\";\nfunction useStore(store, selector = (d) => d) {\n const slice = useSyncExternalStoreWithSelector(\n store.subscribe,\n () => store.state,\n () => store.state,\n selector,\n shallow\n );\n return slice;\n}\nfunction shallow(objA, objB) {\n if (Object.is(objA, objB)) {\n return true;\n }\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false;\n }\n if (objA instanceof Map && objB instanceof Map) {\n if (objA.size !== objB.size) return false;\n for (const [k, v] of objA) {\n if (!objB.has(k) || !Object.is(v, objB.get(k))) return false;\n }\n return true;\n }\n if (objA instanceof Set && objB instanceof Set) {\n if (objA.size !== objB.size) return false;\n for (const v of objA) {\n if (!objB.has(v)) return false;\n }\n return true;\n }\n const keysA = Object.keys(objA);\n if (keysA.length !== Object.keys(objB).length) {\n return false;\n }\n for (let i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !Object.is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n return true;\n}\nexport {\n shallow,\n useStore\n};\n//# sourceMappingURL=index.js.map\n"],"names":["require$$0","require$$1","useSyncExternalStoreWithSelector"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9]}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../node_modules/use-sync-external-store/shim/index.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js","../node_modules/use-sync-external-store/shim/with-selector.js","../node_modules/@tanstack/store/dist/esm/scheduler.js","../node_modules/@tanstack/store/dist/esm/store.js","../node_modules/@tanstack/store/dist/esm/derived.js","../node_modules/@tanstack/react-store/dist/esm/index.js"],"sourcesContent":["/**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","/**\n * @license React\n * use-sync-external-store-shim.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n }\n function useSyncExternalStore$2(subscribe, getSnapshot) {\n didWarnOld18Alpha ||\n void 0 === React.startTransition ||\n ((didWarnOld18Alpha = !0),\n console.error(\n \"You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release.\"\n ));\n var value = getSnapshot();\n if (!didWarnUncachedGetSnapshot) {\n var cachedValue = getSnapshot();\n objectIs(value, cachedValue) ||\n (console.error(\n \"The result of getSnapshot should be cached to avoid an infinite loop\"\n ),\n (didWarnUncachedGetSnapshot = !0));\n }\n cachedValue = useState({\n inst: { value: value, getSnapshot: getSnapshot }\n });\n var inst = cachedValue[0].inst,\n forceUpdate = cachedValue[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n }\n function checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n }\n function useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var React = require(\"react\"),\n objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue,\n didWarnOld18Alpha = !1,\n didWarnUncachedGetSnapshot = !1,\n shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\n exports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\"),\n shim = require(\"use-sync-external-store/shim\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useSyncExternalStore = shim.useSyncExternalStore,\n useRef = React.useRef,\n useEffect = React.useEffect,\n useMemo = React.useMemo,\n useDebugValue = React.useDebugValue;\nexports.useSyncExternalStoreWithSelector = function (\n subscribe,\n getSnapshot,\n getServerSnapshot,\n selector,\n isEqual\n) {\n var instRef = useRef(null);\n if (null === instRef.current) {\n var inst = { hasValue: !1, value: null };\n instRef.current = inst;\n } else inst = instRef.current;\n instRef = useMemo(\n function () {\n function memoizedSelector(nextSnapshot) {\n if (!hasMemo) {\n hasMemo = !0;\n memoizedSnapshot = nextSnapshot;\n nextSnapshot = selector(nextSnapshot);\n if (void 0 !== isEqual && inst.hasValue) {\n var currentSelection = inst.value;\n if (isEqual(currentSelection, nextSnapshot))\n return (memoizedSelection = currentSelection);\n }\n return (memoizedSelection = nextSnapshot);\n }\n currentSelection = memoizedSelection;\n if (objectIs(memoizedSnapshot, nextSnapshot)) return currentSelection;\n var nextSelection = selector(nextSnapshot);\n if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))\n return (memoizedSnapshot = nextSnapshot), currentSelection;\n memoizedSnapshot = nextSnapshot;\n return (memoizedSelection = nextSelection);\n }\n var hasMemo = !1,\n memoizedSnapshot,\n memoizedSelection,\n maybeGetServerSnapshot =\n void 0 === getServerSnapshot ? null : getServerSnapshot;\n return [\n function () {\n return memoizedSelector(getSnapshot());\n },\n null === maybeGetServerSnapshot\n ? void 0\n : function () {\n return memoizedSelector(maybeGetServerSnapshot());\n }\n ];\n },\n [getSnapshot, getServerSnapshot, selector, isEqual]\n );\n var value = useSyncExternalStore(subscribe, instRef[0], instRef[1]);\n useEffect(\n function () {\n inst.hasValue = !0;\n inst.value = value;\n },\n [value]\n );\n useDebugValue(value);\n return value;\n};\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var React = require(\"react\"),\n shim = require(\"use-sync-external-store/shim\"),\n objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useSyncExternalStore = shim.useSyncExternalStore,\n useRef = React.useRef,\n useEffect = React.useEffect,\n useMemo = React.useMemo,\n useDebugValue = React.useDebugValue;\n exports.useSyncExternalStoreWithSelector = function (\n subscribe,\n getSnapshot,\n getServerSnapshot,\n selector,\n isEqual\n ) {\n var instRef = useRef(null);\n if (null === instRef.current) {\n var inst = { hasValue: !1, value: null };\n instRef.current = inst;\n } else inst = instRef.current;\n instRef = useMemo(\n function () {\n function memoizedSelector(nextSnapshot) {\n if (!hasMemo) {\n hasMemo = !0;\n memoizedSnapshot = nextSnapshot;\n nextSnapshot = selector(nextSnapshot);\n if (void 0 !== isEqual && inst.hasValue) {\n var currentSelection = inst.value;\n if (isEqual(currentSelection, nextSnapshot))\n return (memoizedSelection = currentSelection);\n }\n return (memoizedSelection = nextSnapshot);\n }\n currentSelection = memoizedSelection;\n if (objectIs(memoizedSnapshot, nextSnapshot))\n return currentSelection;\n var nextSelection = selector(nextSnapshot);\n if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))\n return (memoizedSnapshot = nextSnapshot), currentSelection;\n memoizedSnapshot = nextSnapshot;\n return (memoizedSelection = nextSelection);\n }\n var hasMemo = !1,\n memoizedSnapshot,\n memoizedSelection,\n maybeGetServerSnapshot =\n void 0 === getServerSnapshot ? null : getServerSnapshot;\n return [\n function () {\n return memoizedSelector(getSnapshot());\n },\n null === maybeGetServerSnapshot\n ? void 0\n : function () {\n return memoizedSelector(maybeGetServerSnapshot());\n }\n ];\n },\n [getSnapshot, getServerSnapshot, selector, isEqual]\n );\n var value = useSyncExternalStore(subscribe, instRef[0], instRef[1]);\n useEffect(\n function () {\n inst.hasValue = !0;\n inst.value = value;\n },\n [value]\n );\n useDebugValue(value);\n return value;\n };\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.development.js');\n}\n","import { Derived } from \"./derived.js\";\nconst __storeToDerived = /* @__PURE__ */ new WeakMap();\nconst __derivedToStore = /* @__PURE__ */ new WeakMap();\nconst __depsThatHaveWrittenThisTick = {\n current: []\n};\nlet __isFlushing = false;\nlet __batchDepth = 0;\nconst __pendingUpdates = /* @__PURE__ */ new Set();\nconst __initialBatchValues = /* @__PURE__ */ new Map();\nfunction __flush_internals(relatedVals) {\n const sorted = Array.from(relatedVals).sort((a, b) => {\n if (a instanceof Derived && a.options.deps.includes(b)) return 1;\n if (b instanceof Derived && b.options.deps.includes(a)) return -1;\n return 0;\n });\n for (const derived of sorted) {\n if (__depsThatHaveWrittenThisTick.current.includes(derived)) {\n continue;\n }\n __depsThatHaveWrittenThisTick.current.push(derived);\n derived.recompute();\n const stores = __derivedToStore.get(derived);\n if (stores) {\n for (const store of stores) {\n const relatedLinkedDerivedVals = __storeToDerived.get(store);\n if (!relatedLinkedDerivedVals) continue;\n __flush_internals(relatedLinkedDerivedVals);\n }\n }\n }\n}\nfunction __notifyListeners(store) {\n store.listeners.forEach(\n (listener) => listener({\n prevVal: store.prevState,\n currentVal: store.state\n })\n );\n}\nfunction __notifyDerivedListeners(derived) {\n derived.listeners.forEach(\n (listener) => listener({\n prevVal: derived.prevState,\n currentVal: derived.state\n })\n );\n}\nfunction __flush(store) {\n if (__batchDepth > 0 && !__initialBatchValues.has(store)) {\n __initialBatchValues.set(store, store.prevState);\n }\n __pendingUpdates.add(store);\n if (__batchDepth > 0) return;\n if (__isFlushing) return;\n try {\n __isFlushing = true;\n while (__pendingUpdates.size > 0) {\n const stores = Array.from(__pendingUpdates);\n __pendingUpdates.clear();\n for (const store2 of stores) {\n const prevState = __initialBatchValues.get(store2) ?? store2.prevState;\n store2.prevState = prevState;\n __notifyListeners(store2);\n }\n for (const store2 of stores) {\n const derivedVals = __storeToDerived.get(store2);\n if (!derivedVals) continue;\n __depsThatHaveWrittenThisTick.current.push(store2);\n __flush_internals(derivedVals);\n }\n for (const store2 of stores) {\n const derivedVals = __storeToDerived.get(store2);\n if (!derivedVals) continue;\n for (const derived of derivedVals) {\n __notifyDerivedListeners(derived);\n }\n }\n }\n } finally {\n __isFlushing = false;\n __depsThatHaveWrittenThisTick.current = [];\n __initialBatchValues.clear();\n }\n}\nfunction batch(fn) {\n __batchDepth++;\n try {\n fn();\n } finally {\n __batchDepth--;\n if (__batchDepth === 0) {\n const pendingUpdateToFlush = Array.from(__pendingUpdates)[0];\n if (pendingUpdateToFlush) {\n __flush(pendingUpdateToFlush);\n }\n }\n }\n}\nexport {\n __depsThatHaveWrittenThisTick,\n __derivedToStore,\n __flush,\n __storeToDerived,\n batch\n};\n//# sourceMappingURL=scheduler.js.map\n","import { __flush } from \"./scheduler.js\";\nclass Store {\n constructor(initialState, options) {\n this.listeners = /* @__PURE__ */ new Set();\n this.subscribe = (listener) => {\n var _a, _b;\n this.listeners.add(listener);\n const unsub = (_b = (_a = this.options) == null ? void 0 : _a.onSubscribe) == null ? void 0 : _b.call(_a, listener, this);\n return () => {\n this.listeners.delete(listener);\n unsub == null ? void 0 : unsub();\n };\n };\n this.setState = (updater) => {\n var _a, _b, _c;\n this.prevState = this.state;\n this.state = ((_a = this.options) == null ? void 0 : _a.updateFn) ? this.options.updateFn(this.prevState)(updater) : updater(this.prevState);\n (_c = (_b = this.options) == null ? void 0 : _b.onUpdate) == null ? void 0 : _c.call(_b);\n __flush(this);\n };\n this.prevState = initialState;\n this.state = initialState;\n this.options = options;\n }\n}\nexport {\n Store\n};\n//# sourceMappingURL=store.js.map\n","import { Store } from \"./store.js\";\nimport { __storeToDerived, __derivedToStore } from \"./scheduler.js\";\nclass Derived {\n constructor(options) {\n this.listeners = /* @__PURE__ */ new Set();\n this._subscriptions = [];\n this.lastSeenDepValues = [];\n this.getDepVals = () => {\n const prevDepVals = [];\n const currDepVals = [];\n for (const dep of this.options.deps) {\n prevDepVals.push(dep.prevState);\n currDepVals.push(dep.state);\n }\n this.lastSeenDepValues = currDepVals;\n return {\n prevDepVals,\n currDepVals,\n prevVal: this.prevState ?? void 0\n };\n };\n this.recompute = () => {\n var _a, _b;\n this.prevState = this.state;\n const { prevDepVals, currDepVals, prevVal } = this.getDepVals();\n this.state = this.options.fn({\n prevDepVals,\n currDepVals,\n prevVal\n });\n (_b = (_a = this.options).onUpdate) == null ? void 0 : _b.call(_a);\n };\n this.checkIfRecalculationNeededDeeply = () => {\n for (const dep of this.options.deps) {\n if (dep instanceof Derived) {\n dep.checkIfRecalculationNeededDeeply();\n }\n }\n let shouldRecompute = false;\n const lastSeenDepValues = this.lastSeenDepValues;\n const { currDepVals } = this.getDepVals();\n for (let i = 0; i < currDepVals.length; i++) {\n if (currDepVals[i] !== lastSeenDepValues[i]) {\n shouldRecompute = true;\n break;\n }\n }\n if (shouldRecompute) {\n this.recompute();\n }\n };\n this.mount = () => {\n this.registerOnGraph();\n this.checkIfRecalculationNeededDeeply();\n return () => {\n this.unregisterFromGraph();\n for (const cleanup of this._subscriptions) {\n cleanup();\n }\n };\n };\n this.subscribe = (listener) => {\n var _a, _b;\n this.listeners.add(listener);\n const unsub = (_b = (_a = this.options).onSubscribe) == null ? void 0 : _b.call(_a, listener, this);\n return () => {\n this.listeners.delete(listener);\n unsub == null ? void 0 : unsub();\n };\n };\n this.options = options;\n this.state = options.fn({\n prevDepVals: void 0,\n prevVal: void 0,\n currDepVals: this.getDepVals().currDepVals\n });\n }\n registerOnGraph(deps = this.options.deps) {\n for (const dep of deps) {\n if (dep instanceof Derived) {\n dep.registerOnGraph();\n this.registerOnGraph(dep.options.deps);\n } else if (dep instanceof Store) {\n let relatedLinkedDerivedVals = __storeToDerived.get(dep);\n if (!relatedLinkedDerivedVals) {\n relatedLinkedDerivedVals = /* @__PURE__ */ new Set();\n __storeToDerived.set(dep, relatedLinkedDerivedVals);\n }\n relatedLinkedDerivedVals.add(this);\n let relatedStores = __derivedToStore.get(this);\n if (!relatedStores) {\n relatedStores = /* @__PURE__ */ new Set();\n __derivedToStore.set(this, relatedStores);\n }\n relatedStores.add(dep);\n }\n }\n }\n unregisterFromGraph(deps = this.options.deps) {\n for (const dep of deps) {\n if (dep instanceof Derived) {\n this.unregisterFromGraph(dep.options.deps);\n } else if (dep instanceof Store) {\n const relatedLinkedDerivedVals = __storeToDerived.get(dep);\n if (relatedLinkedDerivedVals) {\n relatedLinkedDerivedVals.delete(this);\n }\n const relatedStores = __derivedToStore.get(this);\n if (relatedStores) {\n relatedStores.delete(dep);\n }\n }\n }\n }\n}\nexport {\n Derived\n};\n//# sourceMappingURL=derived.js.map\n","import { useSyncExternalStoreWithSelector } from \"use-sync-external-store/shim/with-selector.js\";\nexport * from \"@tanstack/store\";\nfunction useStore(store, selector = (d) => d) {\n const slice = useSyncExternalStoreWithSelector(\n store.subscribe,\n () => store.state,\n () => store.state,\n selector,\n shallow\n );\n return slice;\n}\nfunction shallow(objA, objB) {\n if (Object.is(objA, objB)) {\n return true;\n }\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false;\n }\n if (objA instanceof Map && objB instanceof Map) {\n if (objA.size !== objB.size) return false;\n for (const [k, v] of objA) {\n if (!objB.has(k) || !Object.is(v, objB.get(k))) return false;\n }\n return true;\n }\n if (objA instanceof Set && objB instanceof Set) {\n if (objA.size !== objB.size) return false;\n for (const v of objA) {\n if (!objB.has(v)) return false;\n }\n return true;\n }\n const keysA = Object.keys(objA);\n if (keysA.length !== Object.keys(objB).length) {\n return false;\n }\n for (let i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !Object.is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n return true;\n}\nexport {\n shallow,\n useStore\n};\n//# sourceMappingURL=index.js.map\n"],"names":["require$$0","require$$1","useSyncExternalStoreWithSelector"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAWA,IAAI,KAAK,GAAG,UAAgB,CAAC;AAC7B,CAAA,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;GAChB,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;EAC1E;AACD,CAAA,IAAI,QAAQ,GAAG,UAAU,KAAK,OAAO,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,EAAE;AAC/D,GAAE,QAAQ,GAAG,KAAK,CAAC,QAAQ;AAC3B,GAAE,SAAS,GAAG,KAAK,CAAC,SAAS;AAC7B,GAAE,eAAe,GAAG,KAAK,CAAC,eAAe;AACzC,GAAE,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;AACtC,CAAA,SAAS,sBAAsB,CAAC,SAAS,EAAE,WAAW,EAAE;AACxD,GAAE,IAAI,KAAK,GAAG,WAAW,EAAE;AAC3B,KAAI,SAAS,GAAG,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,CAAC;AAC9E,KAAI,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;AAC5B,KAAI,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAC/B,GAAE,eAAe;AACjB,KAAI,YAAY;AAChB,OAAM,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACzB,OAAM,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;AACrC,OAAM,sBAAsB,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;MAC7D;AACL,KAAI,CAAC,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC;AACnC,IAAG,CAAC;AACJ,GAAE,SAAS;AACX,KAAI,YAAY;AAChB,OAAM,sBAAsB,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;OAC5D,OAAO,SAAS,CAAC,YAAY;AACnC,SAAQ,sBAAsB,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACpE,QAAO,CAAC,CAAC;MACJ;KACD,CAAC,SAAS,CAAC;AACf,IAAG,CAAC;AACJ,GAAE,aAAa,CAAC,KAAK,CAAC,CAAC;GACrB,OAAO,KAAK,CAAC;EACd;CACD,SAAS,sBAAsB,CAAC,IAAI,EAAE;AACtC,GAAE,IAAI,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC;AAC3C,GAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;AACpB,GAAE,IAAI;AACN,KAAI,IAAI,SAAS,GAAG,iBAAiB,EAAE,CAAC;KACpC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACnC,CAAC,OAAO,KAAK,EAAE;KACd,OAAO,CAAC,CAAC,CAAC;IACX;EACF;AACD,CAAA,SAAS,sBAAsB,CAAC,SAAS,EAAE,WAAW,EAAE;GACtD,OAAO,WAAW,EAAE,CAAC;EACtB;AACD,CAAA,IAAI,IAAI;GACN,WAAW,KAAK,OAAO,MAAM;AAC/B,GAAE,WAAW,KAAK,OAAO,MAAM,CAAC,QAAQ;AACxC,GAAE,WAAW,KAAK,OAAO,MAAM,CAAC,QAAQ,CAAC,aAAa;AACtD,OAAM,sBAAsB;AAC5B,OAAM,sBAAsB,CAAC;AAC7B,CAA4B,mCAAA,CAAA,oBAAA;GAC1B,KAAK,CAAC,KAAK,KAAK,CAAC,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;ACtD3E,CAAA,YAAY,KAAK,OAAO,CAAC,GAAG,CAAC,QAAQ;AACrC,GAAE,CAAC,YAAY;AACf,KAAI,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;OAChB,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;MAC1E;AACL,KAAI,SAAS,sBAAsB,CAAC,SAAS,EAAE,WAAW,EAAE;AAC5D,OAAM,iBAAiB;AACvB,SAAQ,KAAK,CAAC,KAAK,KAAK,CAAC,eAAe;AACxC,UAAS,CAAC,iBAAiB,GAAG,CAAC,CAAC;SACxB,OAAO,CAAC,KAAK;AACrB,WAAU,gMAAgM;AAC1M,UAAS,CAAC,CAAC;AACX,OAAM,IAAI,KAAK,GAAG,WAAW,EAAE,CAAC;OAC1B,IAAI,CAAC,0BAA0B,EAAE;AACvC,SAAQ,IAAI,WAAW,GAAG,WAAW,EAAE,CAAC;AACxC,SAAQ,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;YACzB,OAAO,CAAC,KAAK;AACxB,aAAY,sEAAsE;YACvE;AACX,YAAW,0BAA0B,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC;OACD,WAAW,GAAG,QAAQ,CAAC;SACrB,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE;AACxD,QAAO,CAAC,CAAC;OACH,IAAI,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI;AACpC,SAAQ,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AACrC,OAAM,eAAe;AACrB,SAAQ,YAAY;AACpB,WAAU,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AAC7B,WAAU,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;AACzC,WAAU,sBAAsB,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;UAC7D;AACT,SAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC;AACvC,QAAO,CAAC;AACR,OAAM,SAAS;AACf,SAAQ,YAAY;AACpB,WAAU,sBAAsB,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;WAC5D,OAAO,SAAS,CAAC,YAAY;AACvC,aAAY,sBAAsB,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACxE,YAAW,CAAC,CAAC;UACJ;SACD,CAAC,SAAS,CAAC;AACnB,QAAO,CAAC;AACR,OAAM,aAAa,CAAC,KAAK,CAAC,CAAC;OACrB,OAAO,KAAK,CAAC;MACd;AACL,KAAI,SAAS,sBAAsB,CAAC,IAAI,EAAE;AAC1C,OAAM,IAAI,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC;AAC/C,OAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;AACxB,OAAM,IAAI;AACV,SAAQ,IAAI,SAAS,GAAG,iBAAiB,EAAE,CAAC;SACpC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACnC,CAAC,OAAO,KAAK,EAAE;SACd,OAAO,CAAC,CAAC,CAAC;QACX;MACF;AACL,KAAI,SAAS,sBAAsB,CAAC,SAAS,EAAE,WAAW,EAAE;OACtD,OAAO,WAAW,EAAE,CAAC;MACtB;KACD,WAAW,KAAK,OAAO,8BAA8B;AACzD,OAAM,UAAU;SACR,OAAO,8BAA8B,CAAC,2BAA2B;AACzE,OAAM,8BAA8B,CAAC,2BAA2B,CAAC,KAAK,EAAE,CAAC,CAAC;KACtE,IAAI,KAAK,GAAG,UAAgB;AAChC,OAAM,QAAQ,GAAG,UAAU,KAAK,OAAO,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,EAAE;AACjE,OAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ;AAC/B,OAAM,SAAS,GAAG,KAAK,CAAC,SAAS;AACjC,OAAM,eAAe,GAAG,KAAK,CAAC,eAAe;AAC7C,OAAM,aAAa,GAAG,KAAK,CAAC,aAAa;OACnC,iBAAiB,GAAG,CAAC,CAAC;OACtB,0BAA0B,GAAG,CAAC,CAAC;AACrC,OAAM,IAAI;SACF,WAAW,KAAK,OAAO,MAAM;AACrC,SAAQ,WAAW,KAAK,OAAO,MAAM,CAAC,QAAQ;AAC9C,SAAQ,WAAW,KAAK,OAAO,MAAM,CAAC,QAAQ,CAAC,aAAa;AAC5D,aAAY,sBAAsB;AAClC,aAAY,sBAAsB,CAAC;AACnC,KAAI,oCAA4B,CAAA,oBAAA;AAChC,OAAM,KAAK,CAAC,KAAK,KAAK,CAAC,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC;KAC5E,WAAW,KAAK,OAAO,8BAA8B;AACzD,OAAM,UAAU;SACR,OAAO,8BAA8B,CAAC,0BAA0B;AACxE,OAAM,8BAA8B,CAAC,0BAA0B,CAAC,KAAK,EAAE,CAAC,CAAC;AACzE,IAAG,GAAG,CAAA;;;;;;;;;;AC7FN;AACA,EAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;IACzC,MAAA,CAAA,OAAA,GAAiBA,4CAA4D,CAAC;AAChF,GAAC,MAAM;IACL,MAAA,CAAA,OAAA,GAAiBC,6CAA6D,CAAC;AACjF,GAAA;;;;;;;;;;;;;;;;;;;;CCKA,IAAI,KAAK,GAAG,UAAgB;GAC1B,IAAI,GAAGA,WAAA,EAAuC,CAAC;AACjD,CAAA,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;GAChB,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;EAC1E;AACD,CAAA,IAAI,QAAQ,GAAG,UAAU,KAAK,OAAO,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,EAAE;AAC/D,GAAE,oBAAoB,GAAG,IAAI,CAAC,oBAAoB;AAClD,GAAE,MAAM,GAAG,KAAK,CAAC,MAAM;AACvB,GAAE,SAAS,GAAG,KAAK,CAAC,SAAS;AAC7B,GAAE,OAAO,GAAG,KAAK,CAAC,OAAO;AACzB,GAAE,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;AACtC,CAAA,uBAAA,CAAA,gCAAwC,GAAG;AAC3C,GAAE,SAAS;AACX,GAAE,WAAW;AACb,GAAE,iBAAiB;AACnB,GAAE,QAAQ;AACV,GAAE,OAAO;GACP;AACF,GAAE,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7B,GAAE,IAAI,IAAI,KAAK,OAAO,CAAC,OAAO,EAAE;AAChC,KAAI,IAAI,IAAI,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7C,KAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;AAC3B,IAAG,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;GAC9B,OAAO,GAAG,OAAO;AACnB,KAAI,YAAY;AAChB,OAAM,SAAS,gBAAgB,CAAC,YAAY,EAAE;SACtC,IAAI,CAAC,OAAO,EAAE;AACtB,WAAU,OAAO,GAAG,CAAC,CAAC,CAAC;WACb,gBAAgB,GAAG,YAAY,CAAC;AAC1C,WAAU,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;WACtC,IAAI,KAAK,CAAC,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnD,aAAY,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC;AAC9C,aAAY,IAAI,OAAO,CAAC,gBAAgB,EAAE,YAAY,CAAC;AACvD,eAAc,QAAQ,iBAAiB,GAAG,gBAAgB,EAAE;YACjD;AACX,WAAU,QAAQ,iBAAiB,GAAG,YAAY,EAAE;UAC3C;SACD,gBAAgB,GAAG,iBAAiB,CAAC;SACrC,IAAI,QAAQ,CAAC,gBAAgB,EAAE,YAAY,CAAC,EAAE,OAAO,gBAAgB,CAAC;AAC9E,SAAQ,IAAI,aAAa,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;SAC3C,IAAI,KAAK,CAAC,KAAK,OAAO,IAAI,OAAO,CAAC,gBAAgB,EAAE,aAAa,CAAC;AAC1E,WAAU,OAAO,CAAC,gBAAgB,GAAG,YAAY,GAAG,gBAAgB,CAAC;SAC7D,gBAAgB,GAAG,YAAY,CAAC;AACxC,SAAQ,QAAQ,iBAAiB,GAAG,aAAa,EAAE;QAC5C;AACP,OAAM,IAAI,OAAO,GAAG,CAAC,CAAC;AACtB,SAAQ,gBAAgB;AACxB,SAAQ,iBAAiB;AACzB,SAAQ,sBAAsB;WACpB,KAAK,CAAC,KAAK,iBAAiB,GAAG,IAAI,GAAG,iBAAiB,CAAC;AAClE,OAAM,OAAO;AACb,SAAQ,YAAY;AACpB,WAAU,OAAO,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC;UACxC;SACD,IAAI,KAAK,sBAAsB;AACvC,aAAY,KAAK,CAAC;AAClB,aAAY,YAAY;AACxB,eAAc,OAAO,gBAAgB,CAAC,sBAAsB,EAAE,CAAC,CAAC;cACnD;AACb,QAAO,CAAC;MACH;KACD,CAAC,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,OAAO,CAAC;AACvD,IAAG,CAAC;AACJ,GAAE,IAAI,KAAK,GAAG,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,GAAE,SAAS;AACX,KAAI,YAAY;AAChB,OAAM,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;AACzB,OAAM,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;MACpB;KACD,CAAC,KAAK,CAAC;AACX,IAAG,CAAC;AACJ,GAAE,aAAa,CAAC,KAAK,CAAC,CAAC;GACrB,OAAO,KAAK,CAAC;EACd,CAAA;;;;;;;;;;;;;;;;;;;;;ACzED,CAAA,YAAY,KAAK,OAAO,CAAC,GAAG,CAAC,QAAQ;AACrC,GAAE,CAAC,YAAY;AACf,KAAI,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;OAChB,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;MAC1E;KACD,WAAW,KAAK,OAAO,8BAA8B;AACzD,OAAM,UAAU;SACR,OAAO,8BAA8B,CAAC,2BAA2B;AACzE,OAAM,8BAA8B,CAAC,2BAA2B,CAAC,KAAK,EAAE,CAAC,CAAC;KACtE,IAAI,KAAK,GAAG,UAAgB;OAC1B,IAAI,GAAGA,WAAuC,EAAA;AACpD,OAAM,QAAQ,GAAG,UAAU,KAAK,OAAO,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,EAAE;AACjE,OAAM,oBAAoB,GAAG,IAAI,CAAC,oBAAoB;AACtD,OAAM,MAAM,GAAG,KAAK,CAAC,MAAM;AAC3B,OAAM,SAAS,GAAG,KAAK,CAAC,SAAS;AACjC,OAAM,OAAO,GAAG,KAAK,CAAC,OAAO;AAC7B,OAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;AAC1C,KAAI,yDAAwC,GAAG;AAC/C,OAAM,SAAS;AACf,OAAM,WAAW;AACjB,OAAM,iBAAiB;AACvB,OAAM,QAAQ;AACd,OAAM,OAAO;OACP;AACN,OAAM,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACjC,OAAM,IAAI,IAAI,KAAK,OAAO,CAAC,OAAO,EAAE;AACpC,SAAQ,IAAI,IAAI,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACjD,SAAQ,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;AAC/B,QAAO,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;OAC9B,OAAO,GAAG,OAAO;AACvB,SAAQ,YAAY;AACpB,WAAU,SAAS,gBAAgB,CAAC,YAAY,EAAE;aACtC,IAAI,CAAC,OAAO,EAAE;AAC1B,eAAc,OAAO,GAAG,CAAC,CAAC,CAAC;eACb,gBAAgB,GAAG,YAAY,CAAC;AAC9C,eAAc,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;eACtC,IAAI,KAAK,CAAC,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;AACvD,iBAAgB,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC;AAClD,iBAAgB,IAAI,OAAO,CAAC,gBAAgB,EAAE,YAAY,CAAC;AAC3D,mBAAkB,QAAQ,iBAAiB,GAAG,gBAAgB,EAAE;gBACjD;AACf,eAAc,QAAQ,iBAAiB,GAAG,YAAY,EAAE;cAC3C;aACD,gBAAgB,GAAG,iBAAiB,CAAC;AACjD,aAAY,IAAI,QAAQ,CAAC,gBAAgB,EAAE,YAAY,CAAC;eAC1C,OAAO,gBAAgB,CAAC;AACtC,aAAY,IAAI,aAAa,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;aAC3C,IAAI,KAAK,CAAC,KAAK,OAAO,IAAI,OAAO,CAAC,gBAAgB,EAAE,aAAa,CAAC;AAC9E,eAAc,OAAO,CAAC,gBAAgB,GAAG,YAAY,GAAG,gBAAgB,CAAC;aAC7D,gBAAgB,GAAG,YAAY,CAAC;AAC5C,aAAY,QAAQ,iBAAiB,GAAG,aAAa,EAAE;YAC5C;AACX,WAAU,IAAI,OAAO,GAAG,CAAC,CAAC;AAC1B,aAAY,gBAAgB;AAC5B,aAAY,iBAAiB;AAC7B,aAAY,sBAAsB;eACpB,KAAK,CAAC,KAAK,iBAAiB,GAAG,IAAI,GAAG,iBAAiB,CAAC;AACtE,WAAU,OAAO;AACjB,aAAY,YAAY;AACxB,eAAc,OAAO,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC;cACxC;aACD,IAAI,KAAK,sBAAsB;AAC3C,iBAAgB,KAAK,CAAC;AACtB,iBAAgB,YAAY;AAC5B,mBAAkB,OAAO,gBAAgB,CAAC,sBAAsB,EAAE,CAAC,CAAC;kBACnD;AACjB,YAAW,CAAC;UACH;SACD,CAAC,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,OAAO,CAAC;AAC3D,QAAO,CAAC;AACR,OAAM,IAAI,KAAK,GAAG,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,OAAM,SAAS;AACf,SAAQ,YAAY;AACpB,WAAU,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;AAC7B,WAAU,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;UACpB;SACD,CAAC,KAAK,CAAC;AACf,QAAO,CAAC;AACR,OAAM,aAAa,CAAC,KAAK,CAAC,CAAC;OACrB,OAAO,KAAK,CAAC;AACnB,MAAK,CAAC;KACF,WAAW,KAAK,OAAO,8BAA8B;AACzD,OAAM,UAAU;SACR,OAAO,8BAA8B,CAAC,0BAA0B;AACxE,OAAM,8BAA8B,CAAC,0BAA0B,CAAC,KAAK,EAAE,CAAC,CAAC;AACzE,IAAG,GAAG,CAAA;;;;;AC/FN;AACA,CAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;GACzC,MAAA,CAAA,OAAA,GAAiBD,gCAA0E,CAAC;AAC9F,EAAC,MAAM;GACL,MAAA,CAAA,OAAA,GAAiBC,iCAA2E,CAAC;AAC/F,EAAA;;;ACLA,MAAM,gBAAgB,mBAAmB,IAAI,OAAO,EAAE,CAAC;AACvD,MAAM,gBAAgB,mBAAmB,IAAI,OAAO,EAAE,CAAC;AACvD,MAAM,6BAA6B,GAAG;AACtC,EAAE,OAAO,EAAE,EAAE;AACb,CAAC,CAAC;AACF,IAAI,YAAY,GAAG,KAAK,CAAC;AACzB,IAAI,YAAY,GAAG,CAAC,CAAC;AACrB,MAAM,gBAAgB,mBAAmB,IAAI,GAAG,EAAE,CAAC;AACnD,MAAM,oBAAoB,mBAAmB,IAAI,GAAG,EAAE,CAAC;AACvD,SAAS,iBAAiB,CAAC,WAAW,EAAE;AACxC,EAAE,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK;AACxD,IAAI,IAAI,CAAC,YAAY,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACrE,IAAI,IAAI,CAAC,YAAY,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AACtE,IAAI,OAAO,CAAC,CAAC;AACb,GAAG,CAAC,CAAC;AACL,EAAE,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE;AAChC,IAAI,IAAI,6BAA6B,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AACjE,MAAM,SAAS;AACf,KAAK;AACL,IAAI,6BAA6B,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACxD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;AACxB,IAAI,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACjD,IAAI,IAAI,MAAM,EAAE;AAChB,MAAM,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;AAClC,QAAQ,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACrE,QAAQ,IAAI,CAAC,wBAAwB,EAAE,SAAS;AAChD,QAAQ,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;AACpD,OAAO;AACP,KAAK;AACL,GAAG;AACH,CAAC;AACD,SAAS,iBAAiB,CAAC,KAAK,EAAE;AAClC,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO;AACzB,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC;AAC3B,MAAM,OAAO,EAAE,KAAK,CAAC,SAAS;AAC9B,MAAM,UAAU,EAAE,KAAK,CAAC,KAAK;AAC7B,KAAK,CAAC;AACN,GAAG,CAAC;AACJ,CAAC;AACD,SAAS,wBAAwB,CAAC,OAAO,EAAE;AAC3C,EAAE,OAAO,CAAC,SAAS,CAAC,OAAO;AAC3B,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC;AAC3B,MAAM,OAAO,EAAE,OAAO,CAAC,SAAS;AAChC,MAAM,UAAU,EAAE,OAAO,CAAC,KAAK;AAC/B,KAAK,CAAC;AACN,GAAG,CAAC;AACJ,CAAC;AACD,SAAS,OAAO,CAAC,KAAK,EAAE;AACxB,EAAE,IAAI,YAAY,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AAC5D,IAAI,oBAAoB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AACrD,GAAG;AACH,EAAE,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAE9B,EAAE,IAAI,YAAY,EAAE,OAAO;AAC3B,EAAE,IAAI;AACN,IAAI,YAAY,GAAG,IAAI,CAAC;AACxB,IAAI,OAAO,gBAAgB,CAAC,IAAI,GAAG,CAAC,EAAE;AACtC,MAAM,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAClD,MAAM,gBAAgB,CAAC,KAAK,EAAE,CAAC;AAC/B,MAAM,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE;AACnC,QAAQ,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC;AAC/E,QAAQ,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACrC,QAAQ,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAClC,OAAO;AACP,MAAM,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE;AACnC,QAAQ,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzD,QAAQ,IAAI,CAAC,WAAW,EAAE,SAAS;AACnC,QAAQ,6BAA6B,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3D,QAAQ,iBAAiB,CAAC,WAAW,CAAC,CAAC;AACvC,OAAO;AACP,MAAM,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE;AACnC,QAAQ,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzD,QAAQ,IAAI,CAAC,WAAW,EAAE,SAAS;AACnC,QAAQ,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE;AAC3C,UAAU,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAC5C,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG,SAAS;AACZ,IAAI,YAAY,GAAG,KAAK,CAAC;AACzB,IAAI,6BAA6B,CAAC,OAAO,GAAG,EAAE,CAAC;AAC/C,IAAI,oBAAoB,CAAC,KAAK,EAAE,CAAC;AACjC,GAAG;AACH;;ACnFA,MAAM,KAAK,CAAC;AACZ,EAAE,WAAW,CAAC,YAAY,EAAE,OAAO,EAAE;AACrC,IAAI,IAAI,CAAC,SAAS,mBAAmB,IAAI,GAAG,EAAE,CAAC;AAC/C,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,QAAQ,KAAK;AACnC,MAAM,IAAI,EAAE,EAAE,EAAE,CAAC;AACjB,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACnC,MAAM,MAAM,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AAChI,MAAM,OAAO,MAAM;AACnB,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACxC,QAAQ,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC;AACzC,OAAO,CAAC;AACR,KAAK,CAAC;AACN,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,OAAO,KAAK;AACjC,MAAM,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACrB,MAAM,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;AAClC,MAAM,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACnJ,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/F,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AACpB,KAAK,CAAC;AACN,IAAI,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;AAClC,IAAI,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;AAC9B,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC3B,GAAG;AACH;;ACtBA,MAAM,OAAO,CAAC;AACd,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,IAAI,CAAC,SAAS,mBAAmB,IAAI,GAAG,EAAE,CAAC;AAC/C,IAAI,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;AAC7B,IAAI,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,CAAC,UAAU,GAAG,MAAM;AAC5B,MAAM,MAAM,WAAW,GAAG,EAAE,CAAC;AAC7B,MAAM,MAAM,WAAW,GAAG,EAAE,CAAC;AAC7B,MAAM,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AAC3C,QAAQ,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACxC,QAAQ,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACpC,OAAO;AACP,MAAM,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC;AAC3C,MAAM,OAAO;AACb,QAAQ,WAAW;AACnB,QAAQ,WAAW;AACnB,QAAQ,OAAO,EAAE,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC;AACzC,OAAO,CAAC;AACR,KAAK,CAAC;AACN,IAAI,IAAI,CAAC,SAAS,GAAG,MAAM;AAC3B,MAAM,IAAI,EAAE,EAAE,EAAE,CAAC;AACjB,MAAM,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;AAClC,MAAM,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;AACtE,MAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;AACnC,QAAQ,WAAW;AACnB,QAAQ,WAAW;AACnB,QAAQ,OAAO;AACf,OAAO,CAAC,CAAC;AACT,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzE,KAAK,CAAC;AACN,IAAI,IAAI,CAAC,gCAAgC,GAAG,MAAM;AAClD,MAAM,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AAC3C,QAAQ,IAAI,GAAG,YAAY,OAAO,EAAE;AACpC,UAAU,GAAG,CAAC,gCAAgC,EAAE,CAAC;AACjD,SAAS;AACT,OAAO;AACP,MAAM,IAAI,eAAe,GAAG,KAAK,CAAC;AAClC,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;AACvD,MAAM,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;AAChD,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACnD,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,CAAC,CAAC,EAAE;AACrD,UAAU,eAAe,GAAG,IAAI,CAAC;AACjC,UAAU,MAAM;AAChB,SAAS;AACT,OAAO;AACP,MAAM,IAAI,eAAe,EAAE;AAC3B,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;AACzB,OAAO;AACP,KAAK,CAAC;AACN,IAAI,IAAI,CAAC,KAAK,GAAG,MAAM;AACvB,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;AAC7B,MAAM,IAAI,CAAC,gCAAgC,EAAE,CAAC;AAC9C,MAAM,OAAO,MAAM;AACnB,QAAQ,IAAI,CAAC,mBAAmB,EAAE,CAAC;AACnC,QAAQ,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,cAAc,EAAE;AACnD,UAAU,OAAO,EAAE,CAAC;AACpB,SAAS;AACT,OAAO,CAAC;AACR,KAAK,CAAC;AACN,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,QAAQ,KAAK;AACnC,MAAM,IAAI,EAAE,EAAE,EAAE,CAAC;AACjB,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACnC,MAAM,MAAM,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC1G,MAAM,OAAO,MAAM;AACnB,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACxC,QAAQ,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC;AACzC,OAAO,CAAC;AACR,KAAK,CAAC;AACN,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC3B,IAAI,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC;AAC5B,MAAM,WAAW,EAAE,KAAK,CAAC;AACzB,MAAM,OAAO,EAAE,KAAK,CAAC;AACrB,MAAM,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW;AAChD,KAAK,CAAC,CAAC;AACP,GAAG;AACH,EAAE,eAAe,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AAC5C,IAAI,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;AAC5B,MAAM,IAAI,GAAG,YAAY,OAAO,EAAE;AAClC,QAAQ,GAAG,CAAC,eAAe,EAAE,CAAC;AAC9B,QAAQ,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC/C,OAAO,MAAM,IAAI,GAAG,YAAY,KAAK,EAAE;AACvC,QAAQ,IAAI,wBAAwB,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACjE,QAAQ,IAAI,CAAC,wBAAwB,EAAE;AACvC,UAAU,wBAAwB,mBAAmB,IAAI,GAAG,EAAE,CAAC;AAC/D,UAAU,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;AAC9D,SAAS;AACT,QAAQ,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC3C,QAAQ,IAAI,aAAa,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACvD,QAAQ,IAAI,CAAC,aAAa,EAAE;AAC5B,UAAU,aAAa,mBAAmB,IAAI,GAAG,EAAE,CAAC;AACpD,UAAU,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;AACpD,SAAS;AACT,QAAQ,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC/B,OAAO;AACP,KAAK;AACL,GAAG;AACH,EAAE,mBAAmB,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AAChD,IAAI,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;AAC5B,MAAM,IAAI,GAAG,YAAY,OAAO,EAAE;AAClC,QAAQ,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACnD,OAAO,MAAM,IAAI,GAAG,YAAY,KAAK,EAAE;AACvC,QAAQ,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACnE,QAAQ,IAAI,wBAAwB,EAAE;AACtC,UAAU,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAChD,SAAS;AACT,QAAQ,MAAM,aAAa,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACzD,QAAQ,IAAI,aAAa,EAAE;AAC3B,UAAU,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACpC,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG;AACH;;AChHA,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE;AAC9C,EAAE,MAAM,KAAK,GAAGC,oDAAgC;AAChD,IAAI,KAAK,CAAC,SAAS;AACnB,IAAI,MAAM,KAAK,CAAC,KAAK;AACrB,IAAI,MAAM,KAAK,CAAC,KAAK;AACrB,IAAI,QAAQ;AACZ,IAAI,OAAO;AACX,GAAG,CAAC;AACJ,EAAE,OAAO,KAAK,CAAC;AACf,CAAC;AACD,SAAS,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE;AAC7B,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;AAC7B,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,EAAE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE;AAC9F,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,IAAI,IAAI,YAAY,GAAG,IAAI,IAAI,YAAY,GAAG,EAAE;AAClD,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK,CAAC;AAC9C,IAAI,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;AAC/B,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,CAAC;AACnE,KAAK;AACL,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,EAAE,IAAI,IAAI,YAAY,GAAG,IAAI,IAAI,YAAY,GAAG,EAAE;AAClD,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK,CAAC;AAC9C,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;AAC1B,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,CAAC;AACrC,KAAK;AACL,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,EAAE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;AACjD,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACzC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;AAC7G,MAAM,OAAO,KAAK,CAAC;AACnB,KAAK;AACL,GAAG;AACH,EAAE,OAAO,IAAI,CAAC;AACd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9]}
|
|
@@ -24,6 +24,8 @@ interface UseGetInfiniteRequestOptions<TResponse> extends DefaultRequestOptions
|
|
|
24
24
|
refetchOnWindowFocus?: boolean;
|
|
25
25
|
refetchOnMount?: boolean;
|
|
26
26
|
retry?: number | boolean;
|
|
27
|
+
/** @deprecated Query key is auto-generated from path. This option is ignored. */
|
|
28
|
+
queryKey?: readonly unknown[];
|
|
27
29
|
};
|
|
28
30
|
}
|
|
29
31
|
/**
|
|
@@ -34,6 +36,8 @@ export declare const useGetInfiniteRequest: <TResponse extends Record<string, an
|
|
|
34
36
|
data: InfiniteData<IRequestSuccess<TResponse>, unknown> | undefined;
|
|
35
37
|
error: IRequestError | null;
|
|
36
38
|
isLoading: boolean;
|
|
39
|
+
/** @deprecated Use isLoading instead */
|
|
40
|
+
isInitialLoading: boolean;
|
|
37
41
|
isError: boolean;
|
|
38
42
|
isSuccess: boolean;
|
|
39
43
|
isFetching: boolean;
|
|
@@ -45,6 +49,8 @@ export declare const useGetInfiniteRequest: <TResponse extends Record<string, an
|
|
|
45
49
|
fetchNextPage: () => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<InfiniteData<IRequestSuccess<TResponse>, unknown>, IRequestError>> | Promise<void>;
|
|
46
50
|
fetchPreviousPage: () => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<InfiniteData<IRequestSuccess<TResponse>, unknown>, IRequestError>> | Promise<void>;
|
|
47
51
|
refetch: () => Promise<import("@tanstack/react-query").QueryObserverResult<InfiniteData<IRequestSuccess<TResponse>, unknown>, IRequestError>>;
|
|
52
|
+
/** @deprecated Use refetch() instead */
|
|
53
|
+
get: (newPath: string) => Promise<IRequestSuccess<TResponse>>;
|
|
48
54
|
getAllItems: <TItem>(itemExtractor: (page: IRequestSuccess<TResponse>) => TItem[]) => TItem[];
|
|
49
55
|
getLatestPaginationData: () => IPagination | undefined;
|
|
50
56
|
queryKey: readonly [string, {}];
|
|
@@ -21,6 +21,8 @@ export declare const useGetRequest: <TResponse extends Record<string, any>>({ pa
|
|
|
21
21
|
get: (url: string, fetchOptions?: {
|
|
22
22
|
staleTime?: number;
|
|
23
23
|
gcTime?: number;
|
|
24
|
+
/** If true (default), updates the component's subscription to show the new data. Set to false for prefetching. */
|
|
25
|
+
updateSubscription?: boolean;
|
|
24
26
|
}) => Promise<IRequestSuccess<TResponse>>;
|
|
25
27
|
gotoPage: (pageNumber: number) => void;
|
|
26
28
|
page: number;
|
|
@@ -57,6 +59,8 @@ export declare const useGetRequest: <TResponse extends Record<string, any>>({ pa
|
|
|
57
59
|
get: (url: string, fetchOptions?: {
|
|
58
60
|
staleTime?: number;
|
|
59
61
|
gcTime?: number;
|
|
62
|
+
/** If true (default), updates the component's subscription to show the new data. Set to false for prefetching. */
|
|
63
|
+
updateSubscription?: boolean;
|
|
60
64
|
}) => Promise<IRequestSuccess<TResponse>>;
|
|
61
65
|
gotoPage: (pageNumber: number) => void;
|
|
62
66
|
page: number;
|
|
@@ -93,6 +97,8 @@ export declare const useGetRequest: <TResponse extends Record<string, any>>({ pa
|
|
|
93
97
|
get: (url: string, fetchOptions?: {
|
|
94
98
|
staleTime?: number;
|
|
95
99
|
gcTime?: number;
|
|
100
|
+
/** If true (default), updates the component's subscription to show the new data. Set to false for prefetching. */
|
|
101
|
+
updateSubscription?: boolean;
|
|
96
102
|
}) => Promise<IRequestSuccess<TResponse>>;
|
|
97
103
|
gotoPage: (pageNumber: number) => void;
|
|
98
104
|
page: number;
|
|
@@ -129,6 +135,8 @@ export declare const useGetRequest: <TResponse extends Record<string, any>>({ pa
|
|
|
129
135
|
get: (url: string, fetchOptions?: {
|
|
130
136
|
staleTime?: number;
|
|
131
137
|
gcTime?: number;
|
|
138
|
+
/** If true (default), updates the component's subscription to show the new data. Set to false for prefetching. */
|
|
139
|
+
updateSubscription?: boolean;
|
|
132
140
|
}) => Promise<IRequestSuccess<TResponse>>;
|
|
133
141
|
gotoPage: (pageNumber: number) => void;
|
|
134
142
|
page: number;
|
|
@@ -165,6 +173,8 @@ export declare const useGetRequest: <TResponse extends Record<string, any>>({ pa
|
|
|
165
173
|
get: (url: string, fetchOptions?: {
|
|
166
174
|
staleTime?: number;
|
|
167
175
|
gcTime?: number;
|
|
176
|
+
/** If true (default), updates the component's subscription to show the new data. Set to false for prefetching. */
|
|
177
|
+
updateSubscription?: boolean;
|
|
168
178
|
}) => Promise<IRequestSuccess<TResponse>>;
|
|
169
179
|
gotoPage: (pageNumber: number) => void;
|
|
170
180
|
page: number;
|
|
@@ -108,6 +108,9 @@ const useGetInfiniteRequest = ({ path, load = false, keyTracker, baseUrl, header
|
|
|
108
108
|
}
|
|
109
109
|
return paginationData.previous_page;
|
|
110
110
|
}, [pagination]);
|
|
111
|
+
// Destructure queryKey from queryOptions since it's deprecated and auto-generated
|
|
112
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
113
|
+
const { queryKey: _deprecatedQueryKey, ...restQueryOptions } = queryOptions ?? {};
|
|
111
114
|
// The infinite query
|
|
112
115
|
const query = useInfiniteQuery({
|
|
113
116
|
queryKey: [path, {}],
|
|
@@ -119,7 +122,7 @@ const useGetInfiniteRequest = ({ path, load = false, keyTracker, baseUrl, header
|
|
|
119
122
|
getNextPageParam,
|
|
120
123
|
getPreviousPageParam,
|
|
121
124
|
enabled: load === true && !isFutureQueriesPaused,
|
|
122
|
-
...
|
|
125
|
+
...restQueryOptions,
|
|
123
126
|
});
|
|
124
127
|
// Track query key for external reference
|
|
125
128
|
useEffect(() => {
|
|
@@ -154,6 +157,17 @@ const useGetInfiniteRequest = ({ path, load = false, keyTracker, baseUrl, header
|
|
|
154
157
|
const refetch = useCallback(() => {
|
|
155
158
|
return query.refetch();
|
|
156
159
|
}, [query]);
|
|
160
|
+
/**
|
|
161
|
+
* Fetch data with a new URL path (for dynamic filtering)
|
|
162
|
+
* This invalidates the current query and fetches fresh data with the new path
|
|
163
|
+
* @deprecated Consider using refetch() with updated path prop instead
|
|
164
|
+
*/
|
|
165
|
+
const get = useCallback(async (newPath) => {
|
|
166
|
+
// Update the query key and refetch
|
|
167
|
+
queryClient.invalidateQueries({ queryKey: [path, {}] });
|
|
168
|
+
// Make a direct request with the new path
|
|
169
|
+
return executeRequest(newPath);
|
|
170
|
+
}, [queryClient, path, executeRequest]);
|
|
157
171
|
/**
|
|
158
172
|
* Get all items from all pages flattened into a single array
|
|
159
173
|
*/
|
|
@@ -178,6 +192,8 @@ const useGetInfiniteRequest = ({ path, load = false, keyTracker, baseUrl, header
|
|
|
178
192
|
data: query.data,
|
|
179
193
|
error: query.error,
|
|
180
194
|
isLoading: query.isLoading || isFutureQueriesPaused,
|
|
195
|
+
/** @deprecated Use isLoading instead */
|
|
196
|
+
isInitialLoading: query.isLoading || isFutureQueriesPaused,
|
|
181
197
|
isError: query.isError,
|
|
182
198
|
isSuccess: query.isSuccess,
|
|
183
199
|
isFetching: query.isFetching,
|
|
@@ -191,6 +207,8 @@ const useGetInfiniteRequest = ({ path, load = false, keyTracker, baseUrl, header
|
|
|
191
207
|
fetchNextPage,
|
|
192
208
|
fetchPreviousPage,
|
|
193
209
|
refetch,
|
|
210
|
+
/** @deprecated Use refetch() instead */
|
|
211
|
+
get,
|
|
194
212
|
// Utilities
|
|
195
213
|
getAllItems,
|
|
196
214
|
getLatestPaginationData,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGetInfiniteRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useGetInfiniteRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -167,25 +167,32 @@ const useGetRequest = ({ path, load = false, queryOptions, keyTracker, baseUrl,
|
|
|
167
167
|
}, [constructPaginationLink, requestPath]);
|
|
168
168
|
/**
|
|
169
169
|
* Imperative GET request - fetches data from a dynamic URL
|
|
170
|
-
* Uses queryClient.fetchQuery for proper caching and deduplication
|
|
170
|
+
* Uses queryClient.fetchQuery for proper caching and deduplication.
|
|
171
|
+
* By default, also updates the component's subscription to show the new data.
|
|
171
172
|
*
|
|
172
173
|
* @param url - The URL to fetch from
|
|
173
|
-
* @param fetchOptions - Optional query options (staleTime, gcTime,
|
|
174
|
+
* @param fetchOptions - Optional query options (staleTime, gcTime, updateSubscription)
|
|
175
|
+
* @param fetchOptions.updateSubscription - If true (default), updates the component's subscription to the new URL, triggering a re-render with new data. Set to false for prefetching without UI update.
|
|
174
176
|
* @returns Promise resolving to the response data
|
|
175
177
|
*/
|
|
176
178
|
const get = useCallback(async (url, fetchOptions) => {
|
|
177
179
|
if (isFutureQueriesPaused) {
|
|
178
180
|
throw new Error('Queries are currently paused');
|
|
179
181
|
}
|
|
182
|
+
const { staleTime, gcTime, updateSubscription = true } = fetchOptions ?? {};
|
|
183
|
+
// Update the subscription so the component re-renders with the new data
|
|
184
|
+
if (updateSubscription) {
|
|
185
|
+
setRequestPath(url);
|
|
186
|
+
}
|
|
180
187
|
// Use fetchQuery for imperative fetching - this properly handles caching
|
|
181
188
|
const result = await queryClient.fetchQuery({
|
|
182
189
|
queryKey: [url, {}],
|
|
183
190
|
queryFn: () => executeRequest(url),
|
|
184
|
-
staleTime
|
|
185
|
-
gcTime
|
|
191
|
+
staleTime,
|
|
192
|
+
gcTime,
|
|
186
193
|
});
|
|
187
194
|
return result;
|
|
188
|
-
}, [queryClient, executeRequest, isFutureQueriesPaused]);
|
|
195
|
+
}, [queryClient, executeRequest, isFutureQueriesPaused, setRequestPath]);
|
|
189
196
|
/**
|
|
190
197
|
* Refetch the current query with the existing path
|
|
191
198
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGetRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useGetRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/package.json
CHANGED
|
@@ -35,6 +35,8 @@ interface UseGetInfiniteRequestOptions<TResponse> extends DefaultRequestOptions
|
|
|
35
35
|
refetchOnWindowFocus?: boolean;
|
|
36
36
|
refetchOnMount?: boolean;
|
|
37
37
|
retry?: number | boolean;
|
|
38
|
+
/** @deprecated Query key is auto-generated from path. This option is ignored. */
|
|
39
|
+
queryKey?: readonly unknown[];
|
|
38
40
|
};
|
|
39
41
|
}
|
|
40
42
|
|
|
@@ -170,6 +172,10 @@ export const useGetInfiniteRequest = <TResponse extends Record<string, any>>({
|
|
|
170
172
|
[pagination]
|
|
171
173
|
);
|
|
172
174
|
|
|
175
|
+
// Destructure queryKey from queryOptions since it's deprecated and auto-generated
|
|
176
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
177
|
+
const { queryKey: _deprecatedQueryKey, ...restQueryOptions } = queryOptions ?? {};
|
|
178
|
+
|
|
173
179
|
// The infinite query
|
|
174
180
|
const query = useInfiniteQuery<
|
|
175
181
|
IRequestSuccess<TResponse>,
|
|
@@ -187,7 +193,7 @@ export const useGetInfiniteRequest = <TResponse extends Record<string, any>>({
|
|
|
187
193
|
getNextPageParam,
|
|
188
194
|
getPreviousPageParam,
|
|
189
195
|
enabled: load === true && !isFutureQueriesPaused,
|
|
190
|
-
...
|
|
196
|
+
...restQueryOptions,
|
|
191
197
|
});
|
|
192
198
|
|
|
193
199
|
// Track query key for external reference
|
|
@@ -227,6 +233,21 @@ export const useGetInfiniteRequest = <TResponse extends Record<string, any>>({
|
|
|
227
233
|
return query.refetch();
|
|
228
234
|
}, [query]);
|
|
229
235
|
|
|
236
|
+
/**
|
|
237
|
+
* Fetch data with a new URL path (for dynamic filtering)
|
|
238
|
+
* This invalidates the current query and fetches fresh data with the new path
|
|
239
|
+
* @deprecated Consider using refetch() with updated path prop instead
|
|
240
|
+
*/
|
|
241
|
+
const get = useCallback(
|
|
242
|
+
async (newPath: string) => {
|
|
243
|
+
// Update the query key and refetch
|
|
244
|
+
queryClient.invalidateQueries({ queryKey: [path, {}] });
|
|
245
|
+
// Make a direct request with the new path
|
|
246
|
+
return executeRequest(newPath);
|
|
247
|
+
},
|
|
248
|
+
[queryClient, path, executeRequest]
|
|
249
|
+
);
|
|
250
|
+
|
|
230
251
|
/**
|
|
231
252
|
* Get all items from all pages flattened into a single array
|
|
232
253
|
*/
|
|
@@ -253,6 +274,8 @@ export const useGetInfiniteRequest = <TResponse extends Record<string, any>>({
|
|
|
253
274
|
data: query.data,
|
|
254
275
|
error: query.error,
|
|
255
276
|
isLoading: query.isLoading || isFutureQueriesPaused,
|
|
277
|
+
/** @deprecated Use isLoading instead */
|
|
278
|
+
isInitialLoading: query.isLoading || isFutureQueriesPaused,
|
|
256
279
|
isError: query.isError,
|
|
257
280
|
isSuccess: query.isSuccess,
|
|
258
281
|
isFetching: query.isFetching,
|
|
@@ -268,6 +291,8 @@ export const useGetInfiniteRequest = <TResponse extends Record<string, any>>({
|
|
|
268
291
|
fetchNextPage,
|
|
269
292
|
fetchPreviousPage,
|
|
270
293
|
refetch,
|
|
294
|
+
/** @deprecated Use refetch() instead */
|
|
295
|
+
get,
|
|
271
296
|
|
|
272
297
|
// Utilities
|
|
273
298
|
getAllItems,
|
|
@@ -227,10 +227,12 @@ export const useGetRequest = <TResponse extends Record<string, any>>({
|
|
|
227
227
|
|
|
228
228
|
/**
|
|
229
229
|
* Imperative GET request - fetches data from a dynamic URL
|
|
230
|
-
* Uses queryClient.fetchQuery for proper caching and deduplication
|
|
230
|
+
* Uses queryClient.fetchQuery for proper caching and deduplication.
|
|
231
|
+
* By default, also updates the component's subscription to show the new data.
|
|
231
232
|
*
|
|
232
233
|
* @param url - The URL to fetch from
|
|
233
|
-
* @param fetchOptions - Optional query options (staleTime, gcTime,
|
|
234
|
+
* @param fetchOptions - Optional query options (staleTime, gcTime, updateSubscription)
|
|
235
|
+
* @param fetchOptions.updateSubscription - If true (default), updates the component's subscription to the new URL, triggering a re-render with new data. Set to false for prefetching without UI update.
|
|
234
236
|
* @returns Promise resolving to the response data
|
|
235
237
|
*/
|
|
236
238
|
const get = useCallback(
|
|
@@ -239,23 +241,32 @@ export const useGetRequest = <TResponse extends Record<string, any>>({
|
|
|
239
241
|
fetchOptions?: {
|
|
240
242
|
staleTime?: number;
|
|
241
243
|
gcTime?: number;
|
|
244
|
+
/** If true (default), updates the component's subscription to show the new data. Set to false for prefetching. */
|
|
245
|
+
updateSubscription?: boolean;
|
|
242
246
|
}
|
|
243
247
|
): Promise<IRequestSuccess<TResponse>> => {
|
|
244
248
|
if (isFutureQueriesPaused) {
|
|
245
249
|
throw new Error('Queries are currently paused');
|
|
246
250
|
}
|
|
247
251
|
|
|
252
|
+
const { staleTime, gcTime, updateSubscription = true } = fetchOptions ?? {};
|
|
253
|
+
|
|
254
|
+
// Update the subscription so the component re-renders with the new data
|
|
255
|
+
if (updateSubscription) {
|
|
256
|
+
setRequestPath(url);
|
|
257
|
+
}
|
|
258
|
+
|
|
248
259
|
// Use fetchQuery for imperative fetching - this properly handles caching
|
|
249
260
|
const result = await queryClient.fetchQuery({
|
|
250
261
|
queryKey: [url, {}] as const,
|
|
251
262
|
queryFn: () => executeRequest(url),
|
|
252
|
-
staleTime
|
|
253
|
-
gcTime
|
|
263
|
+
staleTime,
|
|
264
|
+
gcTime,
|
|
254
265
|
});
|
|
255
266
|
|
|
256
267
|
return result;
|
|
257
268
|
},
|
|
258
|
-
[queryClient, executeRequest, isFutureQueriesPaused]
|
|
269
|
+
[queryClient, executeRequest, isFutureQueriesPaused, setRequestPath]
|
|
259
270
|
);
|
|
260
271
|
|
|
261
272
|
/**
|