{"version":3,"file":"tanstack-a949f54d.js","sources":["../../node_modules/@tanstack/query-core/build/lib/subscribable.mjs","../../node_modules/@tanstack/query-core/build/lib/utils.mjs","../../node_modules/@tanstack/query-core/build/lib/focusManager.mjs","../../node_modules/@tanstack/query-core/build/lib/onlineManager.mjs","../../node_modules/@tanstack/query-core/build/lib/retryer.mjs","../../node_modules/@tanstack/query-core/build/lib/logger.mjs","../../node_modules/@tanstack/query-core/build/lib/notifyManager.mjs","../../node_modules/@tanstack/query-core/build/lib/removable.mjs","../../node_modules/@tanstack/query-core/build/lib/query.mjs","../../node_modules/@tanstack/query-core/build/lib/queryCache.mjs","../../node_modules/@tanstack/query-core/build/lib/mutation.mjs","../../node_modules/@tanstack/query-core/build/lib/mutationCache.mjs","../../node_modules/@tanstack/query-core/build/lib/infiniteQueryBehavior.mjs","../../node_modules/@tanstack/query-core/build/lib/queryClient.mjs","../../node_modules/@tanstack/query-core/build/lib/queryObserver.mjs","../../node_modules/@tanstack/query-core/build/lib/mutationObserver.mjs","../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../../node_modules/use-sync-external-store/shim/index.js","../../node_modules/@tanstack/react-query/build/lib/useSyncExternalStore.mjs","../../node_modules/@tanstack/react-query/build/lib/QueryClientProvider.mjs","../../node_modules/@tanstack/react-query/build/lib/isRestoring.mjs","../../node_modules/@tanstack/react-query/build/lib/QueryErrorResetBoundary.mjs","../../node_modules/@tanstack/react-query/build/lib/utils.mjs","../../node_modules/@tanstack/react-query/build/lib/errorBoundaryUtils.mjs","../../node_modules/@tanstack/react-query/build/lib/suspense.mjs","../../node_modules/@tanstack/react-query/build/lib/useBaseQuery.mjs","../../node_modules/@tanstack/react-query/build/lib/useQuery.mjs","../../node_modules/@tanstack/react-query/build/lib/useIsMutating.mjs","../../node_modules/@tanstack/react-query/build/lib/useMutation.mjs"],"sourcesContent":["class Subscribable {\n constructor() {\n this.listeners = [];\n this.subscribe = this.subscribe.bind(this);\n }\n\n subscribe(listener) {\n this.listeners.push(listener);\n this.onSubscribe();\n return () => {\n this.listeners = this.listeners.filter(x => x !== listener);\n this.onUnsubscribe();\n };\n }\n\n hasListeners() {\n return this.listeners.length > 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.indexOf(x) === -1);\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 this.focused = focused;\n\n if (focused) {\n this.onFocus();\n }\n }\n\n onFocus() {\n this.listeners.forEach(listener => {\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\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 window.addEventListener('online', listener, false);\n window.addEventListener('offline', listener, false);\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('online', listener);\n window.removeEventListener('offline', 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(online => {\n if (typeof online === 'boolean') {\n this.setOnline(online);\n } else {\n this.onOnline();\n }\n });\n }\n\n setOnline(online) {\n this.online = online;\n\n if (online) {\n this.onOnline();\n }\n }\n\n onOnline() {\n this.listeners.forEach(listener => {\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.indexOf(observer) === -1) {\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.indexOf(observer) !== -1) {\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 (!Array.isArray(this.options.queryKey)) {\n if (process.env.NODE_ENV !== 'production') {\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');\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('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 };\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(listener => {\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.indexOf(observer) === -1) {\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(listener => {\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'));\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.length === 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.listeners.length) {\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 = [];\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 return this.createResult(query, options);\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\n if (notifyOnChangeProps === 'all' || !notifyOnChangeProps && !this.trackedProps.size) {\n return true;\n }\n\n const includedProps = new Set(notifyOnChangeProps != null ? notifyOnChangeProps : 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(listener => {\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}\n\nexport { QueryObserver };\n//# sourceMappingURL=queryObserver.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.listeners.length) {\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(listener => {\n listener(this.currentResult);\n });\n }\n });\n }\n\n}\n\nexport { MutationObserver };\n//# sourceMappingURL=mutationObserver.mjs.map\n","/**\n * @license React\n * use-sync-external-store-shim.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its 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'use strict';var e=require(\"react\");function h(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var k=\"function\"===typeof Object.is?Object.is:h,l=e.useState,m=e.useEffect,n=e.useLayoutEffect,p=e.useDebugValue;function q(a,b){var d=b(),f=l({inst:{value:d,getSnapshot:b}}),c=f[0].inst,g=f[1];n(function(){c.value=d;c.getSnapshot=b;r(c)&&g({inst:c})},[a,d,b]);m(function(){r(c)&&g({inst:c});return a(function(){r(c)&&g({inst:c})})},[a]);p(d);return d}\nfunction r(a){var b=a.getSnapshot;a=a.value;try{var d=b();return!k(a,d)}catch(f){return!0}}function t(a,b){return b()}var u=\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement?t:q;exports.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:u;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\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 { useSyncExternalStore } from './useSyncExternalStore.mjs';\nimport { notifyManager } from '@tanstack/query-core';\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 => 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.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 { useSyncExternalStore } from './useSyncExternalStore.mjs';\nimport { parseMutationFilterArgs, notifyManager } from '@tanstack/query-core';\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 { useSyncExternalStore } from './useSyncExternalStore.mjs';\nimport { parseMutationArgs, MutationObserver, notifyManager } from '@tanstack/query-core';\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"],"names":["Subscribable","listener","x","isServer","noop","functionalUpdate","updater","input","isValidTimeout","value","timeUntilStale","updatedAt","staleTime","parseQueryArgs","arg1","arg2","arg3","isQueryKey","parseMutationArgs","parseFilterArgs","parseMutationFilterArgs","matchQuery","filters","query","type","exact","fetchStatus","predicate","queryKey","stale","hashQueryKeyByOptions","partialMatchKey","isActive","matchMutation","mutation","fetching","mutationKey","hashQueryKey","options","_","val","isPlainObject","result","key","a","b","partialDeepEqual","replaceEqualDeep","array","isPlainArray","aSize","bItems","bSize","copy","equalItems","i","shallowEqualObjects","o","hasObjectPrototype","ctor","prot","sleep","timeout","resolve","scheduleMicrotask","callback","getAbortController","replaceData","prevData","data","FocusManager","onFocus","_this$cleanup","setup","_this$cleanup2","focused","focusManager","OnlineManager","onOnline","online","onlineManager","defaultRetryDelay","failureCount","canFetch","networkMode","CancelledError","isCancelledError","createRetryer","config","isRetryCancelled","isResolved","continueFn","promiseResolve","promiseReject","promise","outerResolve","outerReject","cancel","cancelOptions","reject","cancelRetry","continueRetry","shouldPause","pause","continueResolve","canContinue","run","promiseOrValue","error","_config$retry","_config$retryDelay","retry","retryDelay","delay","shouldRetry","defaultLogger","createNotifyManager","queue","transactions","notifyFn","batchNotifyFn","batch","flush","schedule","batchCalls","args","originalQueue","fn","notifyManager","Removable","newCacheTime","Query","getDefaultState","newData","state","setStateOptions","_this$retryer","observer","_this$retryer2","_this$retryer3","fetchOptions","_this$options$behavio","_context$fetchOptions","_this$retryer4","abortController","queryFnContext","addSignalProperty","object","fetchFn","context","_context$fetchOptions2","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","hasData","initialDataUpdatedAt","QueryCache","client","_options$queryHash","queryHash","queryInMap","event","Mutation","_this$retryer$continu","executeMutation","_this$options$retry","restored","_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","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","queryFnResult","getNextPageParam","getPreviousPageParam","QueryClient","_this$unsubscribeFocu","_this$unsubscribeOnli","_this$queryCache$find","parsedOptions","cachedData","queryKeyOrFilters","defaultedOptions","_this$queryCache$find2","queryCache","refetchFilters","promises","_ref","_filters$refetchType","_options$cancelRefetc","firstMatchingDefaults","QueryObserver","shouldFetchOnMount","shouldFetchOn","notifyOptions","prevOptions","prevQuery","mounted","shouldFetchOptionally","nextRefetchInterval","trackedResult","_fetchOptions$cancelR","_this$options$refetch","nextInterval","prevResult","prevResultState","prevResultOptions","queryChange","queryInitialState","prevQueryResult","dataUpdatedAt","errorUpdatedAt","status","isPreviousData","isPlaceholderData","fetchOnMount","fetchOptionally","selectError","placeholderData","isFetching","isLoading","isError","isStale","nextResult","defaultNotifyOptions","shouldNotifyListeners","notifyOnChangeProps","includedProps","typedKey","shouldLoadOnMount","field","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","e","require$$0","h","k","l","m","n","p","q","d","f","c","g","r","t","u","useSyncExternalStoreShim_production_min","shimModule","useSyncExternalStore","useSyncExternalStore$1","defaultContext","React.createContext","QueryClientSharingContext","getQueryClientContext","contextSharing","useQueryClient","queryClient","React.useContext","QueryClientProvider","children","React.useEffect","Context","React.createElement","IsRestoringContext","useIsRestoring","createValue","isReset","QueryErrorResetBoundaryContext","useQueryErrorResetBoundary","shouldThrowError","_useErrorBoundary","params","ensurePreventErrorBoundaryRetry","errorResetBoundary","useClearResetErrorBoundary","getHasError","useErrorBoundary","ensureStaleTime","willFetch","isRestoring","shouldSuspend","fetchOptimistic","useBaseQuery","Observer","React.useState","React.useCallback","onStoreChange","useQuery","useIsMutating","mutationCache","useMutation","mutate","mutateOptions"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28]}