{"version":3,"file":"7189.8fc8e85093039e7e.js","sources":["webpack://storefronts/./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","webpack://storefronts/./node_modules/use-sync-external-store/shim/index.js","webpack://storefronts/./node_modules/@tanstack/query-core/build/lib/subscribable.mjs","webpack://storefronts/./node_modules/@tanstack/query-core/build/lib/utils.mjs","webpack://storefronts/./node_modules/@tanstack/query-core/build/lib/focusManager.mjs","webpack://storefronts/./node_modules/@tanstack/query-core/build/lib/onlineManager.mjs","webpack://storefronts/./node_modules/@tanstack/query-core/build/lib/retryer.mjs","webpack://storefronts/./node_modules/@tanstack/query-core/build/lib/logger.mjs","webpack://storefronts/./node_modules/@tanstack/query-core/build/lib/notifyManager.mjs","webpack://storefronts/./node_modules/@tanstack/query-core/build/lib/removable.mjs","webpack://storefronts/./node_modules/@tanstack/query-core/build/lib/query.mjs","webpack://storefronts/./node_modules/@tanstack/query-core/build/lib/queryCache.mjs","webpack://storefronts/./node_modules/@tanstack/query-core/build/lib/mutation.mjs","webpack://storefronts/./node_modules/@tanstack/query-core/build/lib/mutationCache.mjs","webpack://storefronts/./node_modules/@tanstack/query-core/build/lib/infiniteQueryBehavior.mjs","webpack://storefronts/./node_modules/@tanstack/query-core/build/lib/queryClient.mjs","webpack://storefronts/./node_modules/@tanstack/query-core/build/lib/queryObserver.mjs","webpack://storefronts/./node_modules/@tanstack/query-core/build/lib/queriesObserver.mjs","webpack://storefronts/./node_modules/@tanstack/query-core/build/lib/infiniteQueryObserver.mjs","webpack://storefronts/./node_modules/@tanstack/query-core/build/lib/mutationObserver.mjs","webpack://storefronts/./node_modules/@tanstack/query-core/build/lib/hydration.mjs","webpack://storefronts/./node_modules/@tanstack/react-query/build/lib/useSyncExternalStore.mjs","webpack://storefronts/./node_modules/@tanstack/react-query/build/lib/QueryClientProvider.mjs","webpack://storefronts/./node_modules/@tanstack/react-query/build/lib/isRestoring.mjs","webpack://storefronts/./node_modules/@tanstack/react-query/build/lib/QueryErrorResetBoundary.mjs","webpack://storefronts/./node_modules/@tanstack/react-query/build/lib/utils.mjs","webpack://storefronts/./node_modules/@tanstack/react-query/build/lib/errorBoundaryUtils.mjs","webpack://storefronts/./node_modules/@tanstack/react-query/build/lib/suspense.mjs","webpack://storefronts/./node_modules/@tanstack/react-query/build/lib/useQueries.mjs","webpack://storefronts/./node_modules/@tanstack/react-query/build/lib/useBaseQuery.mjs","webpack://storefronts/./node_modules/@tanstack/react-query/build/lib/useQuery.mjs","webpack://storefronts/./node_modules/@tanstack/react-query/build/lib/Hydrate.mjs","webpack://storefronts/./node_modules/@tanstack/react-query/build/lib/useIsFetching.mjs","webpack://storefronts/./node_modules/@tanstack/react-query/build/lib/useIsMutating.mjs","webpack://storefronts/./node_modules/@tanstack/react-query/build/lib/useMutation.mjs","webpack://storefronts/./node_modules/@tanstack/react-query/build/lib/useInfiniteQuery.mjs"],"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","'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","class Subscribable {\n constructor() {\n this.listeners = new Set();\n this.subscribe = this.subscribe.bind(this);\n }\n\n subscribe(listener) {\n const identity = {\n listener\n };\n this.listeners.add(identity);\n this.onSubscribe();\n return () => {\n this.listeners.delete(identity);\n this.onUnsubscribe();\n };\n }\n\n hasListeners() {\n return this.listeners.size > 0;\n }\n\n onSubscribe() {// Do nothing\n }\n\n onUnsubscribe() {// Do nothing\n }\n\n}\n\nexport { Subscribable };\n//# sourceMappingURL=subscribable.mjs.map\n","// TYPES\n// UTILS\nconst isServer = typeof window === 'undefined' || 'Deno' in window;\nfunction noop() {\n return undefined;\n}\nfunction functionalUpdate(updater, input) {\n return typeof updater === 'function' ? updater(input) : updater;\n}\nfunction isValidTimeout(value) {\n return typeof value === 'number' && value >= 0 && value !== Infinity;\n}\nfunction difference(array1, array2) {\n return array1.filter(x => !array2.includes(x));\n}\nfunction replaceAt(array, index, value) {\n const copy = array.slice(0);\n copy[index] = value;\n return copy;\n}\nfunction timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n}\nfunction parseQueryArgs(arg1, arg2, arg3) {\n if (!isQueryKey(arg1)) {\n return arg1;\n }\n\n if (typeof arg2 === 'function') {\n return { ...arg3,\n queryKey: arg1,\n queryFn: arg2\n };\n }\n\n return { ...arg2,\n queryKey: arg1\n };\n}\nfunction parseMutationArgs(arg1, arg2, arg3) {\n if (isQueryKey(arg1)) {\n if (typeof arg2 === 'function') {\n return { ...arg3,\n mutationKey: arg1,\n mutationFn: arg2\n };\n }\n\n return { ...arg2,\n mutationKey: arg1\n };\n }\n\n if (typeof arg1 === 'function') {\n return { ...arg2,\n mutationFn: arg1\n };\n }\n\n return { ...arg1\n };\n}\nfunction parseFilterArgs(arg1, arg2, arg3) {\n return isQueryKey(arg1) ? [{ ...arg2,\n queryKey: arg1\n }, arg3] : [arg1 || {}, arg2];\n}\nfunction parseMutationFilterArgs(arg1, arg2, arg3) {\n return isQueryKey(arg1) ? [{ ...arg2,\n mutationKey: arg1\n }, arg3] : [arg1 || {}, arg2];\n}\nfunction matchQuery(filters, query) {\n const {\n type = 'all',\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale\n } = filters;\n\n if (isQueryKey(queryKey)) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false;\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false;\n }\n }\n\n if (type !== 'all') {\n const isActive = query.isActive();\n\n if (type === 'active' && !isActive) {\n return false;\n }\n\n if (type === 'inactive' && isActive) {\n return false;\n }\n }\n\n if (typeof stale === 'boolean' && query.isStale() !== stale) {\n return false;\n }\n\n if (typeof fetchStatus !== 'undefined' && fetchStatus !== query.state.fetchStatus) {\n return false;\n }\n\n if (predicate && !predicate(query)) {\n return false;\n }\n\n return true;\n}\nfunction matchMutation(filters, mutation) {\n const {\n exact,\n fetching,\n predicate,\n mutationKey\n } = filters;\n\n if (isQueryKey(mutationKey)) {\n if (!mutation.options.mutationKey) {\n return false;\n }\n\n if (exact) {\n if (hashQueryKey(mutation.options.mutationKey) !== hashQueryKey(mutationKey)) {\n return false;\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false;\n }\n }\n\n if (typeof fetching === 'boolean' && mutation.state.status === 'loading' !== fetching) {\n return false;\n }\n\n if (predicate && !predicate(mutation)) {\n return false;\n }\n\n return true;\n}\nfunction hashQueryKeyByOptions(queryKey, options) {\n const hashFn = (options == null ? void 0 : options.queryKeyHashFn) || hashQueryKey;\n return hashFn(queryKey);\n}\n/**\n * Default query keys hash function.\n * Hashes the value into a stable hash.\n */\n\nfunction hashQueryKey(queryKey) {\n return JSON.stringify(queryKey, (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => {\n result[key] = val[key];\n return result;\n }, {}) : val);\n}\n/**\n * Checks if key `b` partially matches with key `a`.\n */\n\nfunction partialMatchKey(a, b) {\n return partialDeepEqual(a, b);\n}\n/**\n * Checks if `b` partially matches with `a`.\n */\n\nfunction partialDeepEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (typeof a !== typeof b) {\n return false;\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n return !Object.keys(b).some(key => !partialDeepEqual(a[key], b[key]));\n }\n\n return false;\n}\n/**\n * This function returns `a` if `b` is deeply equal.\n * If not, it will replace any deeply equal children of `b` with those of `a`.\n * This can be used for structural sharing between JSON values for example.\n */\n\nfunction replaceEqualDeep(a, b) {\n if (a === b) {\n return a;\n }\n\n const array = isPlainArray(a) && isPlainArray(b);\n\n if (array || isPlainObject(a) && isPlainObject(b)) {\n const aSize = array ? a.length : Object.keys(a).length;\n const bItems = array ? b : Object.keys(b);\n const bSize = bItems.length;\n const copy = array ? [] : {};\n let equalItems = 0;\n\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i];\n copy[key] = replaceEqualDeep(a[key], b[key]);\n\n if (copy[key] === a[key]) {\n equalItems++;\n }\n }\n\n return aSize === bSize && equalItems === aSize ? a : copy;\n }\n\n return b;\n}\n/**\n * Shallow compare objects. Only works with objects that always have the same properties.\n */\n\nfunction shallowEqualObjects(a, b) {\n if (a && !b || b && !a) {\n return false;\n }\n\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n\n return true;\n}\nfunction isPlainArray(value) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n} // Copied from: https://github.com/jonschlinkert/is-plain-object\n\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n } // If has modified constructor\n\n\n const ctor = o.constructor;\n\n if (typeof ctor === 'undefined') {\n return true;\n } // If has modified prototype\n\n\n const prot = ctor.prototype;\n\n if (!hasObjectPrototype(prot)) {\n return false;\n } // If constructor does not have an Object-specific method\n\n\n if (!prot.hasOwnProperty('isPrototypeOf')) {\n return false;\n } // Most likely a plain Object\n\n\n return true;\n}\n\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n\nfunction isQueryKey(value) {\n return Array.isArray(value);\n}\nfunction isError(value) {\n return value instanceof Error;\n}\nfunction sleep(timeout) {\n return new Promise(resolve => {\n setTimeout(resolve, timeout);\n });\n}\n/**\n * Schedules a microtask.\n * This can be useful to schedule state updates after rendering.\n */\n\nfunction scheduleMicrotask(callback) {\n sleep(0).then(callback);\n}\nfunction getAbortController() {\n if (typeof AbortController === 'function') {\n return new AbortController();\n }\n\n return;\n}\nfunction replaceData(prevData, data, options) {\n // Use prev data if an isDataEqual function is defined and returns `true`\n if (options.isDataEqual != null && options.isDataEqual(prevData, data)) {\n return prevData;\n } else if (typeof options.structuralSharing === 'function') {\n return options.structuralSharing(prevData, data);\n } else if (options.structuralSharing !== false) {\n // Structurally share data between prev and new data if needed\n return replaceEqualDeep(prevData, data);\n }\n\n return data;\n}\n\nexport { difference, functionalUpdate, getAbortController, hashQueryKey, hashQueryKeyByOptions, isError, isPlainArray, isPlainObject, isQueryKey, isServer, isValidTimeout, matchMutation, matchQuery, noop, parseFilterArgs, parseMutationArgs, parseMutationFilterArgs, parseQueryArgs, partialDeepEqual, partialMatchKey, replaceAt, replaceData, replaceEqualDeep, scheduleMicrotask, shallowEqualObjects, sleep, timeUntilStale };\n//# sourceMappingURL=utils.mjs.map\n","import { Subscribable } from './subscribable.mjs';\nimport { isServer } from './utils.mjs';\n\nclass FocusManager extends Subscribable {\n constructor() {\n super();\n\n this.setup = onFocus => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus(); // Listen to visibillitychange and focus\n\n\n window.addEventListener('visibilitychange', listener, false);\n window.addEventListener('focus', listener, false);\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('visibilitychange', listener);\n window.removeEventListener('focus', listener);\n };\n }\n\n return;\n };\n }\n\n onSubscribe() {\n if (!this.cleanup) {\n this.setEventListener(this.setup);\n }\n }\n\n onUnsubscribe() {\n if (!this.hasListeners()) {\n var _this$cleanup;\n\n (_this$cleanup = this.cleanup) == null ? void 0 : _this$cleanup.call(this);\n this.cleanup = undefined;\n }\n }\n\n setEventListener(setup) {\n var _this$cleanup2;\n\n this.setup = setup;\n (_this$cleanup2 = this.cleanup) == null ? void 0 : _this$cleanup2.call(this);\n this.cleanup = setup(focused => {\n if (typeof focused === 'boolean') {\n this.setFocused(focused);\n } else {\n this.onFocus();\n }\n });\n }\n\n setFocused(focused) {\n const changed = this.focused !== focused;\n\n if (changed) {\n this.focused = focused;\n this.onFocus();\n }\n }\n\n onFocus() {\n this.listeners.forEach(({\n listener\n }) => {\n listener();\n });\n }\n\n isFocused() {\n if (typeof this.focused === 'boolean') {\n return this.focused;\n } // document global can be unavailable in react native\n\n\n if (typeof document === 'undefined') {\n return true;\n }\n\n return [undefined, 'visible', 'prerender'].includes(document.visibilityState);\n }\n\n}\nconst focusManager = new FocusManager();\n\nexport { FocusManager, focusManager };\n//# sourceMappingURL=focusManager.mjs.map\n","import { Subscribable } from './subscribable.mjs';\nimport { isServer } from './utils.mjs';\n\nconst onlineEvents = ['online', 'offline'];\nclass OnlineManager extends Subscribable {\n constructor() {\n super();\n\n this.setup = onOnline => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onOnline(); // Listen to online\n\n\n onlineEvents.forEach(event => {\n window.addEventListener(event, listener, false);\n });\n return () => {\n // Be sure to unsubscribe if a new handler is set\n onlineEvents.forEach(event => {\n window.removeEventListener(event, listener);\n });\n };\n }\n\n return;\n };\n }\n\n onSubscribe() {\n if (!this.cleanup) {\n this.setEventListener(this.setup);\n }\n }\n\n onUnsubscribe() {\n if (!this.hasListeners()) {\n var _this$cleanup;\n\n (_this$cleanup = this.cleanup) == null ? void 0 : _this$cleanup.call(this);\n this.cleanup = undefined;\n }\n }\n\n setEventListener(setup) {\n var _this$cleanup2;\n\n this.setup = setup;\n (_this$cleanup2 = this.cleanup) == null ? void 0 : _this$cleanup2.call(this);\n this.cleanup = setup(online => {\n if (typeof online === 'boolean') {\n this.setOnline(online);\n } else {\n this.onOnline();\n }\n });\n }\n\n setOnline(online) {\n const changed = this.online !== online;\n\n if (changed) {\n this.online = online;\n this.onOnline();\n }\n }\n\n onOnline() {\n this.listeners.forEach(({\n listener\n }) => {\n listener();\n });\n }\n\n isOnline() {\n if (typeof this.online === 'boolean') {\n return this.online;\n }\n\n if (typeof navigator === 'undefined' || typeof navigator.onLine === 'undefined') {\n return true;\n }\n\n return navigator.onLine;\n }\n\n}\nconst onlineManager = new OnlineManager();\n\nexport { OnlineManager, onlineManager };\n//# sourceMappingURL=onlineManager.mjs.map\n","import { focusManager } from './focusManager.mjs';\nimport { onlineManager } from './onlineManager.mjs';\nimport { sleep } from './utils.mjs';\n\nfunction defaultRetryDelay(failureCount) {\n return Math.min(1000 * 2 ** failureCount, 30000);\n}\n\nfunction canFetch(networkMode) {\n return (networkMode != null ? networkMode : 'online') === 'online' ? onlineManager.isOnline() : true;\n}\nclass CancelledError {\n constructor(options) {\n this.revert = options == null ? void 0 : options.revert;\n this.silent = options == null ? void 0 : options.silent;\n }\n\n}\nfunction isCancelledError(value) {\n return value instanceof CancelledError;\n}\nfunction createRetryer(config) {\n let isRetryCancelled = false;\n let failureCount = 0;\n let isResolved = false;\n let continueFn;\n let promiseResolve;\n let promiseReject;\n const promise = new Promise((outerResolve, outerReject) => {\n promiseResolve = outerResolve;\n promiseReject = outerReject;\n });\n\n const cancel = cancelOptions => {\n if (!isResolved) {\n reject(new CancelledError(cancelOptions));\n config.abort == null ? void 0 : config.abort();\n }\n };\n\n const cancelRetry = () => {\n isRetryCancelled = true;\n };\n\n const continueRetry = () => {\n isRetryCancelled = false;\n };\n\n const shouldPause = () => !focusManager.isFocused() || config.networkMode !== 'always' && !onlineManager.isOnline();\n\n const resolve = value => {\n if (!isResolved) {\n isResolved = true;\n config.onSuccess == null ? void 0 : config.onSuccess(value);\n continueFn == null ? void 0 : continueFn();\n promiseResolve(value);\n }\n };\n\n const reject = value => {\n if (!isResolved) {\n isResolved = true;\n config.onError == null ? void 0 : config.onError(value);\n continueFn == null ? void 0 : continueFn();\n promiseReject(value);\n }\n };\n\n const pause = () => {\n return new Promise(continueResolve => {\n continueFn = value => {\n const canContinue = isResolved || !shouldPause();\n\n if (canContinue) {\n continueResolve(value);\n }\n\n return canContinue;\n };\n\n config.onPause == null ? void 0 : config.onPause();\n }).then(() => {\n continueFn = undefined;\n\n if (!isResolved) {\n config.onContinue == null ? void 0 : config.onContinue();\n }\n });\n }; // Create loop function\n\n\n const run = () => {\n // Do nothing if already resolved\n if (isResolved) {\n return;\n }\n\n let promiseOrValue; // Execute query\n\n try {\n promiseOrValue = config.fn();\n } catch (error) {\n promiseOrValue = Promise.reject(error);\n }\n\n Promise.resolve(promiseOrValue).then(resolve).catch(error => {\n var _config$retry, _config$retryDelay;\n\n // Stop if the fetch is already resolved\n if (isResolved) {\n return;\n } // Do we need to retry the request?\n\n\n const retry = (_config$retry = config.retry) != null ? _config$retry : 3;\n const retryDelay = (_config$retryDelay = config.retryDelay) != null ? _config$retryDelay : defaultRetryDelay;\n const delay = typeof retryDelay === 'function' ? retryDelay(failureCount, error) : retryDelay;\n const shouldRetry = retry === true || typeof retry === 'number' && failureCount < retry || typeof retry === 'function' && retry(failureCount, error);\n\n if (isRetryCancelled || !shouldRetry) {\n // We are done if the query does not need to be retried\n reject(error);\n return;\n }\n\n failureCount++; // Notify on fail\n\n config.onFail == null ? void 0 : config.onFail(failureCount, error); // Delay\n\n sleep(delay) // Pause if the document is not visible or when the device is offline\n .then(() => {\n if (shouldPause()) {\n return pause();\n }\n\n return;\n }).then(() => {\n if (isRetryCancelled) {\n reject(error);\n } else {\n run();\n }\n });\n });\n }; // Start loop\n\n\n if (canFetch(config.networkMode)) {\n run();\n } else {\n pause().then(run);\n }\n\n return {\n promise,\n cancel,\n continue: () => {\n const didContinue = continueFn == null ? void 0 : continueFn();\n return didContinue ? promise : Promise.resolve();\n },\n cancelRetry,\n continueRetry\n };\n}\n\nexport { CancelledError, canFetch, createRetryer, isCancelledError };\n//# sourceMappingURL=retryer.mjs.map\n","const defaultLogger = console;\n\nexport { defaultLogger };\n//# sourceMappingURL=logger.mjs.map\n","import { scheduleMicrotask } from './utils.mjs';\n\nfunction createNotifyManager() {\n let queue = [];\n let transactions = 0;\n\n let notifyFn = callback => {\n callback();\n };\n\n let batchNotifyFn = callback => {\n callback();\n };\n\n const batch = callback => {\n let result;\n transactions++;\n\n try {\n result = callback();\n } finally {\n transactions--;\n\n if (!transactions) {\n flush();\n }\n }\n\n return result;\n };\n\n const schedule = callback => {\n if (transactions) {\n queue.push(callback);\n } else {\n scheduleMicrotask(() => {\n notifyFn(callback);\n });\n }\n };\n /**\n * All calls to the wrapped function will be batched.\n */\n\n\n const batchCalls = callback => {\n return (...args) => {\n schedule(() => {\n callback(...args);\n });\n };\n };\n\n const flush = () => {\n const originalQueue = queue;\n queue = [];\n\n if (originalQueue.length) {\n scheduleMicrotask(() => {\n batchNotifyFn(() => {\n originalQueue.forEach(callback => {\n notifyFn(callback);\n });\n });\n });\n }\n };\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n\n\n const setNotifyFunction = fn => {\n notifyFn = fn;\n };\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n\n\n const setBatchNotifyFunction = fn => {\n batchNotifyFn = fn;\n };\n\n return {\n batch,\n batchCalls,\n schedule,\n setNotifyFunction,\n setBatchNotifyFunction\n };\n} // SINGLETON\n\nconst notifyManager = createNotifyManager();\n\nexport { createNotifyManager, notifyManager };\n//# sourceMappingURL=notifyManager.mjs.map\n","import { isValidTimeout, isServer } from './utils.mjs';\n\nclass Removable {\n destroy() {\n this.clearGcTimeout();\n }\n\n scheduleGc() {\n this.clearGcTimeout();\n\n if (isValidTimeout(this.cacheTime)) {\n this.gcTimeout = setTimeout(() => {\n this.optionalRemove();\n }, this.cacheTime);\n }\n }\n\n updateCacheTime(newCacheTime) {\n // Default to 5 minutes (Infinity for server-side) if no cache time is set\n this.cacheTime = Math.max(this.cacheTime || 0, newCacheTime != null ? newCacheTime : isServer ? Infinity : 5 * 60 * 1000);\n }\n\n clearGcTimeout() {\n if (this.gcTimeout) {\n clearTimeout(this.gcTimeout);\n this.gcTimeout = undefined;\n }\n }\n\n}\n\nexport { Removable };\n//# sourceMappingURL=removable.mjs.map\n","import { replaceData, noop, timeUntilStale, getAbortController } from './utils.mjs';\nimport { defaultLogger } from './logger.mjs';\nimport { notifyManager } from './notifyManager.mjs';\nimport { createRetryer, isCancelledError, canFetch } from './retryer.mjs';\nimport { Removable } from './removable.mjs';\n\n// CLASS\nclass Query extends Removable {\n constructor(config) {\n super();\n this.abortSignalConsumed = false;\n this.defaultOptions = config.defaultOptions;\n this.setOptions(config.options);\n this.observers = [];\n this.cache = config.cache;\n this.logger = config.logger || defaultLogger;\n this.queryKey = config.queryKey;\n this.queryHash = config.queryHash;\n this.initialState = config.state || getDefaultState(this.options);\n this.state = this.initialState;\n this.scheduleGc();\n }\n\n get meta() {\n return this.options.meta;\n }\n\n setOptions(options) {\n this.options = { ...this.defaultOptions,\n ...options\n };\n this.updateCacheTime(this.options.cacheTime);\n }\n\n optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === 'idle') {\n this.cache.remove(this);\n }\n }\n\n setData(newData, options) {\n const data = replaceData(this.state.data, newData, this.options); // Set data and mark it as cached\n\n this.dispatch({\n data,\n type: 'success',\n dataUpdatedAt: options == null ? void 0 : options.updatedAt,\n manual: options == null ? void 0 : options.manual\n });\n return data;\n }\n\n setState(state, setStateOptions) {\n this.dispatch({\n type: 'setState',\n state,\n setStateOptions\n });\n }\n\n cancel(options) {\n var _this$retryer;\n\n const promise = this.promise;\n (_this$retryer = this.retryer) == null ? void 0 : _this$retryer.cancel(options);\n return promise ? promise.then(noop).catch(noop) : Promise.resolve();\n }\n\n destroy() {\n super.destroy();\n this.cancel({\n silent: true\n });\n }\n\n reset() {\n this.destroy();\n this.setState(this.initialState);\n }\n\n isActive() {\n return this.observers.some(observer => observer.options.enabled !== false);\n }\n\n isDisabled() {\n return this.getObserversCount() > 0 && !this.isActive();\n }\n\n isStale() {\n return this.state.isInvalidated || !this.state.dataUpdatedAt || this.observers.some(observer => observer.getCurrentResult().isStale);\n }\n\n isStaleByTime(staleTime = 0) {\n return this.state.isInvalidated || !this.state.dataUpdatedAt || !timeUntilStale(this.state.dataUpdatedAt, staleTime);\n }\n\n onFocus() {\n var _this$retryer2;\n\n const observer = this.observers.find(x => x.shouldFetchOnWindowFocus());\n\n if (observer) {\n observer.refetch({\n cancelRefetch: false\n });\n } // Continue fetch if currently paused\n\n\n (_this$retryer2 = this.retryer) == null ? void 0 : _this$retryer2.continue();\n }\n\n onOnline() {\n var _this$retryer3;\n\n const observer = this.observers.find(x => x.shouldFetchOnReconnect());\n\n if (observer) {\n observer.refetch({\n cancelRefetch: false\n });\n } // Continue fetch if currently paused\n\n\n (_this$retryer3 = this.retryer) == null ? void 0 : _this$retryer3.continue();\n }\n\n addObserver(observer) {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer); // Stop the query from being garbage collected\n\n this.clearGcTimeout();\n this.cache.notify({\n type: 'observerAdded',\n query: this,\n observer\n });\n }\n }\n\n removeObserver(observer) {\n if (this.observers.includes(observer)) {\n this.observers = this.observers.filter(x => x !== observer);\n\n if (!this.observers.length) {\n // If the transport layer does not support cancellation\n // we'll let the query continue so the result can be cached\n if (this.retryer) {\n if (this.abortSignalConsumed) {\n this.retryer.cancel({\n revert: true\n });\n } else {\n this.retryer.cancelRetry();\n }\n }\n\n this.scheduleGc();\n }\n\n this.cache.notify({\n type: 'observerRemoved',\n query: this,\n observer\n });\n }\n }\n\n getObserversCount() {\n return this.observers.length;\n }\n\n invalidate() {\n if (!this.state.isInvalidated) {\n this.dispatch({\n type: 'invalidate'\n });\n }\n }\n\n fetch(options, fetchOptions) {\n var _this$options$behavio, _context$fetchOptions;\n\n if (this.state.fetchStatus !== 'idle') {\n if (this.state.dataUpdatedAt && fetchOptions != null && fetchOptions.cancelRefetch) {\n // Silently cancel current fetch if the user wants to cancel refetches\n this.cancel({\n silent: true\n });\n } else if (this.promise) {\n var _this$retryer4;\n\n // make sure that retries that were potentially cancelled due to unmounts can continue\n (_this$retryer4 = this.retryer) == null ? void 0 : _this$retryer4.continueRetry(); // Return current promise if we are already fetching\n\n return this.promise;\n }\n } // Update config if passed, otherwise the config from the last execution is used\n\n\n if (options) {\n this.setOptions(options);\n } // Use the options from the first observer with a query function if no function is found.\n // This can happen when the query is hydrated or created with setQueryData.\n\n\n if (!this.options.queryFn) {\n const observer = this.observers.find(x => x.options.queryFn);\n\n if (observer) {\n this.setOptions(observer.options);\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!Array.isArray(this.options.queryKey)) {\n this.logger.error(\"As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']\");\n }\n }\n\n const abortController = getAbortController(); // Create query function context\n\n const queryFnContext = {\n queryKey: this.queryKey,\n pageParam: undefined,\n meta: this.meta\n }; // Adds an enumerable signal property to the object that\n // which sets abortSignalConsumed to true when the signal\n // is read.\n\n const addSignalProperty = object => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n if (abortController) {\n this.abortSignalConsumed = true;\n return abortController.signal;\n }\n\n return undefined;\n }\n });\n };\n\n addSignalProperty(queryFnContext); // Create fetch function\n\n const fetchFn = () => {\n if (!this.options.queryFn) {\n return Promise.reject(\"Missing queryFn for queryKey '\" + this.options.queryHash + \"'\");\n }\n\n this.abortSignalConsumed = false;\n return this.options.queryFn(queryFnContext);\n }; // Trigger behavior hook\n\n\n const context = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n state: this.state,\n fetchFn\n };\n addSignalProperty(context);\n (_this$options$behavio = this.options.behavior) == null ? void 0 : _this$options$behavio.onFetch(context); // Store state in case the current fetch needs to be reverted\n\n this.revertState = this.state; // Set to fetching state if not already in it\n\n if (this.state.fetchStatus === 'idle' || this.state.fetchMeta !== ((_context$fetchOptions = context.fetchOptions) == null ? void 0 : _context$fetchOptions.meta)) {\n var _context$fetchOptions2;\n\n this.dispatch({\n type: 'fetch',\n meta: (_context$fetchOptions2 = context.fetchOptions) == null ? void 0 : _context$fetchOptions2.meta\n });\n }\n\n const onError = error => {\n // Optimistically update state if needed\n if (!(isCancelledError(error) && error.silent)) {\n this.dispatch({\n type: 'error',\n error: error\n });\n }\n\n if (!isCancelledError(error)) {\n var _this$cache$config$on, _this$cache$config, _this$cache$config$on2, _this$cache$config2;\n\n // Notify cache callback\n (_this$cache$config$on = (_this$cache$config = this.cache.config).onError) == null ? void 0 : _this$cache$config$on.call(_this$cache$config, error, this);\n (_this$cache$config$on2 = (_this$cache$config2 = this.cache.config).onSettled) == null ? void 0 : _this$cache$config$on2.call(_this$cache$config2, this.state.data, error, this);\n\n if (process.env.NODE_ENV !== 'production') {\n this.logger.error(error);\n }\n }\n\n if (!this.isFetchingOptimistic) {\n // Schedule query gc after fetching\n this.scheduleGc();\n }\n\n this.isFetchingOptimistic = false;\n }; // Try to fetch the data\n\n\n this.retryer = createRetryer({\n fn: context.fetchFn,\n abort: abortController == null ? void 0 : abortController.abort.bind(abortController),\n onSuccess: data => {\n var _this$cache$config$on3, _this$cache$config3, _this$cache$config$on4, _this$cache$config4;\n\n if (typeof data === 'undefined') {\n if (process.env.NODE_ENV !== 'production') {\n this.logger.error(\"Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: \" + this.queryHash);\n }\n\n onError(new Error(this.queryHash + \" data is undefined\"));\n return;\n }\n\n this.setData(data); // Notify cache callback\n\n (_this$cache$config$on3 = (_this$cache$config3 = this.cache.config).onSuccess) == null ? void 0 : _this$cache$config$on3.call(_this$cache$config3, data, this);\n (_this$cache$config$on4 = (_this$cache$config4 = this.cache.config).onSettled) == null ? void 0 : _this$cache$config$on4.call(_this$cache$config4, data, this.state.error, this);\n\n if (!this.isFetchingOptimistic) {\n // Schedule query gc after fetching\n this.scheduleGc();\n }\n\n this.isFetchingOptimistic = false;\n },\n onError,\n onFail: (failureCount, error) => {\n this.dispatch({\n type: 'failed',\n failureCount,\n error\n });\n },\n onPause: () => {\n this.dispatch({\n type: 'pause'\n });\n },\n onContinue: () => {\n this.dispatch({\n type: 'continue'\n });\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode\n });\n this.promise = this.retryer.promise;\n return this.promise;\n }\n\n dispatch(action) {\n const reducer = state => {\n var _action$meta, _action$dataUpdatedAt;\n\n switch (action.type) {\n case 'failed':\n return { ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error\n };\n\n case 'pause':\n return { ...state,\n fetchStatus: 'paused'\n };\n\n case 'continue':\n return { ...state,\n fetchStatus: 'fetching'\n };\n\n case 'fetch':\n return { ...state,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: (_action$meta = action.meta) != null ? _action$meta : null,\n fetchStatus: canFetch(this.options.networkMode) ? 'fetching' : 'paused',\n ...(!state.dataUpdatedAt && {\n error: null,\n status: 'loading'\n })\n };\n\n case 'success':\n return { ...state,\n data: action.data,\n dataUpdateCount: state.dataUpdateCount + 1,\n dataUpdatedAt: (_action$dataUpdatedAt = action.dataUpdatedAt) != null ? _action$dataUpdatedAt : Date.now(),\n error: null,\n isInvalidated: false,\n status: 'success',\n ...(!action.manual && {\n fetchStatus: 'idle',\n fetchFailureCount: 0,\n fetchFailureReason: null\n })\n };\n\n case 'error':\n const error = action.error;\n\n if (isCancelledError(error) && error.revert && this.revertState) {\n return { ...this.revertState,\n fetchStatus: 'idle'\n };\n }\n\n return { ...state,\n error: error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: 'idle',\n status: 'error'\n };\n\n case 'invalidate':\n return { ...state,\n isInvalidated: true\n };\n\n case 'setState':\n return { ...state,\n ...action.state\n };\n }\n };\n\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.observers.forEach(observer => {\n observer.onQueryUpdate(action);\n });\n this.cache.notify({\n query: this,\n type: 'updated',\n action\n });\n });\n }\n\n}\n\nfunction getDefaultState(options) {\n const data = typeof options.initialData === 'function' ? options.initialData() : options.initialData;\n const hasData = typeof data !== 'undefined';\n const initialDataUpdatedAt = hasData ? typeof options.initialDataUpdatedAt === 'function' ? options.initialDataUpdatedAt() : options.initialDataUpdatedAt : 0;\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt != null ? initialDataUpdatedAt : Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? 'success' : 'loading',\n fetchStatus: 'idle'\n };\n}\n\nexport { Query };\n//# sourceMappingURL=query.mjs.map\n","import { hashQueryKeyByOptions, parseFilterArgs, matchQuery } from './utils.mjs';\nimport { Query } from './query.mjs';\nimport { notifyManager } from './notifyManager.mjs';\nimport { Subscribable } from './subscribable.mjs';\n\n// CLASS\nclass QueryCache extends Subscribable {\n constructor(config) {\n super();\n this.config = config || {};\n this.queries = [];\n this.queriesMap = {};\n }\n\n build(client, options, state) {\n var _options$queryHash;\n\n const queryKey = options.queryKey;\n const queryHash = (_options$queryHash = options.queryHash) != null ? _options$queryHash : hashQueryKeyByOptions(queryKey, options);\n let query = this.get(queryHash);\n\n if (!query) {\n query = new Query({\n cache: this,\n logger: client.getLogger(),\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey)\n });\n this.add(query);\n }\n\n return query;\n }\n\n add(query) {\n if (!this.queriesMap[query.queryHash]) {\n this.queriesMap[query.queryHash] = query;\n this.queries.push(query);\n this.notify({\n type: 'added',\n query\n });\n }\n }\n\n remove(query) {\n const queryInMap = this.queriesMap[query.queryHash];\n\n if (queryInMap) {\n query.destroy();\n this.queries = this.queries.filter(x => x !== query);\n\n if (queryInMap === query) {\n delete this.queriesMap[query.queryHash];\n }\n\n this.notify({\n type: 'removed',\n query\n });\n }\n }\n\n clear() {\n notifyManager.batch(() => {\n this.queries.forEach(query => {\n this.remove(query);\n });\n });\n }\n\n get(queryHash) {\n return this.queriesMap[queryHash];\n }\n\n getAll() {\n return this.queries;\n }\n\n find(arg1, arg2) {\n const [filters] = parseFilterArgs(arg1, arg2);\n\n if (typeof filters.exact === 'undefined') {\n filters.exact = true;\n }\n\n return this.queries.find(query => matchQuery(filters, query));\n }\n\n findAll(arg1, arg2) {\n const [filters] = parseFilterArgs(arg1, arg2);\n return Object.keys(filters).length > 0 ? this.queries.filter(query => matchQuery(filters, query)) : this.queries;\n }\n\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach(({\n listener\n }) => {\n listener(event);\n });\n });\n }\n\n onFocus() {\n notifyManager.batch(() => {\n this.queries.forEach(query => {\n query.onFocus();\n });\n });\n }\n\n onOnline() {\n notifyManager.batch(() => {\n this.queries.forEach(query => {\n query.onOnline();\n });\n });\n }\n\n}\n\nexport { QueryCache };\n//# sourceMappingURL=queryCache.mjs.map\n","import { defaultLogger } from './logger.mjs';\nimport { notifyManager } from './notifyManager.mjs';\nimport { Removable } from './removable.mjs';\nimport { createRetryer, canFetch } from './retryer.mjs';\n\n// CLASS\nclass Mutation extends Removable {\n constructor(config) {\n super();\n this.defaultOptions = config.defaultOptions;\n this.mutationId = config.mutationId;\n this.mutationCache = config.mutationCache;\n this.logger = config.logger || defaultLogger;\n this.observers = [];\n this.state = config.state || getDefaultState();\n this.setOptions(config.options);\n this.scheduleGc();\n }\n\n setOptions(options) {\n this.options = { ...this.defaultOptions,\n ...options\n };\n this.updateCacheTime(this.options.cacheTime);\n }\n\n get meta() {\n return this.options.meta;\n }\n\n setState(state) {\n this.dispatch({\n type: 'setState',\n state\n });\n }\n\n addObserver(observer) {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer); // Stop the mutation from being garbage collected\n\n this.clearGcTimeout();\n this.mutationCache.notify({\n type: 'observerAdded',\n mutation: this,\n observer\n });\n }\n }\n\n removeObserver(observer) {\n this.observers = this.observers.filter(x => x !== observer);\n this.scheduleGc();\n this.mutationCache.notify({\n type: 'observerRemoved',\n mutation: this,\n observer\n });\n }\n\n optionalRemove() {\n if (!this.observers.length) {\n if (this.state.status === 'loading') {\n this.scheduleGc();\n } else {\n this.mutationCache.remove(this);\n }\n }\n }\n\n continue() {\n var _this$retryer$continu, _this$retryer;\n\n return (_this$retryer$continu = (_this$retryer = this.retryer) == null ? void 0 : _this$retryer.continue()) != null ? _this$retryer$continu : this.execute();\n }\n\n async execute() {\n const executeMutation = () => {\n var _this$options$retry;\n\n this.retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject('No mutationFn found');\n }\n\n return this.options.mutationFn(this.state.variables);\n },\n onFail: (failureCount, error) => {\n this.dispatch({\n type: 'failed',\n failureCount,\n error\n });\n },\n onPause: () => {\n this.dispatch({\n type: 'pause'\n });\n },\n onContinue: () => {\n this.dispatch({\n type: 'continue'\n });\n },\n retry: (_this$options$retry = this.options.retry) != null ? _this$options$retry : 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode\n });\n return this.retryer.promise;\n };\n\n const restored = this.state.status === 'loading';\n\n try {\n var _this$mutationCache$c3, _this$mutationCache$c4, _this$options$onSucce, _this$options2, _this$mutationCache$c5, _this$mutationCache$c6, _this$options$onSettl, _this$options3;\n\n if (!restored) {\n var _this$mutationCache$c, _this$mutationCache$c2, _this$options$onMutat, _this$options;\n\n this.dispatch({\n type: 'loading',\n variables: this.options.variables\n }); // Notify cache callback\n\n await ((_this$mutationCache$c = (_this$mutationCache$c2 = this.mutationCache.config).onMutate) == null ? void 0 : _this$mutationCache$c.call(_this$mutationCache$c2, this.state.variables, this));\n const context = await ((_this$options$onMutat = (_this$options = this.options).onMutate) == null ? void 0 : _this$options$onMutat.call(_this$options, this.state.variables));\n\n if (context !== this.state.context) {\n this.dispatch({\n type: 'loading',\n context,\n variables: this.state.variables\n });\n }\n }\n\n const data = await executeMutation(); // Notify cache callback\n\n await ((_this$mutationCache$c3 = (_this$mutationCache$c4 = this.mutationCache.config).onSuccess) == null ? void 0 : _this$mutationCache$c3.call(_this$mutationCache$c4, data, this.state.variables, this.state.context, this));\n await ((_this$options$onSucce = (_this$options2 = this.options).onSuccess) == null ? void 0 : _this$options$onSucce.call(_this$options2, data, this.state.variables, this.state.context)); // Notify cache callback\n\n await ((_this$mutationCache$c5 = (_this$mutationCache$c6 = this.mutationCache.config).onSettled) == null ? void 0 : _this$mutationCache$c5.call(_this$mutationCache$c6, data, null, this.state.variables, this.state.context, this));\n await ((_this$options$onSettl = (_this$options3 = this.options).onSettled) == null ? void 0 : _this$options$onSettl.call(_this$options3, data, null, this.state.variables, this.state.context));\n this.dispatch({\n type: 'success',\n data\n });\n return data;\n } catch (error) {\n try {\n var _this$mutationCache$c7, _this$mutationCache$c8, _this$options$onError, _this$options4, _this$mutationCache$c9, _this$mutationCache$c10, _this$options$onSettl2, _this$options5;\n\n // Notify cache callback\n await ((_this$mutationCache$c7 = (_this$mutationCache$c8 = this.mutationCache.config).onError) == null ? void 0 : _this$mutationCache$c7.call(_this$mutationCache$c8, error, this.state.variables, this.state.context, this));\n\n if (process.env.NODE_ENV !== 'production') {\n this.logger.error(error);\n }\n\n await ((_this$options$onError = (_this$options4 = this.options).onError) == null ? void 0 : _this$options$onError.call(_this$options4, error, this.state.variables, this.state.context)); // Notify cache callback\n\n await ((_this$mutationCache$c9 = (_this$mutationCache$c10 = this.mutationCache.config).onSettled) == null ? void 0 : _this$mutationCache$c9.call(_this$mutationCache$c10, undefined, error, this.state.variables, this.state.context, this));\n await ((_this$options$onSettl2 = (_this$options5 = this.options).onSettled) == null ? void 0 : _this$options$onSettl2.call(_this$options5, undefined, error, this.state.variables, this.state.context));\n throw error;\n } finally {\n this.dispatch({\n type: 'error',\n error: error\n });\n }\n }\n }\n\n dispatch(action) {\n const reducer = state => {\n switch (action.type) {\n case 'failed':\n return { ...state,\n failureCount: action.failureCount,\n failureReason: action.error\n };\n\n case 'pause':\n return { ...state,\n isPaused: true\n };\n\n case 'continue':\n return { ...state,\n isPaused: false\n };\n\n case 'loading':\n return { ...state,\n context: action.context,\n data: undefined,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: !canFetch(this.options.networkMode),\n status: 'loading',\n variables: action.variables\n };\n\n case 'success':\n return { ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: 'success',\n isPaused: false\n };\n\n case 'error':\n return { ...state,\n data: undefined,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: 'error'\n };\n\n case 'setState':\n return { ...state,\n ...action.state\n };\n }\n };\n\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.observers.forEach(observer => {\n observer.onMutationUpdate(action);\n });\n this.mutationCache.notify({\n mutation: this,\n type: 'updated',\n action\n });\n });\n }\n\n}\nfunction getDefaultState() {\n return {\n context: undefined,\n data: undefined,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: 'idle',\n variables: undefined\n };\n}\n\nexport { Mutation, getDefaultState };\n//# sourceMappingURL=mutation.mjs.map\n","import { notifyManager } from './notifyManager.mjs';\nimport { Mutation } from './mutation.mjs';\nimport { matchMutation, noop } from './utils.mjs';\nimport { Subscribable } from './subscribable.mjs';\n\n// CLASS\nclass MutationCache extends Subscribable {\n constructor(config) {\n super();\n this.config = config || {};\n this.mutations = [];\n this.mutationId = 0;\n }\n\n build(client, options, state) {\n const mutation = new Mutation({\n mutationCache: this,\n logger: client.getLogger(),\n mutationId: ++this.mutationId,\n options: client.defaultMutationOptions(options),\n state,\n defaultOptions: options.mutationKey ? client.getMutationDefaults(options.mutationKey) : undefined\n });\n this.add(mutation);\n return mutation;\n }\n\n add(mutation) {\n this.mutations.push(mutation);\n this.notify({\n type: 'added',\n mutation\n });\n }\n\n remove(mutation) {\n this.mutations = this.mutations.filter(x => x !== mutation);\n this.notify({\n type: 'removed',\n mutation\n });\n }\n\n clear() {\n notifyManager.batch(() => {\n this.mutations.forEach(mutation => {\n this.remove(mutation);\n });\n });\n }\n\n getAll() {\n return this.mutations;\n }\n\n find(filters) {\n if (typeof filters.exact === 'undefined') {\n filters.exact = true;\n }\n\n return this.mutations.find(mutation => matchMutation(filters, mutation));\n }\n\n findAll(filters) {\n return this.mutations.filter(mutation => matchMutation(filters, mutation));\n }\n\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach(({\n listener\n }) => {\n listener(event);\n });\n });\n }\n\n resumePausedMutations() {\n var _this$resuming;\n\n this.resuming = ((_this$resuming = this.resuming) != null ? _this$resuming : Promise.resolve()).then(() => {\n const pausedMutations = this.mutations.filter(x => x.state.isPaused);\n return notifyManager.batch(() => pausedMutations.reduce((promise, mutation) => promise.then(() => mutation.continue().catch(noop)), Promise.resolve()));\n }).then(() => {\n this.resuming = undefined;\n });\n return this.resuming;\n }\n\n}\n\nexport { MutationCache };\n//# sourceMappingURL=mutationCache.mjs.map\n","function infiniteQueryBehavior() {\n return {\n onFetch: context => {\n context.fetchFn = () => {\n var _context$fetchOptions, _context$fetchOptions2, _context$fetchOptions3, _context$fetchOptions4, _context$state$data, _context$state$data2;\n\n const refetchPage = (_context$fetchOptions = context.fetchOptions) == null ? void 0 : (_context$fetchOptions2 = _context$fetchOptions.meta) == null ? void 0 : _context$fetchOptions2.refetchPage;\n const fetchMore = (_context$fetchOptions3 = context.fetchOptions) == null ? void 0 : (_context$fetchOptions4 = _context$fetchOptions3.meta) == null ? void 0 : _context$fetchOptions4.fetchMore;\n const pageParam = fetchMore == null ? void 0 : fetchMore.pageParam;\n const isFetchingNextPage = (fetchMore == null ? void 0 : fetchMore.direction) === 'forward';\n const isFetchingPreviousPage = (fetchMore == null ? void 0 : fetchMore.direction) === 'backward';\n const oldPages = ((_context$state$data = context.state.data) == null ? void 0 : _context$state$data.pages) || [];\n const oldPageParams = ((_context$state$data2 = context.state.data) == null ? void 0 : _context$state$data2.pageParams) || [];\n let newPageParams = oldPageParams;\n let cancelled = false;\n\n const addSignalProperty = object => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n var _context$signal;\n\n if ((_context$signal = context.signal) != null && _context$signal.aborted) {\n cancelled = true;\n } else {\n var _context$signal2;\n\n (_context$signal2 = context.signal) == null ? void 0 : _context$signal2.addEventListener('abort', () => {\n cancelled = true;\n });\n }\n\n return context.signal;\n }\n });\n }; // Get query function\n\n\n const queryFn = context.options.queryFn || (() => Promise.reject(\"Missing queryFn for queryKey '\" + context.options.queryHash + \"'\"));\n\n const buildNewPages = (pages, param, page, previous) => {\n newPageParams = previous ? [param, ...newPageParams] : [...newPageParams, param];\n return previous ? [page, ...pages] : [...pages, page];\n }; // Create function to fetch a page\n\n\n const fetchPage = (pages, manual, param, previous) => {\n if (cancelled) {\n return Promise.reject('Cancelled');\n }\n\n if (typeof param === 'undefined' && !manual && pages.length) {\n return Promise.resolve(pages);\n }\n\n const queryFnContext = {\n queryKey: context.queryKey,\n pageParam: param,\n meta: context.options.meta\n };\n addSignalProperty(queryFnContext);\n const queryFnResult = queryFn(queryFnContext);\n const promise = Promise.resolve(queryFnResult).then(page => buildNewPages(pages, param, page, previous));\n return promise;\n };\n\n let promise; // Fetch first page?\n\n if (!oldPages.length) {\n promise = fetchPage([]);\n } // Fetch next page?\n else if (isFetchingNextPage) {\n const manual = typeof pageParam !== 'undefined';\n const param = manual ? pageParam : getNextPageParam(context.options, oldPages);\n promise = fetchPage(oldPages, manual, param);\n } // Fetch previous page?\n else if (isFetchingPreviousPage) {\n const manual = typeof pageParam !== 'undefined';\n const param = manual ? pageParam : getPreviousPageParam(context.options, oldPages);\n promise = fetchPage(oldPages, manual, param, true);\n } // Refetch pages\n else {\n newPageParams = [];\n const manual = typeof context.options.getNextPageParam === 'undefined';\n const shouldFetchFirstPage = refetchPage && oldPages[0] ? refetchPage(oldPages[0], 0, oldPages) : true; // Fetch first page\n\n promise = shouldFetchFirstPage ? fetchPage([], manual, oldPageParams[0]) : Promise.resolve(buildNewPages([], oldPageParams[0], oldPages[0])); // Fetch remaining pages\n\n for (let i = 1; i < oldPages.length; i++) {\n promise = promise.then(pages => {\n const shouldFetchNextPage = refetchPage && oldPages[i] ? refetchPage(oldPages[i], i, oldPages) : true;\n\n if (shouldFetchNextPage) {\n const param = manual ? oldPageParams[i] : getNextPageParam(context.options, pages);\n return fetchPage(pages, manual, param);\n }\n\n return Promise.resolve(buildNewPages(pages, oldPageParams[i], oldPages[i]));\n });\n }\n }\n\n const finalPromise = promise.then(pages => ({\n pages,\n pageParams: newPageParams\n }));\n return finalPromise;\n };\n }\n };\n}\nfunction getNextPageParam(options, pages) {\n return options.getNextPageParam == null ? void 0 : options.getNextPageParam(pages[pages.length - 1], pages);\n}\nfunction getPreviousPageParam(options, pages) {\n return options.getPreviousPageParam == null ? void 0 : options.getPreviousPageParam(pages[0], pages);\n}\n/**\n * Checks if there is a next page.\n * Returns `undefined` if it cannot be determined.\n */\n\nfunction hasNextPage(options, pages) {\n if (options.getNextPageParam && Array.isArray(pages)) {\n const nextPageParam = getNextPageParam(options, pages);\n return typeof nextPageParam !== 'undefined' && nextPageParam !== null && nextPageParam !== false;\n }\n\n return;\n}\n/**\n * Checks if there is a previous page.\n * Returns `undefined` if it cannot be determined.\n */\n\nfunction hasPreviousPage(options, pages) {\n if (options.getPreviousPageParam && Array.isArray(pages)) {\n const previousPageParam = getPreviousPageParam(options, pages);\n return typeof previousPageParam !== 'undefined' && previousPageParam !== null && previousPageParam !== false;\n }\n\n return;\n}\n\nexport { getNextPageParam, getPreviousPageParam, hasNextPage, hasPreviousPage, infiniteQueryBehavior };\n//# sourceMappingURL=infiniteQueryBehavior.mjs.map\n","import { parseFilterArgs, parseQueryArgs, functionalUpdate, noop, hashQueryKey, partialMatchKey, hashQueryKeyByOptions } from './utils.mjs';\nimport { QueryCache } from './queryCache.mjs';\nimport { MutationCache } from './mutationCache.mjs';\nimport { focusManager } from './focusManager.mjs';\nimport { onlineManager } from './onlineManager.mjs';\nimport { notifyManager } from './notifyManager.mjs';\nimport { infiniteQueryBehavior } from './infiniteQueryBehavior.mjs';\nimport { defaultLogger } from './logger.mjs';\n\n// CLASS\nclass QueryClient {\n constructor(config = {}) {\n this.queryCache = config.queryCache || new QueryCache();\n this.mutationCache = config.mutationCache || new MutationCache();\n this.logger = config.logger || defaultLogger;\n this.defaultOptions = config.defaultOptions || {};\n this.queryDefaults = [];\n this.mutationDefaults = [];\n this.mountCount = 0;\n\n if (process.env.NODE_ENV !== 'production' && config.logger) {\n this.logger.error(\"Passing a custom logger has been deprecated and will be removed in the next major version.\");\n }\n }\n\n mount() {\n this.mountCount++;\n if (this.mountCount !== 1) return;\n this.unsubscribeFocus = focusManager.subscribe(() => {\n if (focusManager.isFocused()) {\n this.resumePausedMutations();\n this.queryCache.onFocus();\n }\n });\n this.unsubscribeOnline = onlineManager.subscribe(() => {\n if (onlineManager.isOnline()) {\n this.resumePausedMutations();\n this.queryCache.onOnline();\n }\n });\n }\n\n unmount() {\n var _this$unsubscribeFocu, _this$unsubscribeOnli;\n\n this.mountCount--;\n if (this.mountCount !== 0) return;\n (_this$unsubscribeFocu = this.unsubscribeFocus) == null ? void 0 : _this$unsubscribeFocu.call(this);\n this.unsubscribeFocus = undefined;\n (_this$unsubscribeOnli = this.unsubscribeOnline) == null ? void 0 : _this$unsubscribeOnli.call(this);\n this.unsubscribeOnline = undefined;\n }\n\n isFetching(arg1, arg2) {\n const [filters] = parseFilterArgs(arg1, arg2);\n filters.fetchStatus = 'fetching';\n return this.queryCache.findAll(filters).length;\n }\n\n isMutating(filters) {\n return this.mutationCache.findAll({ ...filters,\n fetching: true\n }).length;\n }\n\n getQueryData(queryKey, filters) {\n var _this$queryCache$find;\n\n return (_this$queryCache$find = this.queryCache.find(queryKey, filters)) == null ? void 0 : _this$queryCache$find.state.data;\n }\n\n ensureQueryData(arg1, arg2, arg3) {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3);\n const cachedData = this.getQueryData(parsedOptions.queryKey);\n return cachedData ? Promise.resolve(cachedData) : this.fetchQuery(parsedOptions);\n }\n\n getQueriesData(queryKeyOrFilters) {\n return this.getQueryCache().findAll(queryKeyOrFilters).map(({\n queryKey,\n state\n }) => {\n const data = state.data;\n return [queryKey, data];\n });\n }\n\n setQueryData(queryKey, updater, options) {\n const query = this.queryCache.find(queryKey);\n const prevData = query == null ? void 0 : query.state.data;\n const data = functionalUpdate(updater, prevData);\n\n if (typeof data === 'undefined') {\n return undefined;\n }\n\n const parsedOptions = parseQueryArgs(queryKey);\n const defaultedOptions = this.defaultQueryOptions(parsedOptions);\n return this.queryCache.build(this, defaultedOptions).setData(data, { ...options,\n manual: true\n });\n }\n\n setQueriesData(queryKeyOrFilters, updater, options) {\n return notifyManager.batch(() => this.getQueryCache().findAll(queryKeyOrFilters).map(({\n queryKey\n }) => [queryKey, this.setQueryData(queryKey, updater, options)]));\n }\n\n getQueryState(queryKey, filters) {\n var _this$queryCache$find2;\n\n return (_this$queryCache$find2 = this.queryCache.find(queryKey, filters)) == null ? void 0 : _this$queryCache$find2.state;\n }\n\n removeQueries(arg1, arg2) {\n const [filters] = parseFilterArgs(arg1, arg2);\n const queryCache = this.queryCache;\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach(query => {\n queryCache.remove(query);\n });\n });\n }\n\n resetQueries(arg1, arg2, arg3) {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3);\n const queryCache = this.queryCache;\n const refetchFilters = {\n type: 'active',\n ...filters\n };\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach(query => {\n query.reset();\n });\n return this.refetchQueries(refetchFilters, options);\n });\n }\n\n cancelQueries(arg1, arg2, arg3) {\n const [filters, cancelOptions = {}] = parseFilterArgs(arg1, arg2, arg3);\n\n if (typeof cancelOptions.revert === 'undefined') {\n cancelOptions.revert = true;\n }\n\n const promises = notifyManager.batch(() => this.queryCache.findAll(filters).map(query => query.cancel(cancelOptions)));\n return Promise.all(promises).then(noop).catch(noop);\n }\n\n invalidateQueries(arg1, arg2, arg3) {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3);\n return notifyManager.batch(() => {\n var _ref, _filters$refetchType;\n\n this.queryCache.findAll(filters).forEach(query => {\n query.invalidate();\n });\n\n if (filters.refetchType === 'none') {\n return Promise.resolve();\n }\n\n const refetchFilters = { ...filters,\n type: (_ref = (_filters$refetchType = filters.refetchType) != null ? _filters$refetchType : filters.type) != null ? _ref : 'active'\n };\n return this.refetchQueries(refetchFilters, options);\n });\n }\n\n refetchQueries(arg1, arg2, arg3) {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3);\n const promises = notifyManager.batch(() => this.queryCache.findAll(filters).filter(query => !query.isDisabled()).map(query => {\n var _options$cancelRefetc;\n\n return query.fetch(undefined, { ...options,\n cancelRefetch: (_options$cancelRefetc = options == null ? void 0 : options.cancelRefetch) != null ? _options$cancelRefetc : true,\n meta: {\n refetchPage: filters.refetchPage\n }\n });\n }));\n let promise = Promise.all(promises).then(noop);\n\n if (!(options != null && options.throwOnError)) {\n promise = promise.catch(noop);\n }\n\n return promise;\n }\n\n fetchQuery(arg1, arg2, arg3) {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3);\n const defaultedOptions = this.defaultQueryOptions(parsedOptions); // https://github.com/tannerlinsley/react-query/issues/652\n\n if (typeof defaultedOptions.retry === 'undefined') {\n defaultedOptions.retry = false;\n }\n\n const query = this.queryCache.build(this, defaultedOptions);\n return query.isStaleByTime(defaultedOptions.staleTime) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);\n }\n\n prefetchQuery(arg1, arg2, arg3) {\n return this.fetchQuery(arg1, arg2, arg3).then(noop).catch(noop);\n }\n\n fetchInfiniteQuery(arg1, arg2, arg3) {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3);\n parsedOptions.behavior = infiniteQueryBehavior();\n return this.fetchQuery(parsedOptions);\n }\n\n prefetchInfiniteQuery(arg1, arg2, arg3) {\n return this.fetchInfiniteQuery(arg1, arg2, arg3).then(noop).catch(noop);\n }\n\n resumePausedMutations() {\n return this.mutationCache.resumePausedMutations();\n }\n\n getQueryCache() {\n return this.queryCache;\n }\n\n getMutationCache() {\n return this.mutationCache;\n }\n\n getLogger() {\n return this.logger;\n }\n\n getDefaultOptions() {\n return this.defaultOptions;\n }\n\n setDefaultOptions(options) {\n this.defaultOptions = options;\n }\n\n setQueryDefaults(queryKey, options) {\n const result = this.queryDefaults.find(x => hashQueryKey(queryKey) === hashQueryKey(x.queryKey));\n\n if (result) {\n result.defaultOptions = options;\n } else {\n this.queryDefaults.push({\n queryKey,\n defaultOptions: options\n });\n }\n }\n\n getQueryDefaults(queryKey) {\n if (!queryKey) {\n return undefined;\n } // Get the first matching defaults\n\n\n const firstMatchingDefaults = this.queryDefaults.find(x => partialMatchKey(queryKey, x.queryKey)); // Additional checks and error in dev mode\n\n if (process.env.NODE_ENV !== 'production') {\n // Retrieve all matching defaults for the given key\n const matchingDefaults = this.queryDefaults.filter(x => partialMatchKey(queryKey, x.queryKey)); // It is ok not having defaults, but it is error prone to have more than 1 default for a given key\n\n if (matchingDefaults.length > 1) {\n this.logger.error(\"[QueryClient] Several query defaults match with key '\" + JSON.stringify(queryKey) + \"'. The first matching query defaults are used. Please check how query defaults are registered. Order does matter here. cf. https://react-query.tanstack.com/reference/QueryClient#queryclientsetquerydefaults.\");\n }\n }\n\n return firstMatchingDefaults == null ? void 0 : firstMatchingDefaults.defaultOptions;\n }\n\n setMutationDefaults(mutationKey, options) {\n const result = this.mutationDefaults.find(x => hashQueryKey(mutationKey) === hashQueryKey(x.mutationKey));\n\n if (result) {\n result.defaultOptions = options;\n } else {\n this.mutationDefaults.push({\n mutationKey,\n defaultOptions: options\n });\n }\n }\n\n getMutationDefaults(mutationKey) {\n if (!mutationKey) {\n return undefined;\n } // Get the first matching defaults\n\n\n const firstMatchingDefaults = this.mutationDefaults.find(x => partialMatchKey(mutationKey, x.mutationKey)); // Additional checks and error in dev mode\n\n if (process.env.NODE_ENV !== 'production') {\n // Retrieve all matching defaults for the given key\n const matchingDefaults = this.mutationDefaults.filter(x => partialMatchKey(mutationKey, x.mutationKey)); // It is ok not having defaults, but it is error prone to have more than 1 default for a given key\n\n if (matchingDefaults.length > 1) {\n this.logger.error(\"[QueryClient] Several mutation defaults match with key '\" + JSON.stringify(mutationKey) + \"'. The first matching mutation defaults are used. Please check how mutation defaults are registered. Order does matter here. cf. https://react-query.tanstack.com/reference/QueryClient#queryclientsetmutationdefaults.\");\n }\n }\n\n return firstMatchingDefaults == null ? void 0 : firstMatchingDefaults.defaultOptions;\n }\n\n defaultQueryOptions(options) {\n if (options != null && options._defaulted) {\n return options;\n }\n\n const defaultedOptions = { ...this.defaultOptions.queries,\n ...this.getQueryDefaults(options == null ? void 0 : options.queryKey),\n ...options,\n _defaulted: true\n };\n\n if (!defaultedOptions.queryHash && defaultedOptions.queryKey) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(defaultedOptions.queryKey, defaultedOptions);\n } // dependent default values\n\n\n if (typeof defaultedOptions.refetchOnReconnect === 'undefined') {\n defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== 'always';\n }\n\n if (typeof defaultedOptions.useErrorBoundary === 'undefined') {\n defaultedOptions.useErrorBoundary = !!defaultedOptions.suspense;\n }\n\n return defaultedOptions;\n }\n\n defaultMutationOptions(options) {\n if (options != null && options._defaulted) {\n return options;\n }\n\n return { ...this.defaultOptions.mutations,\n ...this.getMutationDefaults(options == null ? void 0 : options.mutationKey),\n ...options,\n _defaulted: true\n };\n }\n\n clear() {\n this.queryCache.clear();\n this.mutationCache.clear();\n }\n\n}\n\nexport { QueryClient };\n//# sourceMappingURL=queryClient.mjs.map\n","import { shallowEqualObjects, noop, isServer, isValidTimeout, timeUntilStale, replaceData } from './utils.mjs';\nimport { notifyManager } from './notifyManager.mjs';\nimport { focusManager } from './focusManager.mjs';\nimport { Subscribable } from './subscribable.mjs';\nimport { canFetch, isCancelledError } from './retryer.mjs';\n\nclass QueryObserver extends Subscribable {\n constructor(client, options) {\n super();\n this.client = client;\n this.options = options;\n this.trackedProps = new Set();\n this.selectError = null;\n this.bindMethods();\n this.setOptions(options);\n }\n\n bindMethods() {\n this.remove = this.remove.bind(this);\n this.refetch = this.refetch.bind(this);\n }\n\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.currentQuery.addObserver(this);\n\n if (shouldFetchOnMount(this.currentQuery, this.options)) {\n this.executeFetch();\n }\n\n this.updateTimers();\n }\n }\n\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.destroy();\n }\n }\n\n shouldFetchOnReconnect() {\n return shouldFetchOn(this.currentQuery, this.options, this.options.refetchOnReconnect);\n }\n\n shouldFetchOnWindowFocus() {\n return shouldFetchOn(this.currentQuery, this.options, this.options.refetchOnWindowFocus);\n }\n\n destroy() {\n this.listeners = new Set();\n this.clearStaleTimeout();\n this.clearRefetchInterval();\n this.currentQuery.removeObserver(this);\n }\n\n setOptions(options, notifyOptions) {\n const prevOptions = this.options;\n const prevQuery = this.currentQuery;\n this.options = this.client.defaultQueryOptions(options);\n\n if (process.env.NODE_ENV !== 'production' && typeof (options == null ? void 0 : options.isDataEqual) !== 'undefined') {\n this.client.getLogger().error(\"The isDataEqual option has been deprecated and will be removed in the next major version. You can achieve the same functionality by passing a function as the structuralSharing option\");\n }\n\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.client.getQueryCache().notify({\n type: 'observerOptionsUpdated',\n query: this.currentQuery,\n observer: this\n });\n }\n\n if (typeof this.options.enabled !== 'undefined' && typeof this.options.enabled !== 'boolean') {\n throw new Error('Expected enabled to be a boolean');\n } // Keep previous query key if the user does not supply one\n\n\n if (!this.options.queryKey) {\n this.options.queryKey = prevOptions.queryKey;\n }\n\n this.updateQuery();\n const mounted = this.hasListeners(); // Fetch if there are subscribers\n\n if (mounted && shouldFetchOptionally(this.currentQuery, prevQuery, this.options, prevOptions)) {\n this.executeFetch();\n } // Update result\n\n\n this.updateResult(notifyOptions); // Update stale interval if needed\n\n if (mounted && (this.currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || this.options.staleTime !== prevOptions.staleTime)) {\n this.updateStaleTimeout();\n }\n\n const nextRefetchInterval = this.computeRefetchInterval(); // Update refetch interval if needed\n\n if (mounted && (this.currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || nextRefetchInterval !== this.currentRefetchInterval)) {\n this.updateRefetchInterval(nextRefetchInterval);\n }\n }\n\n getOptimisticResult(options) {\n const query = this.client.getQueryCache().build(this.client, options);\n const result = this.createResult(query, options);\n\n if (shouldAssignObserverCurrentProperties(this, result, options)) {\n // this assigns the optimistic result to the current Observer\n // because if the query function changes, useQuery will be performing\n // an effect where it would fetch again.\n // When the fetch finishes, we perform a deep data cloning in order\n // to reuse objects references. This deep data clone is performed against\n // the `observer.currentResult.data` property\n // When QueryKey changes, we refresh the query and get new `optimistic`\n // result, while we leave the `observer.currentResult`, so when new data\n // arrives, it finds the old `observer.currentResult` which is related\n // to the old QueryKey. Which means that currentResult and selectData are\n // out of sync already.\n // To solve this, we move the cursor of the currentResult everytime\n // an observer reads an optimistic value.\n // When keeping the previous data, the result doesn't change until new\n // data arrives.\n this.currentResult = result;\n this.currentResultOptions = this.options;\n this.currentResultState = this.currentQuery.state;\n }\n\n return result;\n }\n\n getCurrentResult() {\n return this.currentResult;\n }\n\n trackResult(result) {\n const trackedResult = {};\n Object.keys(result).forEach(key => {\n Object.defineProperty(trackedResult, key, {\n configurable: false,\n enumerable: true,\n get: () => {\n this.trackedProps.add(key);\n return result[key];\n }\n });\n });\n return trackedResult;\n }\n\n getCurrentQuery() {\n return this.currentQuery;\n }\n\n remove() {\n this.client.getQueryCache().remove(this.currentQuery);\n }\n\n refetch({\n refetchPage,\n ...options\n } = {}) {\n return this.fetch({ ...options,\n meta: {\n refetchPage\n }\n });\n }\n\n fetchOptimistic(options) {\n const defaultedOptions = this.client.defaultQueryOptions(options);\n const query = this.client.getQueryCache().build(this.client, defaultedOptions);\n query.isFetchingOptimistic = true;\n return query.fetch().then(() => this.createResult(query, defaultedOptions));\n }\n\n fetch(fetchOptions) {\n var _fetchOptions$cancelR;\n\n return this.executeFetch({ ...fetchOptions,\n cancelRefetch: (_fetchOptions$cancelR = fetchOptions.cancelRefetch) != null ? _fetchOptions$cancelR : true\n }).then(() => {\n this.updateResult();\n return this.currentResult;\n });\n }\n\n executeFetch(fetchOptions) {\n // Make sure we reference the latest query as the current one might have been removed\n this.updateQuery(); // Fetch\n\n let promise = this.currentQuery.fetch(this.options, fetchOptions);\n\n if (!(fetchOptions != null && fetchOptions.throwOnError)) {\n promise = promise.catch(noop);\n }\n\n return promise;\n }\n\n updateStaleTimeout() {\n this.clearStaleTimeout();\n\n if (isServer || this.currentResult.isStale || !isValidTimeout(this.options.staleTime)) {\n return;\n }\n\n const time = timeUntilStale(this.currentResult.dataUpdatedAt, this.options.staleTime); // The timeout is sometimes triggered 1 ms before the stale time expiration.\n // To mitigate this issue we always add 1 ms to the timeout.\n\n const timeout = time + 1;\n this.staleTimeoutId = setTimeout(() => {\n if (!this.currentResult.isStale) {\n this.updateResult();\n }\n }, timeout);\n }\n\n computeRefetchInterval() {\n var _this$options$refetch;\n\n return typeof this.options.refetchInterval === 'function' ? this.options.refetchInterval(this.currentResult.data, this.currentQuery) : (_this$options$refetch = this.options.refetchInterval) != null ? _this$options$refetch : false;\n }\n\n updateRefetchInterval(nextInterval) {\n this.clearRefetchInterval();\n this.currentRefetchInterval = nextInterval;\n\n if (isServer || this.options.enabled === false || !isValidTimeout(this.currentRefetchInterval) || this.currentRefetchInterval === 0) {\n return;\n }\n\n this.refetchIntervalId = setInterval(() => {\n if (this.options.refetchIntervalInBackground || focusManager.isFocused()) {\n this.executeFetch();\n }\n }, this.currentRefetchInterval);\n }\n\n updateTimers() {\n this.updateStaleTimeout();\n this.updateRefetchInterval(this.computeRefetchInterval());\n }\n\n clearStaleTimeout() {\n if (this.staleTimeoutId) {\n clearTimeout(this.staleTimeoutId);\n this.staleTimeoutId = undefined;\n }\n }\n\n clearRefetchInterval() {\n if (this.refetchIntervalId) {\n clearInterval(this.refetchIntervalId);\n this.refetchIntervalId = undefined;\n }\n }\n\n createResult(query, options) {\n const prevQuery = this.currentQuery;\n const prevOptions = this.options;\n const prevResult = this.currentResult;\n const prevResultState = this.currentResultState;\n const prevResultOptions = this.currentResultOptions;\n const queryChange = query !== prevQuery;\n const queryInitialState = queryChange ? query.state : this.currentQueryInitialState;\n const prevQueryResult = queryChange ? this.currentResult : this.previousQueryResult;\n const {\n state\n } = query;\n let {\n dataUpdatedAt,\n error,\n errorUpdatedAt,\n fetchStatus,\n status\n } = state;\n let isPreviousData = false;\n let isPlaceholderData = false;\n let data; // Optimistically set result in fetching state if needed\n\n if (options._optimisticResults) {\n const mounted = this.hasListeners();\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options);\n const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);\n\n if (fetchOnMount || fetchOptionally) {\n fetchStatus = canFetch(query.options.networkMode) ? 'fetching' : 'paused';\n\n if (!dataUpdatedAt) {\n status = 'loading';\n }\n }\n\n if (options._optimisticResults === 'isRestoring') {\n fetchStatus = 'idle';\n }\n } // Keep previous data if needed\n\n\n if (options.keepPreviousData && !state.dataUpdatedAt && prevQueryResult != null && prevQueryResult.isSuccess && status !== 'error') {\n data = prevQueryResult.data;\n dataUpdatedAt = prevQueryResult.dataUpdatedAt;\n status = prevQueryResult.status;\n isPreviousData = true;\n } // Select data if needed\n else if (options.select && typeof state.data !== 'undefined') {\n // Memoize select result\n if (prevResult && state.data === (prevResultState == null ? void 0 : prevResultState.data) && options.select === this.selectFn) {\n data = this.selectResult;\n } else {\n try {\n this.selectFn = options.select;\n data = options.select(state.data);\n data = replaceData(prevResult == null ? void 0 : prevResult.data, data, options);\n this.selectResult = data;\n this.selectError = null;\n } catch (selectError) {\n if (process.env.NODE_ENV !== 'production') {\n this.client.getLogger().error(selectError);\n }\n\n this.selectError = selectError;\n }\n }\n } // Use query data\n else {\n data = state.data;\n } // Show placeholder data if needed\n\n\n if (typeof options.placeholderData !== 'undefined' && typeof data === 'undefined' && status === 'loading') {\n let placeholderData; // Memoize placeholder data\n\n if (prevResult != null && prevResult.isPlaceholderData && options.placeholderData === (prevResultOptions == null ? void 0 : prevResultOptions.placeholderData)) {\n placeholderData = prevResult.data;\n } else {\n placeholderData = typeof options.placeholderData === 'function' ? options.placeholderData() : options.placeholderData;\n\n if (options.select && typeof placeholderData !== 'undefined') {\n try {\n placeholderData = options.select(placeholderData);\n this.selectError = null;\n } catch (selectError) {\n if (process.env.NODE_ENV !== 'production') {\n this.client.getLogger().error(selectError);\n }\n\n this.selectError = selectError;\n }\n }\n }\n\n if (typeof placeholderData !== 'undefined') {\n status = 'success';\n data = replaceData(prevResult == null ? void 0 : prevResult.data, placeholderData, options);\n isPlaceholderData = true;\n }\n }\n\n if (this.selectError) {\n error = this.selectError;\n data = this.selectResult;\n errorUpdatedAt = Date.now();\n status = 'error';\n }\n\n const isFetching = fetchStatus === 'fetching';\n const isLoading = status === 'loading';\n const isError = status === 'error';\n const result = {\n status,\n fetchStatus,\n isLoading,\n isSuccess: status === 'success',\n isError,\n isInitialLoading: isLoading && isFetching,\n data,\n dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: state.fetchFailureCount,\n failureReason: state.fetchFailureReason,\n errorUpdateCount: state.errorUpdateCount,\n isFetched: state.dataUpdateCount > 0 || state.errorUpdateCount > 0,\n isFetchedAfterMount: state.dataUpdateCount > queryInitialState.dataUpdateCount || state.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isLoading,\n isLoadingError: isError && state.dataUpdatedAt === 0,\n isPaused: fetchStatus === 'paused',\n isPlaceholderData,\n isPreviousData,\n isRefetchError: isError && state.dataUpdatedAt !== 0,\n isStale: isStale(query, options),\n refetch: this.refetch,\n remove: this.remove\n };\n return result;\n }\n\n updateResult(notifyOptions) {\n const prevResult = this.currentResult;\n const nextResult = this.createResult(this.currentQuery, this.options);\n this.currentResultState = this.currentQuery.state;\n this.currentResultOptions = this.options; // Only notify and update result if something has changed\n\n if (shallowEqualObjects(nextResult, prevResult)) {\n return;\n }\n\n this.currentResult = nextResult; // Determine which callbacks to trigger\n\n const defaultNotifyOptions = {\n cache: true\n };\n\n const shouldNotifyListeners = () => {\n if (!prevResult) {\n return true;\n }\n\n const {\n notifyOnChangeProps\n } = this.options;\n const notifyOnChangePropsValue = typeof notifyOnChangeProps === 'function' ? notifyOnChangeProps() : notifyOnChangeProps;\n\n if (notifyOnChangePropsValue === 'all' || !notifyOnChangePropsValue && !this.trackedProps.size) {\n return true;\n }\n\n const includedProps = new Set(notifyOnChangePropsValue != null ? notifyOnChangePropsValue : this.trackedProps);\n\n if (this.options.useErrorBoundary) {\n includedProps.add('error');\n }\n\n return Object.keys(this.currentResult).some(key => {\n const typedKey = key;\n const changed = this.currentResult[typedKey] !== prevResult[typedKey];\n return changed && includedProps.has(typedKey);\n });\n };\n\n if ((notifyOptions == null ? void 0 : notifyOptions.listeners) !== false && shouldNotifyListeners()) {\n defaultNotifyOptions.listeners = true;\n }\n\n this.notify({ ...defaultNotifyOptions,\n ...notifyOptions\n });\n }\n\n updateQuery() {\n const query = this.client.getQueryCache().build(this.client, this.options);\n\n if (query === this.currentQuery) {\n return;\n }\n\n const prevQuery = this.currentQuery;\n this.currentQuery = query;\n this.currentQueryInitialState = query.state;\n this.previousQueryResult = this.currentResult;\n\n if (this.hasListeners()) {\n prevQuery == null ? void 0 : prevQuery.removeObserver(this);\n query.addObserver(this);\n }\n }\n\n onQueryUpdate(action) {\n const notifyOptions = {};\n\n if (action.type === 'success') {\n notifyOptions.onSuccess = !action.manual;\n } else if (action.type === 'error' && !isCancelledError(action.error)) {\n notifyOptions.onError = true;\n }\n\n this.updateResult(notifyOptions);\n\n if (this.hasListeners()) {\n this.updateTimers();\n }\n }\n\n notify(notifyOptions) {\n notifyManager.batch(() => {\n // First trigger the configuration callbacks\n if (notifyOptions.onSuccess) {\n var _this$options$onSucce, _this$options, _this$options$onSettl, _this$options2;\n\n (_this$options$onSucce = (_this$options = this.options).onSuccess) == null ? void 0 : _this$options$onSucce.call(_this$options, this.currentResult.data);\n (_this$options$onSettl = (_this$options2 = this.options).onSettled) == null ? void 0 : _this$options$onSettl.call(_this$options2, this.currentResult.data, null);\n } else if (notifyOptions.onError) {\n var _this$options$onError, _this$options3, _this$options$onSettl2, _this$options4;\n\n (_this$options$onError = (_this$options3 = this.options).onError) == null ? void 0 : _this$options$onError.call(_this$options3, this.currentResult.error);\n (_this$options$onSettl2 = (_this$options4 = this.options).onSettled) == null ? void 0 : _this$options$onSettl2.call(_this$options4, undefined, this.currentResult.error);\n } // Then trigger the listeners\n\n\n if (notifyOptions.listeners) {\n this.listeners.forEach(({\n listener\n }) => {\n listener(this.currentResult);\n });\n } // Then the cache listeners\n\n\n if (notifyOptions.cache) {\n this.client.getQueryCache().notify({\n query: this.currentQuery,\n type: 'observerResultsUpdated'\n });\n }\n });\n }\n\n}\n\nfunction shouldLoadOnMount(query, options) {\n return options.enabled !== false && !query.state.dataUpdatedAt && !(query.state.status === 'error' && options.retryOnMount === false);\n}\n\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.dataUpdatedAt > 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\n\nfunction shouldFetchOn(query, options, field) {\n if (options.enabled !== false) {\n const value = typeof field === 'function' ? field(query) : field;\n return value === 'always' || value !== false && isStale(query, options);\n }\n\n return false;\n}\n\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n return options.enabled !== false && (query !== prevQuery || prevOptions.enabled === false) && (!options.suspense || query.state.status !== 'error') && isStale(query, options);\n}\n\nfunction isStale(query, options) {\n return query.isStaleByTime(options.staleTime);\n} // this function would decide if we will update the observer's 'current'\n// properties after an optimistic reading via getOptimisticResult\n\n\nfunction shouldAssignObserverCurrentProperties(observer, optimisticResult, options) {\n // it is important to keep this condition like this for three reasons:\n // 1. It will get removed in the v5\n // 2. it reads: don't update the properties if we want to keep the previous\n // data.\n // 3. The opposite condition (!options.keepPreviousData) would fallthrough\n // and will result in a bad decision\n if (options.keepPreviousData) {\n return false;\n } // this means we want to put some placeholder data when pending and queryKey\n // changed.\n\n\n if (options.placeholderData !== undefined) {\n // re-assign properties only if current data is placeholder data\n // which means that data did not arrive yet, so, if there is some cached data\n // we need to \"prepare\" to receive it\n return optimisticResult.isPlaceholderData;\n } // if the newly created result isn't what the observer is holding as current,\n // then we'll need to update the properties as well\n\n\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true;\n } // basically, just keep previous properties if nothing changed\n\n\n return false;\n}\n\nexport { QueryObserver };\n//# sourceMappingURL=queryObserver.mjs.map\n","import { difference, replaceAt } from './utils.mjs';\nimport { notifyManager } from './notifyManager.mjs';\nimport { QueryObserver } from './queryObserver.mjs';\nimport { Subscribable } from './subscribable.mjs';\n\nclass QueriesObserver extends Subscribable {\n constructor(client, queries) {\n super();\n this.client = client;\n this.queries = [];\n this.result = [];\n this.observers = [];\n this.observersMap = {};\n\n if (queries) {\n this.setQueries(queries);\n }\n }\n\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.observers.forEach(observer => {\n observer.subscribe(result => {\n this.onUpdate(observer, result);\n });\n });\n }\n }\n\n onUnsubscribe() {\n if (!this.listeners.size) {\n this.destroy();\n }\n }\n\n destroy() {\n this.listeners = new Set();\n this.observers.forEach(observer => {\n observer.destroy();\n });\n }\n\n setQueries(queries, notifyOptions) {\n this.queries = queries;\n notifyManager.batch(() => {\n const prevObservers = this.observers;\n const newObserverMatches = this.findMatchingObservers(this.queries); // set options for the new observers to notify of changes\n\n newObserverMatches.forEach(match => match.observer.setOptions(match.defaultedQueryOptions, notifyOptions));\n const newObservers = newObserverMatches.map(match => match.observer);\n const newObserversMap = Object.fromEntries(newObservers.map(observer => [observer.options.queryHash, observer]));\n const newResult = newObservers.map(observer => observer.getCurrentResult());\n const hasIndexChange = newObservers.some((observer, index) => observer !== prevObservers[index]);\n\n if (prevObservers.length === newObservers.length && !hasIndexChange) {\n return;\n }\n\n this.observers = newObservers;\n this.observersMap = newObserversMap;\n this.result = newResult;\n\n if (!this.hasListeners()) {\n return;\n }\n\n difference(prevObservers, newObservers).forEach(observer => {\n observer.destroy();\n });\n difference(newObservers, prevObservers).forEach(observer => {\n observer.subscribe(result => {\n this.onUpdate(observer, result);\n });\n });\n this.notify();\n });\n }\n\n getCurrentResult() {\n return this.result;\n }\n\n getQueries() {\n return this.observers.map(observer => observer.getCurrentQuery());\n }\n\n getObservers() {\n return this.observers;\n }\n\n getOptimisticResult(queries) {\n return this.findMatchingObservers(queries).map(match => match.observer.getOptimisticResult(match.defaultedQueryOptions));\n }\n\n findMatchingObservers(queries) {\n const prevObservers = this.observers;\n const prevObserversMap = new Map(prevObservers.map(observer => [observer.options.queryHash, observer]));\n const defaultedQueryOptions = queries.map(options => this.client.defaultQueryOptions(options));\n const matchingObservers = defaultedQueryOptions.flatMap(defaultedOptions => {\n const match = prevObserversMap.get(defaultedOptions.queryHash);\n\n if (match != null) {\n return [{\n defaultedQueryOptions: defaultedOptions,\n observer: match\n }];\n }\n\n return [];\n });\n const matchedQueryHashes = new Set(matchingObservers.map(match => match.defaultedQueryOptions.queryHash));\n const unmatchedQueries = defaultedQueryOptions.filter(defaultedOptions => !matchedQueryHashes.has(defaultedOptions.queryHash));\n const matchingObserversSet = new Set(matchingObservers.map(match => match.observer));\n const unmatchedObservers = prevObservers.filter(prevObserver => !matchingObserversSet.has(prevObserver));\n\n const getObserver = options => {\n const defaultedOptions = this.client.defaultQueryOptions(options);\n const currentObserver = this.observersMap[defaultedOptions.queryHash];\n return currentObserver != null ? currentObserver : new QueryObserver(this.client, defaultedOptions);\n };\n\n const newOrReusedObservers = unmatchedQueries.map((options, index) => {\n if (options.keepPreviousData) {\n // return previous data from one of the observers that no longer match\n const previouslyUsedObserver = unmatchedObservers[index];\n\n if (previouslyUsedObserver !== undefined) {\n return {\n defaultedQueryOptions: options,\n observer: previouslyUsedObserver\n };\n }\n }\n\n return {\n defaultedQueryOptions: options,\n observer: getObserver(options)\n };\n });\n\n const sortMatchesByOrderOfQueries = (a, b) => defaultedQueryOptions.indexOf(a.defaultedQueryOptions) - defaultedQueryOptions.indexOf(b.defaultedQueryOptions);\n\n return matchingObservers.concat(newOrReusedObservers).sort(sortMatchesByOrderOfQueries);\n }\n\n onUpdate(observer, result) {\n const index = this.observers.indexOf(observer);\n\n if (index !== -1) {\n this.result = replaceAt(this.result, index, result);\n this.notify();\n }\n }\n\n notify() {\n notifyManager.batch(() => {\n this.listeners.forEach(({\n listener\n }) => {\n listener(this.result);\n });\n });\n }\n\n}\n\nexport { QueriesObserver };\n//# sourceMappingURL=queriesObserver.mjs.map\n","import { QueryObserver } from './queryObserver.mjs';\nimport { infiniteQueryBehavior, hasNextPage, hasPreviousPage } from './infiniteQueryBehavior.mjs';\n\nclass InfiniteQueryObserver extends QueryObserver {\n // Type override\n // Type override\n // Type override\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(client, options) {\n super(client, options);\n }\n\n bindMethods() {\n super.bindMethods();\n this.fetchNextPage = this.fetchNextPage.bind(this);\n this.fetchPreviousPage = this.fetchPreviousPage.bind(this);\n }\n\n setOptions(options, notifyOptions) {\n super.setOptions({ ...options,\n behavior: infiniteQueryBehavior()\n }, notifyOptions);\n }\n\n getOptimisticResult(options) {\n options.behavior = infiniteQueryBehavior();\n return super.getOptimisticResult(options);\n }\n\n fetchNextPage({\n pageParam,\n ...options\n } = {}) {\n return this.fetch({ ...options,\n meta: {\n fetchMore: {\n direction: 'forward',\n pageParam\n }\n }\n });\n }\n\n fetchPreviousPage({\n pageParam,\n ...options\n } = {}) {\n return this.fetch({ ...options,\n meta: {\n fetchMore: {\n direction: 'backward',\n pageParam\n }\n }\n });\n }\n\n createResult(query, options) {\n var _state$fetchMeta, _state$fetchMeta$fetc, _state$fetchMeta2, _state$fetchMeta2$fet, _state$data, _state$data2;\n\n const {\n state\n } = query;\n const result = super.createResult(query, options);\n const {\n isFetching,\n isRefetching\n } = result;\n const isFetchingNextPage = isFetching && ((_state$fetchMeta = state.fetchMeta) == null ? void 0 : (_state$fetchMeta$fetc = _state$fetchMeta.fetchMore) == null ? void 0 : _state$fetchMeta$fetc.direction) === 'forward';\n const isFetchingPreviousPage = isFetching && ((_state$fetchMeta2 = state.fetchMeta) == null ? void 0 : (_state$fetchMeta2$fet = _state$fetchMeta2.fetchMore) == null ? void 0 : _state$fetchMeta2$fet.direction) === 'backward';\n return { ...result,\n fetchNextPage: this.fetchNextPage,\n fetchPreviousPage: this.fetchPreviousPage,\n hasNextPage: hasNextPage(options, (_state$data = state.data) == null ? void 0 : _state$data.pages),\n hasPreviousPage: hasPreviousPage(options, (_state$data2 = state.data) == null ? void 0 : _state$data2.pages),\n isFetchingNextPage,\n isFetchingPreviousPage,\n isRefetching: isRefetching && !isFetchingNextPage && !isFetchingPreviousPage\n };\n }\n\n}\n\nexport { InfiniteQueryObserver };\n//# sourceMappingURL=infiniteQueryObserver.mjs.map\n","import { getDefaultState } from './mutation.mjs';\nimport { notifyManager } from './notifyManager.mjs';\nimport { Subscribable } from './subscribable.mjs';\nimport { shallowEqualObjects } from './utils.mjs';\n\n// CLASS\nclass MutationObserver extends Subscribable {\n constructor(client, options) {\n super();\n this.client = client;\n this.setOptions(options);\n this.bindMethods();\n this.updateResult();\n }\n\n bindMethods() {\n this.mutate = this.mutate.bind(this);\n this.reset = this.reset.bind(this);\n }\n\n setOptions(options) {\n var _this$currentMutation;\n\n const prevOptions = this.options;\n this.options = this.client.defaultMutationOptions(options);\n\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.client.getMutationCache().notify({\n type: 'observerOptionsUpdated',\n mutation: this.currentMutation,\n observer: this\n });\n }\n\n (_this$currentMutation = this.currentMutation) == null ? void 0 : _this$currentMutation.setOptions(this.options);\n }\n\n onUnsubscribe() {\n if (!this.hasListeners()) {\n var _this$currentMutation2;\n\n (_this$currentMutation2 = this.currentMutation) == null ? void 0 : _this$currentMutation2.removeObserver(this);\n }\n }\n\n onMutationUpdate(action) {\n this.updateResult(); // Determine which callbacks to trigger\n\n const notifyOptions = {\n listeners: true\n };\n\n if (action.type === 'success') {\n notifyOptions.onSuccess = true;\n } else if (action.type === 'error') {\n notifyOptions.onError = true;\n }\n\n this.notify(notifyOptions);\n }\n\n getCurrentResult() {\n return this.currentResult;\n }\n\n reset() {\n this.currentMutation = undefined;\n this.updateResult();\n this.notify({\n listeners: true\n });\n }\n\n mutate(variables, options) {\n this.mutateOptions = options;\n\n if (this.currentMutation) {\n this.currentMutation.removeObserver(this);\n }\n\n this.currentMutation = this.client.getMutationCache().build(this.client, { ...this.options,\n variables: typeof variables !== 'undefined' ? variables : this.options.variables\n });\n this.currentMutation.addObserver(this);\n return this.currentMutation.execute();\n }\n\n updateResult() {\n const state = this.currentMutation ? this.currentMutation.state : getDefaultState();\n const result = { ...state,\n isLoading: state.status === 'loading',\n isSuccess: state.status === 'success',\n isError: state.status === 'error',\n isIdle: state.status === 'idle',\n mutate: this.mutate,\n reset: this.reset\n };\n this.currentResult = result;\n }\n\n notify(options) {\n notifyManager.batch(() => {\n // First trigger the mutate callbacks\n if (this.mutateOptions && this.hasListeners()) {\n if (options.onSuccess) {\n var _this$mutateOptions$o, _this$mutateOptions, _this$mutateOptions$o2, _this$mutateOptions2;\n\n (_this$mutateOptions$o = (_this$mutateOptions = this.mutateOptions).onSuccess) == null ? void 0 : _this$mutateOptions$o.call(_this$mutateOptions, this.currentResult.data, this.currentResult.variables, this.currentResult.context);\n (_this$mutateOptions$o2 = (_this$mutateOptions2 = this.mutateOptions).onSettled) == null ? void 0 : _this$mutateOptions$o2.call(_this$mutateOptions2, this.currentResult.data, null, this.currentResult.variables, this.currentResult.context);\n } else if (options.onError) {\n var _this$mutateOptions$o3, _this$mutateOptions3, _this$mutateOptions$o4, _this$mutateOptions4;\n\n (_this$mutateOptions$o3 = (_this$mutateOptions3 = this.mutateOptions).onError) == null ? void 0 : _this$mutateOptions$o3.call(_this$mutateOptions3, this.currentResult.error, this.currentResult.variables, this.currentResult.context);\n (_this$mutateOptions$o4 = (_this$mutateOptions4 = this.mutateOptions).onSettled) == null ? void 0 : _this$mutateOptions$o4.call(_this$mutateOptions4, undefined, this.currentResult.error, this.currentResult.variables, this.currentResult.context);\n }\n } // Then trigger the listeners\n\n\n if (options.listeners) {\n this.listeners.forEach(({\n listener\n }) => {\n listener(this.currentResult);\n });\n }\n });\n }\n\n}\n\nexport { MutationObserver };\n//# sourceMappingURL=mutationObserver.mjs.map\n","// TYPES\n// FUNCTIONS\nfunction dehydrateMutation(mutation) {\n return {\n mutationKey: mutation.options.mutationKey,\n state: mutation.state\n };\n} // Most config is not dehydrated but instead meant to configure again when\n// consuming the de/rehydrated data, typically with useQuery on the client.\n// Sometimes it might make sense to prefetch data on the server and include\n// in the html-payload, but not consume it on the initial render.\n\n\nfunction dehydrateQuery(query) {\n return {\n state: query.state,\n queryKey: query.queryKey,\n queryHash: query.queryHash\n };\n}\n\nfunction defaultShouldDehydrateMutation(mutation) {\n return mutation.state.isPaused;\n}\nfunction defaultShouldDehydrateQuery(query) {\n return query.state.status === 'success';\n}\nfunction dehydrate(client, options = {}) {\n const mutations = [];\n const queries = [];\n\n if (options.dehydrateMutations !== false) {\n const shouldDehydrateMutation = options.shouldDehydrateMutation || defaultShouldDehydrateMutation;\n client.getMutationCache().getAll().forEach(mutation => {\n if (shouldDehydrateMutation(mutation)) {\n mutations.push(dehydrateMutation(mutation));\n }\n });\n }\n\n if (options.dehydrateQueries !== false) {\n const shouldDehydrateQuery = options.shouldDehydrateQuery || defaultShouldDehydrateQuery;\n client.getQueryCache().getAll().forEach(query => {\n if (shouldDehydrateQuery(query)) {\n queries.push(dehydrateQuery(query));\n }\n });\n }\n\n return {\n mutations,\n queries\n };\n}\nfunction hydrate(client, dehydratedState, options) {\n if (typeof dehydratedState !== 'object' || dehydratedState === null) {\n return;\n }\n\n const mutationCache = client.getMutationCache();\n const queryCache = client.getQueryCache(); // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n\n const mutations = dehydratedState.mutations || []; // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n\n const queries = dehydratedState.queries || [];\n mutations.forEach(dehydratedMutation => {\n var _options$defaultOptio;\n\n mutationCache.build(client, { ...(options == null ? void 0 : (_options$defaultOptio = options.defaultOptions) == null ? void 0 : _options$defaultOptio.mutations),\n mutationKey: dehydratedMutation.mutationKey\n }, dehydratedMutation.state);\n });\n queries.forEach(({\n queryKey,\n state,\n queryHash\n }) => {\n var _options$defaultOptio2;\n\n const query = queryCache.get(queryHash); // Do not hydrate if an existing query exists with newer data\n\n if (query) {\n if (query.state.dataUpdatedAt < state.dataUpdatedAt) {\n // omit fetchStatus from dehydrated state\n // so that query stays in its current fetchStatus\n const {\n fetchStatus: _ignored,\n ...dehydratedQueryState\n } = state;\n query.setState(dehydratedQueryState);\n }\n\n return;\n } // Restore query\n\n\n queryCache.build(client, { ...(options == null ? void 0 : (_options$defaultOptio2 = options.defaultOptions) == null ? void 0 : _options$defaultOptio2.queries),\n queryKey,\n queryHash\n }, // Reset fetch status to idle to avoid\n // query being stuck in fetching state upon hydration\n { ...state,\n fetchStatus: 'idle'\n });\n });\n}\n\nexport { defaultShouldDehydrateMutation, defaultShouldDehydrateQuery, dehydrate, hydrate };\n//# sourceMappingURL=hydration.mjs.map\n","'use client';\nimport { useSyncExternalStore as useSyncExternalStore$1 } from 'use-sync-external-store/shim/index.js';\n\nconst useSyncExternalStore = useSyncExternalStore$1;\n\nexport { useSyncExternalStore };\n//# sourceMappingURL=useSyncExternalStore.mjs.map\n","'use client';\nimport * as React from 'react';\n\nconst defaultContext = /*#__PURE__*/React.createContext(undefined);\nconst QueryClientSharingContext = /*#__PURE__*/React.createContext(false); // If we are given a context, we will use it.\n// Otherwise, if contextSharing is on, we share the first and at least one\n// instance of the context across the window\n// to ensure that if React Query is used across\n// different bundles or microfrontends they will\n// all use the same **instance** of context, regardless\n// of module scoping.\n\nfunction getQueryClientContext(context, contextSharing) {\n if (context) {\n return context;\n }\n\n if (contextSharing && typeof window !== 'undefined') {\n if (!window.ReactQueryClientContext) {\n window.ReactQueryClientContext = defaultContext;\n }\n\n return window.ReactQueryClientContext;\n }\n\n return defaultContext;\n}\n\nconst useQueryClient = ({\n context\n} = {}) => {\n const queryClient = React.useContext(getQueryClientContext(context, React.useContext(QueryClientSharingContext)));\n\n if (!queryClient) {\n throw new Error('No QueryClient set, use QueryClientProvider to set one');\n }\n\n return queryClient;\n};\nconst QueryClientProvider = ({\n client,\n children,\n context,\n contextSharing = false\n}) => {\n React.useEffect(() => {\n client.mount();\n return () => {\n client.unmount();\n };\n }, [client]);\n\n if (process.env.NODE_ENV !== 'production' && contextSharing) {\n client.getLogger().error(\"The contextSharing option has been deprecated and will be removed in the next major version\");\n }\n\n const Context = getQueryClientContext(context, contextSharing);\n return /*#__PURE__*/React.createElement(QueryClientSharingContext.Provider, {\n value: !context && contextSharing\n }, /*#__PURE__*/React.createElement(Context.Provider, {\n value: client\n }, children));\n};\n\nexport { QueryClientProvider, defaultContext, useQueryClient };\n//# sourceMappingURL=QueryClientProvider.mjs.map\n","'use client';\nimport * as React from 'react';\n\nconst IsRestoringContext = /*#__PURE__*/React.createContext(false);\nconst useIsRestoring = () => React.useContext(IsRestoringContext);\nconst IsRestoringProvider = IsRestoringContext.Provider;\n\nexport { IsRestoringProvider, useIsRestoring };\n//# sourceMappingURL=isRestoring.mjs.map\n","'use client';\nimport * as React from 'react';\n\nfunction createValue() {\n let isReset = false;\n return {\n clearReset: () => {\n isReset = false;\n },\n reset: () => {\n isReset = true;\n },\n isReset: () => {\n return isReset;\n }\n };\n}\n\nconst QueryErrorResetBoundaryContext = /*#__PURE__*/React.createContext(createValue()); // HOOK\n\nconst useQueryErrorResetBoundary = () => React.useContext(QueryErrorResetBoundaryContext); // COMPONENT\n\nconst QueryErrorResetBoundary = ({\n children\n}) => {\n const [value] = React.useState(() => createValue());\n return /*#__PURE__*/React.createElement(QueryErrorResetBoundaryContext.Provider, {\n value: value\n }, typeof children === 'function' ? children(value) : children);\n};\n\nexport { QueryErrorResetBoundary, useQueryErrorResetBoundary };\n//# sourceMappingURL=QueryErrorResetBoundary.mjs.map\n","function shouldThrowError(_useErrorBoundary, params) {\n // Allow useErrorBoundary function to override throwing behavior on a per-error basis\n if (typeof _useErrorBoundary === 'function') {\n return _useErrorBoundary(...params);\n }\n\n return !!_useErrorBoundary;\n}\n\nexport { shouldThrowError };\n//# sourceMappingURL=utils.mjs.map\n","'use client';\nimport * as React from 'react';\nimport { shouldThrowError } from './utils.mjs';\n\nconst ensurePreventErrorBoundaryRetry = (options, errorResetBoundary) => {\n if (options.suspense || options.useErrorBoundary) {\n // Prevent retrying failed query if the error boundary has not been reset yet\n if (!errorResetBoundary.isReset()) {\n options.retryOnMount = false;\n }\n }\n};\nconst useClearResetErrorBoundary = errorResetBoundary => {\n React.useEffect(() => {\n errorResetBoundary.clearReset();\n }, [errorResetBoundary]);\n};\nconst getHasError = ({\n result,\n errorResetBoundary,\n useErrorBoundary,\n query\n}) => {\n return result.isError && !errorResetBoundary.isReset() && !result.isFetching && shouldThrowError(useErrorBoundary, [result.error, query]);\n};\n\nexport { ensurePreventErrorBoundaryRetry, getHasError, useClearResetErrorBoundary };\n//# sourceMappingURL=errorBoundaryUtils.mjs.map\n","const ensureStaleTime = defaultedOptions => {\n if (defaultedOptions.suspense) {\n // Always set stale time when using suspense to prevent\n // fetching again when directly mounting after suspending\n if (typeof defaultedOptions.staleTime !== 'number') {\n defaultedOptions.staleTime = 1000;\n }\n }\n};\nconst willFetch = (result, isRestoring) => result.isLoading && result.isFetching && !isRestoring;\nconst shouldSuspend = (defaultedOptions, result, isRestoring) => (defaultedOptions == null ? void 0 : defaultedOptions.suspense) && willFetch(result, isRestoring);\nconst fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => observer.fetchOptimistic(defaultedOptions).then(({\n data\n}) => {\n defaultedOptions.onSuccess == null ? void 0 : defaultedOptions.onSuccess(data);\n defaultedOptions.onSettled == null ? void 0 : defaultedOptions.onSettled(data, null);\n}).catch(error => {\n errorResetBoundary.clearReset();\n defaultedOptions.onError == null ? void 0 : defaultedOptions.onError(error);\n defaultedOptions.onSettled == null ? void 0 : defaultedOptions.onSettled(undefined, error);\n});\n\nexport { ensureStaleTime, fetchOptimistic, shouldSuspend, willFetch };\n//# sourceMappingURL=suspense.mjs.map\n","'use client';\nimport * as React from 'react';\nimport { QueriesObserver, notifyManager } from '@tanstack/query-core';\nimport { useSyncExternalStore } from './useSyncExternalStore.mjs';\nimport { useQueryClient } from './QueryClientProvider.mjs';\nimport { useIsRestoring } from './isRestoring.mjs';\nimport { useQueryErrorResetBoundary } from './QueryErrorResetBoundary.mjs';\nimport { ensurePreventErrorBoundaryRetry, useClearResetErrorBoundary, getHasError } from './errorBoundaryUtils.mjs';\nimport { ensureStaleTime, shouldSuspend, fetchOptimistic, willFetch } from './suspense.mjs';\n\nfunction useQueries({\n queries,\n context\n}) {\n const queryClient = useQueryClient({\n context\n });\n const isRestoring = useIsRestoring();\n const errorResetBoundary = useQueryErrorResetBoundary();\n const defaultedQueries = React.useMemo(() => queries.map(options => {\n const defaultedOptions = queryClient.defaultQueryOptions(options); // Make sure the results are already in fetching state before subscribing or updating options\n\n defaultedOptions._optimisticResults = isRestoring ? 'isRestoring' : 'optimistic';\n return defaultedOptions;\n }), [queries, queryClient, isRestoring]);\n defaultedQueries.forEach(query => {\n ensureStaleTime(query);\n ensurePreventErrorBoundaryRetry(query, errorResetBoundary);\n });\n useClearResetErrorBoundary(errorResetBoundary);\n const [observer] = React.useState(() => new QueriesObserver(queryClient, defaultedQueries));\n const optimisticResult = observer.getOptimisticResult(defaultedQueries);\n useSyncExternalStore(React.useCallback(onStoreChange => isRestoring ? () => undefined : observer.subscribe(notifyManager.batchCalls(onStoreChange)), [observer, isRestoring]), () => observer.getCurrentResult(), () => observer.getCurrentResult());\n React.useEffect(() => {\n // Do not notify on updates because of changes in the options because\n // these changes should already be reflected in the optimistic result.\n observer.setQueries(defaultedQueries, {\n listeners: false\n });\n }, [defaultedQueries, observer]);\n const shouldAtLeastOneSuspend = optimisticResult.some((result, index) => shouldSuspend(defaultedQueries[index], result, isRestoring));\n const suspensePromises = shouldAtLeastOneSuspend ? optimisticResult.flatMap((result, index) => {\n const options = defaultedQueries[index];\n const queryObserver = observer.getObservers()[index];\n\n if (options && queryObserver) {\n if (shouldSuspend(options, result, isRestoring)) {\n return fetchOptimistic(options, queryObserver, errorResetBoundary);\n } else if (willFetch(result, isRestoring)) {\n void fetchOptimistic(options, queryObserver, errorResetBoundary);\n }\n }\n\n return [];\n }) : [];\n\n if (suspensePromises.length > 0) {\n throw Promise.all(suspensePromises);\n }\n\n const observerQueries = observer.getQueries();\n const firstSingleResultWhichShouldThrow = optimisticResult.find((result, index) => {\n var _defaultedQueries$ind, _defaultedQueries$ind2;\n\n return getHasError({\n result,\n errorResetBoundary,\n useErrorBoundary: (_defaultedQueries$ind = (_defaultedQueries$ind2 = defaultedQueries[index]) == null ? void 0 : _defaultedQueries$ind2.useErrorBoundary) != null ? _defaultedQueries$ind : false,\n query: observerQueries[index]\n });\n });\n\n if (firstSingleResultWhichShouldThrow != null && firstSingleResultWhichShouldThrow.error) {\n throw firstSingleResultWhichShouldThrow.error;\n }\n\n return optimisticResult;\n}\n\nexport { useQueries };\n//# sourceMappingURL=useQueries.mjs.map\n","'use client';\nimport * as React from 'react';\nimport { notifyManager } from '@tanstack/query-core';\nimport { useSyncExternalStore } from './useSyncExternalStore.mjs';\nimport { useQueryErrorResetBoundary } from './QueryErrorResetBoundary.mjs';\nimport { useQueryClient } from './QueryClientProvider.mjs';\nimport { useIsRestoring } from './isRestoring.mjs';\nimport { ensurePreventErrorBoundaryRetry, useClearResetErrorBoundary, getHasError } from './errorBoundaryUtils.mjs';\nimport { ensureStaleTime, shouldSuspend, fetchOptimistic } from './suspense.mjs';\n\nfunction useBaseQuery(options, Observer) {\n const queryClient = useQueryClient({\n context: options.context\n });\n const isRestoring = useIsRestoring();\n const errorResetBoundary = useQueryErrorResetBoundary();\n const defaultedOptions = queryClient.defaultQueryOptions(options); // Make sure results are optimistically set in fetching state before subscribing or updating options\n\n defaultedOptions._optimisticResults = isRestoring ? 'isRestoring' : 'optimistic'; // Include callbacks in batch renders\n\n if (defaultedOptions.onError) {\n defaultedOptions.onError = notifyManager.batchCalls(defaultedOptions.onError);\n }\n\n if (defaultedOptions.onSuccess) {\n defaultedOptions.onSuccess = notifyManager.batchCalls(defaultedOptions.onSuccess);\n }\n\n if (defaultedOptions.onSettled) {\n defaultedOptions.onSettled = notifyManager.batchCalls(defaultedOptions.onSettled);\n }\n\n ensureStaleTime(defaultedOptions);\n ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary);\n useClearResetErrorBoundary(errorResetBoundary);\n const [observer] = React.useState(() => new Observer(queryClient, defaultedOptions));\n const result = observer.getOptimisticResult(defaultedOptions);\n useSyncExternalStore(React.useCallback(onStoreChange => {\n const unsubscribe = isRestoring ? () => undefined : observer.subscribe(notifyManager.batchCalls(onStoreChange)); // Update result to make sure we did not miss any query updates\n // between creating the observer and subscribing to it.\n\n observer.updateResult();\n return unsubscribe;\n }, [observer, isRestoring]), () => observer.getCurrentResult(), () => observer.getCurrentResult());\n React.useEffect(() => {\n // Do not notify on updates because of changes in the options because\n // these changes should already be reflected in the optimistic result.\n observer.setOptions(defaultedOptions, {\n listeners: false\n });\n }, [defaultedOptions, observer]); // Handle suspense\n\n if (shouldSuspend(defaultedOptions, result, isRestoring)) {\n throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary);\n } // Handle error boundary\n\n\n if (getHasError({\n result,\n errorResetBoundary,\n useErrorBoundary: defaultedOptions.useErrorBoundary,\n query: observer.getCurrentQuery()\n })) {\n throw result.error;\n } // Handle result property usage tracking\n\n\n return !defaultedOptions.notifyOnChangeProps ? observer.trackResult(result) : result;\n}\n\nexport { useBaseQuery };\n//# sourceMappingURL=useBaseQuery.mjs.map\n","'use client';\nimport { parseQueryArgs, QueryObserver } from '@tanstack/query-core';\nimport { useBaseQuery } from './useBaseQuery.mjs';\n\nfunction useQuery(arg1, arg2, arg3) {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3);\n return useBaseQuery(parsedOptions, QueryObserver);\n}\n\nexport { useQuery };\n//# sourceMappingURL=useQuery.mjs.map\n","'use client';\nimport * as React from 'react';\nimport { hydrate } from '@tanstack/query-core';\nimport { useQueryClient } from './QueryClientProvider.mjs';\n\nfunction useHydrate(state, options = {}) {\n const queryClient = useQueryClient({\n context: options.context\n });\n const optionsRef = React.useRef(options);\n optionsRef.current = options; // Running hydrate again with the same queries is safe,\n // it wont overwrite or initialize existing queries,\n // relying on useMemo here is only a performance optimization.\n // hydrate can and should be run *during* render here for SSR to work properly\n\n React.useMemo(() => {\n if (state) {\n hydrate(queryClient, state, optionsRef.current);\n }\n }, [queryClient, state]);\n}\nconst Hydrate = ({\n children,\n options,\n state\n}) => {\n useHydrate(state, options);\n return children;\n};\n\nexport { Hydrate, useHydrate };\n//# sourceMappingURL=Hydrate.mjs.map\n","'use client';\nimport * as React from 'react';\nimport { parseFilterArgs, notifyManager } from '@tanstack/query-core';\nimport { useSyncExternalStore } from './useSyncExternalStore.mjs';\nimport { useQueryClient } from './QueryClientProvider.mjs';\n\nfunction useIsFetching(arg1, arg2, arg3) {\n const [filters, options = {}] = parseFilterArgs(arg1, arg2, arg3);\n const queryClient = useQueryClient({\n context: options.context\n });\n const queryCache = queryClient.getQueryCache();\n return useSyncExternalStore(React.useCallback(onStoreChange => queryCache.subscribe(notifyManager.batchCalls(onStoreChange)), [queryCache]), () => queryClient.isFetching(filters), () => queryClient.isFetching(filters));\n}\n\nexport { useIsFetching };\n//# sourceMappingURL=useIsFetching.mjs.map\n","'use client';\nimport * as React from 'react';\nimport { parseMutationFilterArgs, notifyManager } from '@tanstack/query-core';\nimport { useSyncExternalStore } from './useSyncExternalStore.mjs';\nimport { useQueryClient } from './QueryClientProvider.mjs';\n\nfunction useIsMutating(arg1, arg2, arg3) {\n const [filters, options = {}] = parseMutationFilterArgs(arg1, arg2, arg3);\n const queryClient = useQueryClient({\n context: options.context\n });\n const mutationCache = queryClient.getMutationCache();\n return useSyncExternalStore(React.useCallback(onStoreChange => mutationCache.subscribe(notifyManager.batchCalls(onStoreChange)), [mutationCache]), () => queryClient.isMutating(filters), () => queryClient.isMutating(filters));\n}\n\nexport { useIsMutating };\n//# sourceMappingURL=useIsMutating.mjs.map\n","'use client';\nimport * as React from 'react';\nimport { parseMutationArgs, MutationObserver, notifyManager } from '@tanstack/query-core';\nimport { useSyncExternalStore } from './useSyncExternalStore.mjs';\nimport { useQueryClient } from './QueryClientProvider.mjs';\nimport { shouldThrowError } from './utils.mjs';\n\nfunction useMutation(arg1, arg2, arg3) {\n const options = parseMutationArgs(arg1, arg2, arg3);\n const queryClient = useQueryClient({\n context: options.context\n });\n const [observer] = React.useState(() => new MutationObserver(queryClient, options));\n React.useEffect(() => {\n observer.setOptions(options);\n }, [observer, options]);\n const result = useSyncExternalStore(React.useCallback(onStoreChange => observer.subscribe(notifyManager.batchCalls(onStoreChange)), [observer]), () => observer.getCurrentResult(), () => observer.getCurrentResult());\n const mutate = React.useCallback((variables, mutateOptions) => {\n observer.mutate(variables, mutateOptions).catch(noop);\n }, [observer]);\n\n if (result.error && shouldThrowError(observer.options.useErrorBoundary, [result.error])) {\n throw result.error;\n }\n\n return { ...result,\n mutate,\n mutateAsync: result.mutate\n };\n} // eslint-disable-next-line @typescript-eslint/no-empty-function\n\nfunction noop() {}\n\nexport { useMutation };\n//# sourceMappingURL=useMutation.mjs.map\n","'use client';\nimport { parseQueryArgs, InfiniteQueryObserver } from '@tanstack/query-core';\nimport { useBaseQuery } from './useBaseQuery.mjs';\n\nfunction useInfiniteQuery(arg1, arg2, arg3) {\n const options = parseQueryArgs(arg1, arg2, arg3);\n return useBaseQuery(options, InfiniteQueryObserver);\n}\n\nexport { useInfiniteQuery };\n//# sourceMappingURL=useInfiniteQuery.mjs.map\n"],"names":["React","objectIs","Object","x","y","useState","useEffect","useLayoutEffect","useDebugValue","checkIfSnapshotChanged","inst","latestGetSnapshot","nextValue","error","shim","window","subscribe","getSnapshot","value","_useState","forceUpdate","exports","module","Subscribable","Set","listener","identity","isServer","noop","isValidTimeout","Infinity","difference","array1","array2","timeUntilStale","updatedAt","staleTime","Math","Date","parseQueryArgs","arg1","arg2","arg3","isQueryKey","parseMutationArgs","parseFilterArgs","parseMutationFilterArgs","matchQuery","filters","query","type","exact","fetchStatus","predicate","queryKey","stale","hashQueryKeyByOptions","a","partialDeepEqual","isActive","matchMutation","mutation","fetching","mutationKey","hashQueryKey","options","hashFn","JSON","_","val","isPlainObject","result","key","b","replaceEqualDeep","array","isPlainArray","aSize","bItems","bSize","copy","equalItems","i","shallowEqualObjects","Array","o","hasObjectPrototype","ctor","prot","Error","sleep","timeout","Promise","resolve","setTimeout","scheduleMicrotask","callback","replaceData","prevData","data","focusManager","onFocus","_this$cleanup","undefined","setup","_this$cleanup2","focused","document","onlineEvents","onlineManager","onOnline","event","online","navigator","defaultRetryDelay","failureCount","canFetch","networkMode","CancelledError","isCancelledError","createRetryer","config","continueFn","promiseResolve","promiseReject","isRetryCancelled","isResolved","promise","outerResolve","outerReject","shouldPause","reject","pause","continueResolve","canContinue","run","promiseOrValue","_config$retry","_config$retryDelay","retry","retryDelay","delay","shouldRetry","cancel","cancelOptions","didContinue","cancelRetry","continueRetry","defaultLogger","console","notifyManager","createNotifyManager","queue","transactions","notifyFn","batchNotifyFn","schedule","flush","originalQueue","batch","batchCalls","args","setNotifyFunction","fn","setBatchNotifyFunction","Removable","newCacheTime","clearTimeout","Query","getDefaultState","hasData","initialDataUpdatedAt","newData","state","setStateOptions","_this$retryer","observer","_this$retryer2","_this$retryer3","fetchOptions","_this$options$behavio","_context$fetchOptions","_this$retryer4","_context$fetchOptions2","abortController","getAbortController","AbortController","queryFnContext","addSignalProperty","object","context","fetchFn","onError","_this$cache$config$on","_this$cache$config","_this$cache$config$on2","_this$cache$config2","_this$cache$config$on3","_this$cache$config3","_this$cache$config$on4","_this$cache$config4","action","reducer","_action$meta","_action$dataUpdatedAt","QueryCache","client","_options$queryHash","queryHash","queryInMap","Mutation","_this$retryer$continu","_this$mutationCache$c3","_this$mutationCache$c4","_this$options$onSucce","_this$options2","_this$mutationCache$c5","_this$mutationCache$c6","_this$options$onSettl","_this$options3","_this$mutationCache$c","_this$mutationCache$c2","_this$options$onMutat","_this$options","_this$mutationCache$c7","_this$mutationCache$c8","_this$options$onError","_this$options4","_this$mutationCache$c9","_this$mutationCache$c10","_this$options$onSettl2","_this$options5","restored","executeMutation","_this$options$retry","MutationCache","_this$resuming","pausedMutations","infiniteQueryBehavior","_context$fetchOptions3","_context$fetchOptions4","_context$state$data","_context$state$data2","refetchPage","fetchMore","pageParam","isFetchingNextPage","isFetchingPreviousPage","oldPages","oldPageParams","newPageParams","cancelled","_context$signal","_context$signal2","queryFn","buildNewPages","pages","param","page","previous","fetchPage","manual","getNextPageParam","getPreviousPageParam","shouldFetchFirstPage","QueryClient","_this$unsubscribeFocu","_this$unsubscribeOnli","_this$queryCache$find","parsedOptions","cachedData","queryKeyOrFilters","updater","defaultedOptions","_this$queryCache$find2","queryCache","refetchFilters","_ref","_filters$refetchType","_options$cancelRefetc","firstMatchingDefaults","QueryObserver","shouldFetchOnMount","shouldFetchOn","notifyOptions","prevOptions","prevQuery","mounted","shouldFetchOptionally","nextRefetchInterval","optimisticResult","trackedResult","_fetchOptions$cancelR","time","_this$options$refetch","nextInterval","setInterval","clearInterval","prevResult","prevResultState","prevResultOptions","queryChange","queryInitialState","prevQueryResult","dataUpdatedAt","errorUpdatedAt","status","isPreviousData","isPlaceholderData","fetchOnMount","fetchOptionally","selectError","placeholderData","isFetching","isLoading","isError","isStale","nextResult","defaultNotifyOptions","shouldNotifyListeners","notifyOnChangeProps","notifyOnChangePropsValue","includedProps","changed","shouldLoadOnMount","field","QueriesObserver","queries","prevObservers","newObserverMatches","match","newObservers","newObserversMap","newResult","hasIndexChange","index","prevObserversMap","Map","defaultedQueryOptions","matchingObservers","matchedQueryHashes","unmatchedQueries","matchingObserversSet","unmatchedObservers","prevObserver","getObserver","currentObserver","newOrReusedObservers","previouslyUsedObserver","replaceAt","InfiniteQueryObserver","_state$fetchMeta","_state$fetchMeta$fetc","_state$fetchMeta2","_state$fetchMeta2$fet","_state$data","_state$data2","isRefetching","hasNextPage","nextPageParam","hasPreviousPage","previousPageParam","MutationObserver","_this$currentMutation","_this$currentMutation2","variables","_this$mutateOptions$o","_this$mutateOptions","_this$mutateOptions$o2","_this$mutateOptions2","_this$mutateOptions$o3","_this$mutateOptions3","_this$mutateOptions$o4","_this$mutateOptions4","defaultShouldDehydrateMutation","defaultShouldDehydrateQuery","dehydrate","mutations","shouldDehydrateMutation","shouldDehydrateQuery","hydrate","dehydratedState","mutationCache","dehydratedMutation","_options$defaultOptio","_options$defaultOptio2","_ignored","dehydratedQueryState","useSyncExternalStore","defaultContext","QueryClientSharingContext","getQueryClientContext","contextSharing","useQueryClient","queryClient","QueryClientProvider","children","Context","IsRestoringContext","useIsRestoring","IsRestoringProvider","createValue","isReset","QueryErrorResetBoundaryContext","useQueryErrorResetBoundary","QueryErrorResetBoundary","shouldThrowError","_useErrorBoundary","params","ensurePreventErrorBoundaryRetry","errorResetBoundary","useClearResetErrorBoundary","getHasError","useErrorBoundary","ensureStaleTime","willFetch","isRestoring","shouldSuspend","fetchOptimistic","useQueries","defaultedQueries","onStoreChange","suspensePromises","shouldAtLeastOneSuspend","queryObserver","observerQueries","firstSingleResultWhichShouldThrow","_defaultedQueries$ind","_defaultedQueries$ind2","useBaseQuery","Observer","unsubscribe","useQuery","useHydrate","optionsRef","Hydrate","useIsFetching","useIsMutating","useMutation","mutate","mutateOptions","useInfiniteQuery"],"mappings":"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"}