@ventlio/tanstack-query 0.5.14 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import 'url-search-params-polyfill';
2
- import require$$0, { useState, useEffect, useMemo, startTransition } from 'react';
2
+ import require$$0, { useState, useMemo, useEffect, startTransition } from 'react';
3
3
  import { create } from 'zustand';
4
4
  import { useQueryClient, useQuery, useInfiniteQuery, useMutation } from '@tanstack/react-query';
5
5
  import lodashSet from 'lodash.set';
@@ -1297,12 +1297,16 @@ const useDeleteRequest = (deleteOptions) => {
1297
1297
  const { baseUrl, headers } = deleteOptions ?? {};
1298
1298
  const [requestPath, setRequestPath] = useState('');
1299
1299
  const [options, setOptions] = useState();
1300
- // const { middleware: middlewares } = useStore(bootStore);
1301
- // const [middleware] = middlewares as unknown as MiddlewareFunction[];
1300
+ const { headerProvider } = useStore(bootStore);
1302
1301
  const [requestPayload, setRequestPayload] = useState();
1303
1302
  const isFutureQueriesPaused = usePauseFutureRequests((state) => state.isFutureQueriesPaused);
1304
1303
  const { API_URL, TIMEOUT } = useEnvironmentVariables();
1305
- const globalHeaders = useHeaderStore((state) => state.headers);
1304
+ const storeHeaders = useHeaderStore((state) => state.headers);
1305
+ // Get headers from both the store and the headerProvider (if configured)
1306
+ const globalHeaders = useMemo(() => {
1307
+ const providerHeaders = headerProvider ? headerProvider() : undefined;
1308
+ return { ...providerHeaders, ...storeHeaders };
1309
+ }, [storeHeaders, headerProvider]);
1306
1310
  const sendRequest = async (res, rej, queryKey) => {
1307
1311
  const [url] = queryKey;
1308
1312
  const requestUrl = (url ?? requestPath);
@@ -1375,10 +1379,15 @@ const useDeleteRequest = (deleteOptions) => {
1375
1379
 
1376
1380
  const useGetInfiniteRequest = ({ path, load = false, queryOptions, keyTracker, baseUrl, headers, }) => {
1377
1381
  const { API_URL, TIMEOUT } = useEnvironmentVariables();
1378
- const globalHeaders = useHeaderStore((state) => state.headers);
1382
+ const { headerProvider } = useStore(bootStore);
1383
+ const storeHeaders = useHeaderStore((state) => state.headers);
1384
+ // Get headers from both the store and the headerProvider (if configured)
1385
+ const globalHeaders = useMemo(() => {
1386
+ const providerHeaders = headerProvider ? headerProvider() : undefined;
1387
+ return { ...providerHeaders, ...storeHeaders };
1388
+ }, [storeHeaders, headerProvider]);
1379
1389
  const [requestPath, setRequestPath] = useState(path);
1380
1390
  const [options, setOptions] = useState(queryOptions);
1381
- useStore(bootStore);
1382
1391
  const [requestPayload, setRequestPayload] = useState();
1383
1392
  const isFutureQueriesPaused = usePauseFutureRequests((state) => state.isFutureQueriesPaused);
1384
1393
  let queryClient = useQueryClient();
@@ -1491,8 +1500,15 @@ const useGetRequest = ({ path, load = false, queryOptions, keyTracker, baseUrl,
1491
1500
  const [options, setOptions] = useState(queryOptions);
1492
1501
  const [page, setPage] = useState(1);
1493
1502
  const { API_URL, TIMEOUT } = useEnvironmentVariables();
1494
- const { middleware, pagination: globalPaginationConfig } = useStore(bootStore);
1495
- const globalHeaders = useHeaderStore((state) => state.headers);
1503
+ const { middleware, pagination: globalPaginationConfig, headerProvider } = useStore(bootStore);
1504
+ const storeHeaders = useHeaderStore((state) => state.headers);
1505
+ // Get headers from both the store and the headerProvider (if configured)
1506
+ // headerProvider allows reading from cookies/localStorage synchronously
1507
+ const globalHeaders = useMemo(() => {
1508
+ const providerHeaders = headerProvider ? headerProvider() : undefined;
1509
+ // Merge: store headers take precedence over provider headers
1510
+ return { ...providerHeaders, ...storeHeaders };
1511
+ }, [storeHeaders, headerProvider]);
1496
1512
  const [requestPayload, setRequestPayload] = useState();
1497
1513
  const isFutureQueriesPaused = usePauseFutureRequests((state) => state.isFutureQueriesPaused);
1498
1514
  let queryClient = useQueryClient();
@@ -1675,10 +1691,15 @@ const useGetRequest = ({ path, load = false, queryOptions, keyTracker, baseUrl,
1675
1691
  const usePatchRequest = ({ path, baseUrl, headers }) => {
1676
1692
  const { API_URL, TIMEOUT } = useEnvironmentVariables();
1677
1693
  const { uploadProgressPercent, onUploadProgress } = useUploadProgress();
1678
- const globalHeaders = useHeaderStore((state) => state.headers);
1694
+ const { context, headerProvider } = useStore(bootStore);
1695
+ const storeHeaders = useHeaderStore((state) => state.headers);
1696
+ // Get headers from both the store and the headerProvider (if configured)
1697
+ const globalHeaders = useMemo(() => {
1698
+ const providerHeaders = headerProvider ? headerProvider() : undefined;
1699
+ return { ...providerHeaders, ...storeHeaders };
1700
+ }, [storeHeaders, headerProvider]);
1679
1701
  const [requestPayload, setRequestPayload] = useState();
1680
1702
  const isFutureMutationsPaused = usePauseFutureRequests((state) => state.isFutureMutationsPaused);
1681
- const { context } = useStore(bootStore);
1682
1703
  const sendRequest = async (res, rej, data) => {
1683
1704
  // get request headers
1684
1705
  const requestOptions = {
@@ -1751,8 +1772,15 @@ const usePatchRequest = ({ path, baseUrl, headers }) => {
1751
1772
 
1752
1773
  const usePostRequest = ({ path, isFormData = false, baseUrl, headers, fileSelectors, }) => {
1753
1774
  const { API_URL, TIMEOUT } = useEnvironmentVariables();
1754
- const { context } = useStore(bootStore);
1755
- const globalHeaders = useHeaderStore((state) => state.headers);
1775
+ const { context, headerProvider } = useStore(bootStore);
1776
+ const storeHeaders = useHeaderStore((state) => state.headers);
1777
+ // Get headers from both the store and the headerProvider (if configured)
1778
+ // headerProvider allows reading from cookies/localStorage synchronously
1779
+ const globalHeaders = useMemo(() => {
1780
+ const providerHeaders = headerProvider ? headerProvider() : undefined;
1781
+ // Merge: store headers take precedence over provider headers
1782
+ return { ...providerHeaders, ...storeHeaders };
1783
+ }, [storeHeaders, headerProvider]);
1756
1784
  const { isApp } = useReactNativeEnv();
1757
1785
  const { uploadProgressPercent, onUploadProgress } = useUploadProgress();
1758
1786
  const [requestPayload, setRequestPayload] = useState();
@@ -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]}
@@ -1,7 +1,8 @@
1
1
  import { useQuery } from '@tanstack/react-query';
2
- import { useState, useEffect } from 'react';
2
+ import { useStore } from '../../node_modules/@tanstack/react-store/dist/esm/index.js';
3
+ import { useState, useMemo, useEffect } from 'react';
3
4
  import 'url-search-params-polyfill';
4
- import '../config/bootStore.js';
5
+ import { bootStore } from '../config/bootStore.js';
5
6
  import { useEnvironmentVariables } from '../config/useEnvironmentVariables.js';
6
7
  import '../stores/useBaseUrlStore.js';
7
8
  import { useHeaderStore } from '../stores/useHeaderStore.js';
@@ -14,12 +15,16 @@ const useDeleteRequest = (deleteOptions) => {
14
15
  const { baseUrl, headers } = deleteOptions ?? {};
15
16
  const [requestPath, setRequestPath] = useState('');
16
17
  const [options, setOptions] = useState();
17
- // const { middleware: middlewares } = useStore(bootStore);
18
- // const [middleware] = middlewares as unknown as MiddlewareFunction[];
18
+ const { headerProvider } = useStore(bootStore);
19
19
  const [requestPayload, setRequestPayload] = useState();
20
20
  const isFutureQueriesPaused = usePauseFutureRequests((state) => state.isFutureQueriesPaused);
21
21
  const { API_URL, TIMEOUT } = useEnvironmentVariables();
22
- const globalHeaders = useHeaderStore((state) => state.headers);
22
+ const storeHeaders = useHeaderStore((state) => state.headers);
23
+ // Get headers from both the store and the headerProvider (if configured)
24
+ const globalHeaders = useMemo(() => {
25
+ const providerHeaders = headerProvider ? headerProvider() : undefined;
26
+ return { ...providerHeaders, ...storeHeaders };
27
+ }, [storeHeaders, headerProvider]);
23
28
  const sendRequest = async (res, rej, queryKey) => {
24
29
  const [url] = queryKey;
25
30
  const requestUrl = (url ?? requestPath);
@@ -1 +1 @@
1
- {"version":3,"file":"useDeleteRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"useDeleteRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { useQueryClient, useInfiniteQuery } from '@tanstack/react-query';
2
- import { useState, useMemo, useEffect, startTransition } from 'react';
2
+ import { useMemo, useState, useEffect, startTransition } 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';
@@ -13,10 +13,15 @@ import '../request/request.enum.js';
13
13
 
14
14
  const useGetInfiniteRequest = ({ path, load = false, queryOptions, keyTracker, baseUrl, headers, }) => {
15
15
  const { API_URL, TIMEOUT } = useEnvironmentVariables();
16
- const globalHeaders = useHeaderStore((state) => state.headers);
16
+ const { headerProvider } = useStore(bootStore);
17
+ const storeHeaders = useHeaderStore((state) => state.headers);
18
+ // Get headers from both the store and the headerProvider (if configured)
19
+ const globalHeaders = useMemo(() => {
20
+ const providerHeaders = headerProvider ? headerProvider() : undefined;
21
+ return { ...providerHeaders, ...storeHeaders };
22
+ }, [storeHeaders, headerProvider]);
17
23
  const [requestPath, setRequestPath] = useState(path);
18
24
  const [options, setOptions] = useState(queryOptions);
19
- useStore(bootStore);
20
25
  const [requestPayload, setRequestPayload] = useState();
21
26
  const isFutureQueriesPaused = usePauseFutureRequests((state) => state.isFutureQueriesPaused);
22
27
  let queryClient = useQueryClient();
@@ -1 +1 @@
1
- {"version":3,"file":"useGetInfiniteRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"useGetInfiniteRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -19,8 +19,15 @@ const useGetRequest = ({ path, load = false, queryOptions, keyTracker, baseUrl,
19
19
  const [options, setOptions] = useState(queryOptions);
20
20
  const [page, setPage] = useState(1);
21
21
  const { API_URL, TIMEOUT } = useEnvironmentVariables();
22
- const { middleware, pagination: globalPaginationConfig } = useStore(bootStore);
23
- const globalHeaders = useHeaderStore((state) => state.headers);
22
+ const { middleware, pagination: globalPaginationConfig, headerProvider } = useStore(bootStore);
23
+ const storeHeaders = useHeaderStore((state) => state.headers);
24
+ // Get headers from both the store and the headerProvider (if configured)
25
+ // headerProvider allows reading from cookies/localStorage synchronously
26
+ const globalHeaders = useMemo(() => {
27
+ const providerHeaders = headerProvider ? headerProvider() : undefined;
28
+ // Merge: store headers take precedence over provider headers
29
+ return { ...providerHeaders, ...storeHeaders };
30
+ }, [storeHeaders, headerProvider]);
24
31
  const [requestPayload, setRequestPayload] = useState();
25
32
  const isFutureQueriesPaused = usePauseFutureRequests((state) => state.isFutureQueriesPaused);
26
33
  let queryClient = useQueryClient();
@@ -1 +1 @@
1
- {"version":3,"file":"useGetRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"useGetRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { useMutation } from '@tanstack/react-query';
2
2
  import { useStore } from '../../node_modules/@tanstack/react-store/dist/esm/index.js';
3
- import { useState, useEffect } from 'react';
3
+ import { useMemo, useState, useEffect } from 'react';
4
4
  import 'url-search-params-polyfill';
5
5
  import { bootStore } from '../config/bootStore.js';
6
6
  import { useEnvironmentVariables } from '../config/useEnvironmentVariables.js';
@@ -16,10 +16,15 @@ import { HttpMethod } from '../request/request.enum.js';
16
16
  const usePatchRequest = ({ path, baseUrl, headers }) => {
17
17
  const { API_URL, TIMEOUT } = useEnvironmentVariables();
18
18
  const { uploadProgressPercent, onUploadProgress } = useUploadProgress();
19
- const globalHeaders = useHeaderStore((state) => state.headers);
19
+ const { context, headerProvider } = useStore(bootStore);
20
+ const storeHeaders = useHeaderStore((state) => state.headers);
21
+ // Get headers from both the store and the headerProvider (if configured)
22
+ const globalHeaders = useMemo(() => {
23
+ const providerHeaders = headerProvider ? headerProvider() : undefined;
24
+ return { ...providerHeaders, ...storeHeaders };
25
+ }, [storeHeaders, headerProvider]);
20
26
  const [requestPayload, setRequestPayload] = useState();
21
27
  const isFutureMutationsPaused = usePauseFutureRequests((state) => state.isFutureMutationsPaused);
22
- const { context } = useStore(bootStore);
23
28
  const sendRequest = async (res, rej, data) => {
24
29
  // get request headers
25
30
  const requestOptions = {
@@ -1 +1 @@
1
- {"version":3,"file":"usePatchRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"usePatchRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -7,7 +7,7 @@ import { useHeaderStore } from '../stores/useHeaderStore.js';
7
7
  import { usePauseFutureRequests } from '../stores/usePauseFutureRequests.js';
8
8
  import { useReactNativeEnv } from '../config/useReactNativeEnv.js';
9
9
  import { useStore } from '../../node_modules/@tanstack/react-store/dist/esm/index.js';
10
- import { useState, useEffect } from 'react';
10
+ import { useMemo, useState, useEffect } from 'react';
11
11
  import { scrollToTop } from '../helpers/scrollToTop.js';
12
12
  import { useUploadProgress } from '../hooks/useUploadProgress.js';
13
13
  import 'axios';
@@ -16,8 +16,15 @@ import { HttpMethod } from '../request/request.enum.js';
16
16
 
17
17
  const usePostRequest = ({ path, isFormData = false, baseUrl, headers, fileSelectors, }) => {
18
18
  const { API_URL, TIMEOUT } = useEnvironmentVariables();
19
- const { context } = useStore(bootStore);
20
- const globalHeaders = useHeaderStore((state) => state.headers);
19
+ const { context, headerProvider } = useStore(bootStore);
20
+ const storeHeaders = useHeaderStore((state) => state.headers);
21
+ // Get headers from both the store and the headerProvider (if configured)
22
+ // headerProvider allows reading from cookies/localStorage synchronously
23
+ const globalHeaders = useMemo(() => {
24
+ const providerHeaders = headerProvider ? headerProvider() : undefined;
25
+ // Merge: store headers take precedence over provider headers
26
+ return { ...providerHeaders, ...storeHeaders };
27
+ }, [storeHeaders, headerProvider]);
21
28
  const { isApp } = useReactNativeEnv();
22
29
  const { uploadProgressPercent, onUploadProgress } = useUploadProgress();
23
30
  const [requestPayload, setRequestPayload] = useState();
@@ -1 +1 @@
1
- {"version":3,"file":"usePostRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"usePostRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import type { AxiosProgressEvent, RawAxiosRequestHeaders } from 'axios';
2
- import type { AppFileConfig, HttpMethod, IMakeRequest, IRequestError, IRequestSuccess } from '../request';
3
2
  import type { IPagination } from '../queries';
3
+ import type { AppFileConfig, HttpMethod, IMakeRequest, IRequestError, IRequestSuccess } from '../request';
4
4
  export type MiddlewareFunction<T = any> = (context: MiddlewareContext<T>, next: MiddlewareNext<T>) => Promise<IRequestError | IRequestSuccess<T>>;
5
5
  export interface MiddlewareContext<T = any> {
6
6
  baseUrl: string;
@@ -26,6 +26,22 @@ export interface BootstrapConfig {
26
26
  modelConfig?: BootstrapModelConfig;
27
27
  middleware?: MiddlewareFunction[] | LegacyMiddlewareFunction;
28
28
  pagination?: PaginationConfig;
29
+ /**
30
+ * Optional function to provide headers synchronously.
31
+ * This is called on every request to get the current headers.
32
+ * Use this to read auth tokens from cookies or other persistent storage.
33
+ * The returned headers are merged with headers from the header store.
34
+ *
35
+ * Example:
36
+ * ```
37
+ * headerProvider: () => {
38
+ * const token = getCookie('authToken');
39
+ * const spaceId = getCookie('spaceId');
40
+ * return token ? { Authorization: `Bearer ${token}`, } : undefined;
41
+ * }
42
+ * ```
43
+ */
44
+ headerProvider?: () => QueryHeaders;
29
45
  }
30
46
  export interface PaginationConfig {
31
47
  extractPagination?: <T>(response: IRequestSuccess<T>) => IPagination | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ventlio/tanstack-query",
3
- "version": "0.5.14",
3
+ "version": "0.6.0",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "contributors": [
@@ -1,7 +1,9 @@
1
1
  import type { QueryKey, UseQueryOptions } from '@tanstack/react-query';
2
2
  import { useQuery } from '@tanstack/react-query';
3
- import { useEffect, useState } from 'react';
3
+ import { useStore } from '@tanstack/react-store';
4
+ import { useEffect, useMemo, useState } from 'react';
4
5
  import { useEnvironmentVariables } from '../config';
6
+ import { bootStore } from '../config/bootStore';
5
7
  import type { IRequestError, IRequestSuccess } from '../request';
6
8
  import { HttpMethod, makeRequest } from '../request';
7
9
  import { useHeaderStore, usePauseFutureRequests } from '../stores';
@@ -12,15 +14,20 @@ export const useDeleteRequest = <TResponse>(deleteOptions?: DefaultRequestOption
12
14
  const [requestPath, setRequestPath] = useState<string>('');
13
15
  const [options, setOptions] = useState<any>();
14
16
 
15
- // const { middleware: middlewares } = useStore(bootStore);
16
- // const [middleware] = middlewares as unknown as MiddlewareFunction[];
17
+ const { headerProvider } = useStore(bootStore);
17
18
  const [requestPayload, setRequestPayload] = useState<Record<any, any>>();
18
19
 
19
20
  const isFutureQueriesPaused = usePauseFutureRequests((state) => state.isFutureQueriesPaused);
20
21
 
21
22
  const { API_URL, TIMEOUT } = useEnvironmentVariables();
22
23
 
23
- const globalHeaders = useHeaderStore((state) => state.headers);
24
+ const storeHeaders = useHeaderStore((state) => state.headers);
25
+
26
+ // Get headers from both the store and the headerProvider (if configured)
27
+ const globalHeaders = useMemo(() => {
28
+ const providerHeaders = headerProvider ? headerProvider() : undefined;
29
+ return { ...providerHeaders, ...storeHeaders };
30
+ }, [storeHeaders, headerProvider]);
24
31
 
25
32
  const sendRequest = async (res: (value: any) => void, rej: (reason?: any) => void, queryKey: QueryKey) => {
26
33
  const [url] = queryKey;
@@ -33,11 +33,17 @@ export const useGetInfiniteRequest = <TResponse extends Record<string, any>>({
33
33
  keyTracker?: string;
34
34
  } & DefaultRequestOptions) => {
35
35
  const { API_URL, TIMEOUT } = useEnvironmentVariables();
36
- const globalHeaders = useHeaderStore((state) => state.headers);
37
- const [requestPath, setRequestPath] = useState<string>(path);
36
+ const { headerProvider } = useStore(bootStore);
37
+ const storeHeaders = useHeaderStore((state) => state.headers);
38
+
39
+ // Get headers from both the store and the headerProvider (if configured)
40
+ const globalHeaders = useMemo(() => {
41
+ const providerHeaders = headerProvider ? headerProvider() : undefined;
42
+ return { ...providerHeaders, ...storeHeaders };
43
+ }, [storeHeaders, headerProvider]);
38
44
 
45
+ const [requestPath, setRequestPath] = useState<string>(path);
39
46
  const [options, setOptions] = useState<any>(queryOptions);
40
- useStore(bootStore);
41
47
 
42
48
  const [requestPayload, setRequestPayload] = useState<Record<any, any>>();
43
49
 
@@ -37,9 +37,17 @@ export const useGetRequest = <TResponse extends Record<string, any>>({
37
37
  const [page, setPage] = useState<number>(1);
38
38
 
39
39
  const { API_URL, TIMEOUT } = useEnvironmentVariables();
40
- const { middleware, pagination: globalPaginationConfig } = useStore(bootStore);
40
+ const { middleware, pagination: globalPaginationConfig, headerProvider } = useStore(bootStore);
41
41
 
42
- const globalHeaders = useHeaderStore((state) => state.headers);
42
+ const storeHeaders = useHeaderStore((state) => state.headers);
43
+
44
+ // Get headers from both the store and the headerProvider (if configured)
45
+ // headerProvider allows reading from cookies/localStorage synchronously
46
+ const globalHeaders = useMemo(() => {
47
+ const providerHeaders = headerProvider ? headerProvider() : undefined;
48
+ // Merge: store headers take precedence over provider headers
49
+ return { ...providerHeaders, ...storeHeaders };
50
+ }, [storeHeaders, headerProvider]);
43
51
 
44
52
  const [requestPayload, setRequestPayload] = useState<Record<any, any>>();
45
53
 
@@ -1,7 +1,7 @@
1
1
  import type { MutateOptions } from '@tanstack/react-query';
2
2
  import { useMutation } from '@tanstack/react-query';
3
3
  import { useStore } from '@tanstack/react-store';
4
- import { useEffect, useState } from 'react';
4
+ import { useEffect, useMemo, useState } from 'react';
5
5
  import { useEnvironmentVariables } from '../config';
6
6
  import { bootStore } from '../config/bootStore';
7
7
  import { scrollToTop } from '../helpers';
@@ -14,12 +14,19 @@ import type { DefaultRequestOptions } from './queries.interface';
14
14
  export const usePatchRequest = <TResponse>({ path, baseUrl, headers }: { path: string } & DefaultRequestOptions) => {
15
15
  const { API_URL, TIMEOUT } = useEnvironmentVariables();
16
16
  const { uploadProgressPercent, onUploadProgress } = useUploadProgress();
17
- const globalHeaders = useHeaderStore((state) => state.headers);
17
+ const { context, headerProvider } = useStore(bootStore);
18
+
19
+ const storeHeaders = useHeaderStore((state) => state.headers);
20
+
21
+ // Get headers from both the store and the headerProvider (if configured)
22
+ const globalHeaders = useMemo(() => {
23
+ const providerHeaders = headerProvider ? headerProvider() : undefined;
24
+ return { ...providerHeaders, ...storeHeaders };
25
+ }, [storeHeaders, headerProvider]);
18
26
 
19
27
  const [requestPayload, setRequestPayload] = useState<Record<any, any>>();
20
28
 
21
29
  const isFutureMutationsPaused = usePauseFutureRequests((state) => state.isFutureMutationsPaused);
22
- const { context } = useStore(bootStore);
23
30
 
24
31
  const sendRequest = async (res: (value: any) => void, rej: (reason?: any) => void, data: any) => {
25
32
  // get request headers
@@ -3,7 +3,7 @@ import { useMutation } from '@tanstack/react-query';
3
3
  import { useEnvironmentVariables, useReactNativeEnv } from '../config';
4
4
 
5
5
  import { useStore } from '@tanstack/react-store';
6
- import { useEffect, useState } from 'react';
6
+ import { useEffect, useMemo, useState } from 'react';
7
7
  import { bootStore } from '../config/bootStore';
8
8
  import { scrollToTop } from '../helpers';
9
9
  import { useUploadProgress } from '../hooks';
@@ -25,9 +25,17 @@ export const usePostRequest = <TResponse>({
25
25
  } & DefaultRequestOptions) => {
26
26
  const { API_URL, TIMEOUT } = useEnvironmentVariables();
27
27
 
28
- const { context } = useStore(bootStore);
28
+ const { context, headerProvider } = useStore(bootStore);
29
29
 
30
- const globalHeaders = useHeaderStore((state) => state.headers);
30
+ const storeHeaders = useHeaderStore((state) => state.headers);
31
+
32
+ // Get headers from both the store and the headerProvider (if configured)
33
+ // headerProvider allows reading from cookies/localStorage synchronously
34
+ const globalHeaders = useMemo(() => {
35
+ const providerHeaders = headerProvider ? headerProvider() : undefined;
36
+ // Merge: store headers take precedence over provider headers
37
+ return { ...providerHeaders, ...storeHeaders };
38
+ }, [storeHeaders, headerProvider]);
31
39
  const { isApp } = useReactNativeEnv();
32
40
  const { uploadProgressPercent, onUploadProgress } = useUploadProgress();
33
41
  const [requestPayload, setRequestPayload] = useState<Record<any, any>>();
@@ -1,7 +1,7 @@
1
1
  import type { MutateOptions } from '@tanstack/react-query';
2
2
  import { useMutation } from '@tanstack/react-query';
3
3
  import { useStore } from '@tanstack/react-store';
4
- import { useEffect, useState } from 'react';
4
+ import { useEffect, useMemo, useState } from 'react';
5
5
  import { useEnvironmentVariables } from '../config';
6
6
  import { bootStore } from '../config/bootStore';
7
7
  import { scrollToTop } from '../helpers';
@@ -14,14 +14,20 @@ import type { DefaultRequestOptions } from './queries.interface';
14
14
  export const usePutRequest = <TResponse>({ path, baseUrl, headers }: { path: string } & DefaultRequestOptions) => {
15
15
  const { API_URL, TIMEOUT } = useEnvironmentVariables();
16
16
  const { uploadProgressPercent, onUploadProgress } = useUploadProgress();
17
- const globalHeaders = useHeaderStore((state) => state.headers);
17
+ const { context, headerProvider } = useStore(bootStore);
18
+
19
+ const storeHeaders = useHeaderStore((state) => state.headers);
20
+
21
+ // Get headers from both the store and the headerProvider (if configured)
22
+ const globalHeaders = useMemo(() => {
23
+ const providerHeaders = headerProvider ? headerProvider() : undefined;
24
+ return { ...providerHeaders, ...storeHeaders };
25
+ }, [storeHeaders, headerProvider]);
18
26
 
19
27
  const [requestPayload, setRequestPayload] = useState<Record<any, any>>();
20
28
 
21
29
  const isFutureMutationsPaused = usePauseFutureRequests((state) => state.isFutureMutationsPaused);
22
30
 
23
- const { context } = useStore(bootStore);
24
-
25
31
  const sendRequest = async (res: (value: any) => void, rej: (reason?: any) => void, data: any) => {
26
32
  // get request headers
27
33
 
@@ -1,6 +1,6 @@
1
1
  import type { AxiosProgressEvent, RawAxiosRequestHeaders } from 'axios';
2
- import type { AppFileConfig, HttpMethod, IMakeRequest, IRequestError, IRequestSuccess } from '../request';
3
2
  import type { IPagination } from '../queries';
3
+ import type { AppFileConfig, HttpMethod, IMakeRequest, IRequestError, IRequestSuccess } from '../request';
4
4
 
5
5
  // Enhanced middleware types
6
6
  export type MiddlewareFunction<T = any> = (
@@ -37,6 +37,22 @@ export interface BootstrapConfig {
37
37
  middleware?: MiddlewareFunction[] | LegacyMiddlewareFunction;
38
38
  // Custom pagination configuration
39
39
  pagination?: PaginationConfig;
40
+ /**
41
+ * Optional function to provide headers synchronously.
42
+ * This is called on every request to get the current headers.
43
+ * Use this to read auth tokens from cookies or other persistent storage.
44
+ * The returned headers are merged with headers from the header store.
45
+ *
46
+ * Example:
47
+ * ```
48
+ * headerProvider: () => {
49
+ * const token = getCookie('authToken');
50
+ * const spaceId = getCookie('spaceId');
51
+ * return token ? { Authorization: `Bearer ${token}`, } : undefined;
52
+ * }
53
+ * ```
54
+ */
55
+ headerProvider?: () => QueryHeaders;
40
56
  }
41
57
 
42
58
  export interface PaginationConfig {