@ventlio/tanstack-query 0.6.5 → 0.6.7
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
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import 'url-search-params-polyfill';
|
|
2
|
-
import require$$0, { useState, useMemo, useEffect, useCallback } from 'react';
|
|
2
|
+
import require$$0, { useState, useMemo, useEffect, useCallback, useRef } from 'react';
|
|
3
3
|
import { create } from 'zustand';
|
|
4
4
|
import { useQueryClient, useMutation, useInfiniteQuery, useQuery } from '@tanstack/react-query';
|
|
5
5
|
import lodashSet from 'lodash.set';
|
|
@@ -1564,6 +1564,8 @@ const useGetInfiniteRequest = ({ path, load = false, keyTracker, baseUrl, header
|
|
|
1564
1564
|
const useGetRequest = ({ path, load = false, queryOptions, keyTracker, baseUrl, headers, paginationConfig, }) => {
|
|
1565
1565
|
const [requestPath, setRequestPath] = useState(path);
|
|
1566
1566
|
const [page, setPage] = useState(1);
|
|
1567
|
+
// Track when requestPath was intentionally changed via get() to prevent sync effect from resetting it
|
|
1568
|
+
const isIntentionalPathChangeRef = useRef(false);
|
|
1567
1569
|
const { API_URL, TIMEOUT } = useEnvironmentVariables();
|
|
1568
1570
|
const { middleware, pagination: globalPaginationConfig, headerProvider } = useStore(bootStore);
|
|
1569
1571
|
const storeHeaders = useHeaderStore((state) => state.headers);
|
|
@@ -1628,8 +1630,13 @@ const useGetRequest = ({ path, load = false, queryOptions, keyTracker, baseUrl,
|
|
|
1628
1630
|
enabled: load === true && !isFutureQueriesPaused,
|
|
1629
1631
|
...queryOptions,
|
|
1630
1632
|
});
|
|
1631
|
-
// Update request path when prop changes
|
|
1633
|
+
// Update request path when prop changes (but not when intentionally changed via get())
|
|
1632
1634
|
useEffect(() => {
|
|
1635
|
+
// Skip if the path change was intentional (from get() call)
|
|
1636
|
+
if (isIntentionalPathChangeRef.current) {
|
|
1637
|
+
isIntentionalPathChangeRef.current = false;
|
|
1638
|
+
return;
|
|
1639
|
+
}
|
|
1633
1640
|
if (path && path !== requestPath) {
|
|
1634
1641
|
setRequestPath(path);
|
|
1635
1642
|
}
|
|
@@ -1714,25 +1721,34 @@ const useGetRequest = ({ path, load = false, queryOptions, keyTracker, baseUrl,
|
|
|
1714
1721
|
}, [constructPaginationLink, requestPath]);
|
|
1715
1722
|
/**
|
|
1716
1723
|
* Imperative GET request - fetches data from a dynamic URL
|
|
1717
|
-
* Uses queryClient.fetchQuery for proper caching and deduplication
|
|
1724
|
+
* Uses queryClient.fetchQuery for proper caching and deduplication.
|
|
1725
|
+
* By default, also updates the component's subscription to show the new data.
|
|
1718
1726
|
*
|
|
1719
1727
|
* @param url - The URL to fetch from
|
|
1720
|
-
* @param fetchOptions - Optional query options (staleTime, gcTime,
|
|
1728
|
+
* @param fetchOptions - Optional query options (staleTime, gcTime, updateSubscription)
|
|
1729
|
+
* @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.
|
|
1721
1730
|
* @returns Promise resolving to the response data
|
|
1722
1731
|
*/
|
|
1723
1732
|
const get = useCallback(async (url, fetchOptions) => {
|
|
1724
1733
|
if (isFutureQueriesPaused) {
|
|
1725
1734
|
throw new Error('Queries are currently paused');
|
|
1726
1735
|
}
|
|
1736
|
+
const { staleTime, gcTime, updateSubscription = true } = fetchOptions ?? {};
|
|
1737
|
+
// Update the subscription so the component re-renders with the new data
|
|
1738
|
+
if (updateSubscription) {
|
|
1739
|
+
// Mark this as an intentional change to prevent sync effect from resetting it
|
|
1740
|
+
isIntentionalPathChangeRef.current = true;
|
|
1741
|
+
setRequestPath(url);
|
|
1742
|
+
}
|
|
1727
1743
|
// Use fetchQuery for imperative fetching - this properly handles caching
|
|
1728
1744
|
const result = await queryClient.fetchQuery({
|
|
1729
1745
|
queryKey: [url, {}],
|
|
1730
1746
|
queryFn: () => executeRequest(url),
|
|
1731
|
-
staleTime
|
|
1732
|
-
gcTime
|
|
1747
|
+
staleTime,
|
|
1748
|
+
gcTime,
|
|
1733
1749
|
});
|
|
1734
1750
|
return result;
|
|
1735
|
-
}, [queryClient, executeRequest, isFutureQueriesPaused]);
|
|
1751
|
+
}, [queryClient, executeRequest, isFutureQueriesPaused, setRequestPath]);
|
|
1736
1752
|
/**
|
|
1737
1753
|
* Refetch the current query with the existing path
|
|
1738
1754
|
*/
|
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":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9]}
|
|
@@ -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;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useQueryClient, useQuery } from '@tanstack/react-query';
|
|
2
|
-
import { useState, useMemo, useCallback, useEffect } from 'react';
|
|
2
|
+
import { useState, useRef, useMemo, useCallback, useEffect } from 'react';
|
|
3
3
|
import 'url-search-params-polyfill';
|
|
4
4
|
import { bootStore } from '../config/bootStore.js';
|
|
5
5
|
import { useEnvironmentVariables } from '../config/useEnvironmentVariables.js';
|
|
@@ -17,6 +17,8 @@ import '../request/request.enum.js';
|
|
|
17
17
|
const useGetRequest = ({ path, load = false, queryOptions, keyTracker, baseUrl, headers, paginationConfig, }) => {
|
|
18
18
|
const [requestPath, setRequestPath] = useState(path);
|
|
19
19
|
const [page, setPage] = useState(1);
|
|
20
|
+
// Track when requestPath was intentionally changed via get() to prevent sync effect from resetting it
|
|
21
|
+
const isIntentionalPathChangeRef = useRef(false);
|
|
20
22
|
const { API_URL, TIMEOUT } = useEnvironmentVariables();
|
|
21
23
|
const { middleware, pagination: globalPaginationConfig, headerProvider } = useStore(bootStore);
|
|
22
24
|
const storeHeaders = useHeaderStore((state) => state.headers);
|
|
@@ -81,8 +83,13 @@ const useGetRequest = ({ path, load = false, queryOptions, keyTracker, baseUrl,
|
|
|
81
83
|
enabled: load === true && !isFutureQueriesPaused,
|
|
82
84
|
...queryOptions,
|
|
83
85
|
});
|
|
84
|
-
// Update request path when prop changes
|
|
86
|
+
// Update request path when prop changes (but not when intentionally changed via get())
|
|
85
87
|
useEffect(() => {
|
|
88
|
+
// Skip if the path change was intentional (from get() call)
|
|
89
|
+
if (isIntentionalPathChangeRef.current) {
|
|
90
|
+
isIntentionalPathChangeRef.current = false;
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
86
93
|
if (path && path !== requestPath) {
|
|
87
94
|
setRequestPath(path);
|
|
88
95
|
}
|
|
@@ -167,25 +174,34 @@ const useGetRequest = ({ path, load = false, queryOptions, keyTracker, baseUrl,
|
|
|
167
174
|
}, [constructPaginationLink, requestPath]);
|
|
168
175
|
/**
|
|
169
176
|
* Imperative GET request - fetches data from a dynamic URL
|
|
170
|
-
* Uses queryClient.fetchQuery for proper caching and deduplication
|
|
177
|
+
* Uses queryClient.fetchQuery for proper caching and deduplication.
|
|
178
|
+
* By default, also updates the component's subscription to show the new data.
|
|
171
179
|
*
|
|
172
180
|
* @param url - The URL to fetch from
|
|
173
|
-
* @param fetchOptions - Optional query options (staleTime, gcTime,
|
|
181
|
+
* @param fetchOptions - Optional query options (staleTime, gcTime, updateSubscription)
|
|
182
|
+
* @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
183
|
* @returns Promise resolving to the response data
|
|
175
184
|
*/
|
|
176
185
|
const get = useCallback(async (url, fetchOptions) => {
|
|
177
186
|
if (isFutureQueriesPaused) {
|
|
178
187
|
throw new Error('Queries are currently paused');
|
|
179
188
|
}
|
|
189
|
+
const { staleTime, gcTime, updateSubscription = true } = fetchOptions ?? {};
|
|
190
|
+
// Update the subscription so the component re-renders with the new data
|
|
191
|
+
if (updateSubscription) {
|
|
192
|
+
// Mark this as an intentional change to prevent sync effect from resetting it
|
|
193
|
+
isIntentionalPathChangeRef.current = true;
|
|
194
|
+
setRequestPath(url);
|
|
195
|
+
}
|
|
180
196
|
// Use fetchQuery for imperative fetching - this properly handles caching
|
|
181
197
|
const result = await queryClient.fetchQuery({
|
|
182
198
|
queryKey: [url, {}],
|
|
183
199
|
queryFn: () => executeRequest(url),
|
|
184
|
-
staleTime
|
|
185
|
-
gcTime
|
|
200
|
+
staleTime,
|
|
201
|
+
gcTime,
|
|
186
202
|
});
|
|
187
203
|
return result;
|
|
188
|
-
}, [queryClient, executeRequest, isFutureQueriesPaused]);
|
|
204
|
+
}, [queryClient, executeRequest, isFutureQueriesPaused, setRequestPath]);
|
|
189
205
|
/**
|
|
190
206
|
* Refetch the current query with the existing path
|
|
191
207
|
*/
|
|
@@ -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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useQuery, useQueryClient } from '@tanstack/react-query';
|
|
2
|
-
import { useCallback, useEffect, useMemo, useState } from 'react';
|
|
2
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
3
3
|
import { useEnvironmentVariables } from '../config';
|
|
4
4
|
|
|
5
5
|
import { useStore } from '@tanstack/react-store';
|
|
@@ -35,6 +35,9 @@ export const useGetRequest = <TResponse extends Record<string, any>>({
|
|
|
35
35
|
const [requestPath, setRequestPath] = useState<string>(path);
|
|
36
36
|
const [page, setPage] = useState<number>(1);
|
|
37
37
|
|
|
38
|
+
// Track when requestPath was intentionally changed via get() to prevent sync effect from resetting it
|
|
39
|
+
const isIntentionalPathChangeRef = useRef(false);
|
|
40
|
+
|
|
38
41
|
const { API_URL, TIMEOUT } = useEnvironmentVariables();
|
|
39
42
|
const { middleware, pagination: globalPaginationConfig, headerProvider } = useStore(bootStore);
|
|
40
43
|
|
|
@@ -116,8 +119,14 @@ export const useGetRequest = <TResponse extends Record<string, any>>({
|
|
|
116
119
|
...queryOptions,
|
|
117
120
|
});
|
|
118
121
|
|
|
119
|
-
// Update request path when prop changes
|
|
122
|
+
// Update request path when prop changes (but not when intentionally changed via get())
|
|
120
123
|
useEffect(() => {
|
|
124
|
+
// Skip if the path change was intentional (from get() call)
|
|
125
|
+
if (isIntentionalPathChangeRef.current) {
|
|
126
|
+
isIntentionalPathChangeRef.current = false;
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
|
|
121
130
|
if (path && path !== requestPath) {
|
|
122
131
|
setRequestPath(path);
|
|
123
132
|
}
|
|
@@ -227,10 +236,12 @@ export const useGetRequest = <TResponse extends Record<string, any>>({
|
|
|
227
236
|
|
|
228
237
|
/**
|
|
229
238
|
* Imperative GET request - fetches data from a dynamic URL
|
|
230
|
-
* Uses queryClient.fetchQuery for proper caching and deduplication
|
|
239
|
+
* Uses queryClient.fetchQuery for proper caching and deduplication.
|
|
240
|
+
* By default, also updates the component's subscription to show the new data.
|
|
231
241
|
*
|
|
232
242
|
* @param url - The URL to fetch from
|
|
233
|
-
* @param fetchOptions - Optional query options (staleTime, gcTime,
|
|
243
|
+
* @param fetchOptions - Optional query options (staleTime, gcTime, updateSubscription)
|
|
244
|
+
* @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
245
|
* @returns Promise resolving to the response data
|
|
235
246
|
*/
|
|
236
247
|
const get = useCallback(
|
|
@@ -239,23 +250,34 @@ export const useGetRequest = <TResponse extends Record<string, any>>({
|
|
|
239
250
|
fetchOptions?: {
|
|
240
251
|
staleTime?: number;
|
|
241
252
|
gcTime?: number;
|
|
253
|
+
/** If true (default), updates the component's subscription to show the new data. Set to false for prefetching. */
|
|
254
|
+
updateSubscription?: boolean;
|
|
242
255
|
}
|
|
243
256
|
): Promise<IRequestSuccess<TResponse>> => {
|
|
244
257
|
if (isFutureQueriesPaused) {
|
|
245
258
|
throw new Error('Queries are currently paused');
|
|
246
259
|
}
|
|
247
260
|
|
|
261
|
+
const { staleTime, gcTime, updateSubscription = true } = fetchOptions ?? {};
|
|
262
|
+
|
|
263
|
+
// Update the subscription so the component re-renders with the new data
|
|
264
|
+
if (updateSubscription) {
|
|
265
|
+
// Mark this as an intentional change to prevent sync effect from resetting it
|
|
266
|
+
isIntentionalPathChangeRef.current = true;
|
|
267
|
+
setRequestPath(url);
|
|
268
|
+
}
|
|
269
|
+
|
|
248
270
|
// Use fetchQuery for imperative fetching - this properly handles caching
|
|
249
271
|
const result = await queryClient.fetchQuery({
|
|
250
272
|
queryKey: [url, {}] as const,
|
|
251
273
|
queryFn: () => executeRequest(url),
|
|
252
|
-
staleTime
|
|
253
|
-
gcTime
|
|
274
|
+
staleTime,
|
|
275
|
+
gcTime,
|
|
254
276
|
});
|
|
255
277
|
|
|
256
278
|
return result;
|
|
257
279
|
},
|
|
258
|
-
[queryClient, executeRequest, isFutureQueriesPaused]
|
|
280
|
+
[queryClient, executeRequest, isFutureQueriesPaused, setRequestPath]
|
|
259
281
|
);
|
|
260
282
|
|
|
261
283
|
/**
|