{"version":3,"file":"tanstack-COotLutb.js","sources":["../../node_modules/@tanstack/query-core/build/modern/subscribable.js","../../node_modules/@tanstack/query-core/build/modern/utils.js","../../node_modules/@tanstack/query-core/build/modern/focusManager.js","../../node_modules/@tanstack/query-core/build/modern/onlineManager.js","../../node_modules/@tanstack/query-core/build/modern/retryer.js","../../node_modules/@tanstack/query-core/build/modern/notifyManager.js","../../node_modules/@tanstack/query-core/build/modern/removable.js","../../node_modules/@tanstack/query-core/build/modern/query.js","../../node_modules/@tanstack/query-core/build/modern/queryCache.js","../../node_modules/@tanstack/query-core/build/modern/mutation.js","../../node_modules/@tanstack/query-core/build/modern/mutationCache.js","../../node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js","../../node_modules/@tanstack/query-core/build/modern/queryClient.js","../../node_modules/@tanstack/query-core/build/modern/queryObserver.js","../../node_modules/@tanstack/query-core/build/modern/queriesObserver.js","../../node_modules/@tanstack/query-core/build/modern/mutationObserver.js","../../node_modules/@tanstack/query-core/build/modern/hydration.js","../../node_modules/@tanstack/vue-query/build/modern/utils.js","../../node_modules/@tanstack/vue-query/build/modern/useQueryClient.js","../../node_modules/@tanstack/vue-query/build/modern/queryCache.js","../../node_modules/@tanstack/vue-query/build/modern/mutationCache.js","../../node_modules/@tanstack/vue-query/build/modern/queryClient.js","../../node_modules/@tanstack/vue-query/build/modern/vueQueryPlugin.js","../../node_modules/@tanstack/vue-query/build/modern/useBaseQuery.js","../../node_modules/@tanstack/vue-query/build/modern/useQuery.js","../../node_modules/@tanstack/vue-query/build/modern/useQueries.js","../../node_modules/@tanstack/vue-query/build/modern/useMutation.js","../../node_modules/@tanstack/vue-query/build/modern/useIsFetching.js","../../node_modules/@tanstack/vue-query/build/modern/useMutationState.js","../../node_modules/@tanstack/query-persist-client-core/build/modern/persist.js","../../node_modules/@tanstack/query-sync-storage-persister/build/modern/utils.js","../../node_modules/@tanstack/query-sync-storage-persister/build/modern/index.js"],"sourcesContent":["// src/subscribable.ts\nvar Subscribable = class {\n constructor() {\n this.listeners = /* @__PURE__ */ new Set();\n this.subscribe = this.subscribe.bind(this);\n }\n subscribe(listener) {\n this.listeners.add(listener);\n this.onSubscribe();\n return () => {\n this.listeners.delete(listener);\n this.onUnsubscribe();\n };\n }\n hasListeners() {\n return this.listeners.size > 0;\n }\n onSubscribe() {\n }\n onUnsubscribe() {\n }\n};\nexport {\n Subscribable\n};\n//# sourceMappingURL=subscribable.js.map","// src/utils.ts\nvar isServer = typeof window === \"undefined\" || \"Deno\" in globalThis;\nfunction noop() {\n return void 0;\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 timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n}\nfunction matchQuery(filters, query) {\n const {\n type = \"all\",\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale\n } = filters;\n if (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 if (type !== \"all\") {\n const isActive = query.isActive();\n if (type === \"active\" && !isActive) {\n return false;\n }\n if (type === \"inactive\" && isActive) {\n return false;\n }\n }\n if (typeof stale === \"boolean\" && query.isStale() !== stale) {\n return false;\n }\n if (fetchStatus && fetchStatus !== query.state.fetchStatus) {\n return false;\n }\n if (predicate && !predicate(query)) {\n return false;\n }\n return true;\n}\nfunction matchMutation(filters, mutation) {\n const { exact, status, predicate, mutationKey } = filters;\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false;\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false;\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false;\n }\n }\n if (status && mutation.state.status !== status) {\n return false;\n }\n if (predicate && !predicate(mutation)) {\n return false;\n }\n return true;\n}\nfunction hashQueryKeyByOptions(queryKey, options) {\n const hashFn = options?.queryKeyHashFn || hashKey;\n return hashFn(queryKey);\n}\nfunction hashKey(queryKey) {\n return JSON.stringify(\n queryKey,\n (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => {\n result[key] = val[key];\n return result;\n }, {}) : val\n );\n}\nfunction partialMatchKey(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (a && b && typeof a === \"object\" && typeof b === \"object\") {\n return !Object.keys(b).some((key) => !partialMatchKey(a[key], b[key]));\n }\n return false;\n}\nfunction replaceEqualDeep(a, b) {\n if (a === b) {\n return a;\n }\n const array = isPlainArray(a) && isPlainArray(b);\n if (array || isPlainObject(a) && isPlainObject(b)) {\n const aItems = array ? a : Object.keys(a);\n const aSize = aItems.length;\n const bItems = array ? b : Object.keys(b);\n const bSize = bItems.length;\n const copy = array ? [] : {};\n let equalItems = 0;\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i];\n if (!array && a[key] === void 0 && b[key] === void 0 && aItems.includes(key)) {\n copy[key] = void 0;\n equalItems++;\n } else {\n copy[key] = replaceEqualDeep(a[key], b[key]);\n if (copy[key] === a[key] && a[key] !== void 0) {\n equalItems++;\n }\n }\n }\n return aSize === bSize && equalItems === aSize ? a : copy;\n }\n return b;\n}\nfunction shallowEqualObjects(a, b) {\n if (!b || Object.keys(a).length !== Object.keys(b).length) {\n return false;\n }\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n}\nfunction isPlainArray(value) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n}\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n }\n const ctor = o.constructor;\n if (ctor === void 0) {\n return true;\n }\n const prot = ctor.prototype;\n if (!hasObjectPrototype(prot)) {\n return false;\n }\n if (!prot.hasOwnProperty(\"isPrototypeOf\")) {\n return false;\n }\n return true;\n}\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === \"[object Object]\";\n}\nfunction sleep(ms) {\n return new Promise((resolve) => {\n setTimeout(resolve, ms);\n });\n}\nfunction replaceData(prevData, data, options) {\n if (typeof options.structuralSharing === \"function\") {\n return options.structuralSharing(prevData, data);\n } else if (options.structuralSharing !== false) {\n return replaceEqualDeep(prevData, data);\n }\n return data;\n}\nfunction keepPreviousData(previousData) {\n return previousData;\n}\nfunction addToEnd(items, item, max = 0) {\n const newItems = [...items, item];\n return max && newItems.length > max ? newItems.slice(1) : newItems;\n}\nfunction addToStart(items, item, max = 0) {\n const newItems = [item, ...items];\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems;\n}\nvar skipToken = Symbol();\nexport {\n addToEnd,\n addToStart,\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n isPlainArray,\n isPlainObject,\n isServer,\n isValidTimeout,\n keepPreviousData,\n matchMutation,\n matchQuery,\n noop,\n partialMatchKey,\n replaceData,\n replaceEqualDeep,\n shallowEqualObjects,\n skipToken,\n sleep,\n timeUntilStale\n};\n//# sourceMappingURL=utils.js.map","// src/focusManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nimport { isServer } from \"./utils.js\";\nvar FocusManager = class extends Subscribable {\n #focused;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onFocus) => {\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus();\n window.addEventListener(\"visibilitychange\", listener, false);\n return () => {\n window.removeEventListener(\"visibilitychange\", listener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup((focused) => {\n if (typeof focused === \"boolean\") {\n this.setFocused(focused);\n } else {\n this.onFocus();\n }\n });\n }\n setFocused(focused) {\n const changed = this.#focused !== focused;\n if (changed) {\n this.#focused = focused;\n this.onFocus();\n }\n }\n onFocus() {\n const isFocused = this.isFocused();\n this.listeners.forEach((listener) => {\n listener(isFocused);\n });\n }\n isFocused() {\n if (typeof this.#focused === \"boolean\") {\n return this.#focused;\n }\n return globalThis.document?.visibilityState !== \"hidden\";\n }\n};\nvar focusManager = new FocusManager();\nexport {\n FocusManager,\n focusManager\n};\n//# sourceMappingURL=focusManager.js.map","// src/onlineManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nimport { isServer } from \"./utils.js\";\nvar OnlineManager = class extends Subscribable {\n #online = true;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onOnline) => {\n if (!isServer && window.addEventListener) {\n const onlineListener = () => onOnline(true);\n const offlineListener = () => onOnline(false);\n window.addEventListener(\"online\", onlineListener, false);\n window.addEventListener(\"offline\", offlineListener, false);\n return () => {\n window.removeEventListener(\"online\", onlineListener);\n window.removeEventListener(\"offline\", offlineListener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup(this.setOnline.bind(this));\n }\n setOnline(online) {\n const changed = this.#online !== online;\n if (changed) {\n this.#online = online;\n this.listeners.forEach((listener) => {\n listener(online);\n });\n }\n }\n isOnline() {\n return this.#online;\n }\n};\nvar onlineManager = new OnlineManager();\nexport {\n OnlineManager,\n onlineManager\n};\n//# sourceMappingURL=onlineManager.js.map","// src/retryer.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { isServer, sleep } from \"./utils.js\";\nfunction defaultRetryDelay(failureCount) {\n return Math.min(1e3 * 2 ** failureCount, 3e4);\n}\nfunction canFetch(networkMode) {\n return (networkMode ?? \"online\") === \"online\" ? onlineManager.isOnline() : true;\n}\nvar CancelledError = class {\n constructor(options) {\n this.revert = options?.revert;\n this.silent = options?.silent;\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 const cancel = (cancelOptions) => {\n if (!isResolved) {\n reject(new CancelledError(cancelOptions));\n config.abort?.();\n }\n };\n const cancelRetry = () => {\n isRetryCancelled = true;\n };\n const continueRetry = () => {\n isRetryCancelled = false;\n };\n const shouldPause = () => !focusManager.isFocused() || config.networkMode !== \"always\" && !onlineManager.isOnline();\n const resolve = (value) => {\n if (!isResolved) {\n isResolved = true;\n config.onSuccess?.(value);\n continueFn?.();\n promiseResolve(value);\n }\n };\n const reject = (value) => {\n if (!isResolved) {\n isResolved = true;\n config.onError?.(value);\n continueFn?.();\n promiseReject(value);\n }\n };\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n const canContinue = isResolved || !shouldPause();\n if (canContinue) {\n continueResolve(value);\n }\n return canContinue;\n };\n config.onPause?.();\n }).then(() => {\n continueFn = void 0;\n if (!isResolved) {\n config.onContinue?.();\n }\n });\n };\n const run = () => {\n if (isResolved) {\n return;\n }\n let promiseOrValue;\n try {\n promiseOrValue = config.fn();\n } catch (error) {\n promiseOrValue = Promise.reject(error);\n }\n Promise.resolve(promiseOrValue).then(resolve).catch((error) => {\n if (isResolved) {\n return;\n }\n const retry = config.retry ?? (isServer ? 0 : 3);\n const retryDelay = 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 if (isRetryCancelled || !shouldRetry) {\n reject(error);\n return;\n }\n failureCount++;\n config.onFail?.(failureCount, error);\n sleep(delay).then(() => {\n if (shouldPause()) {\n return pause();\n }\n return;\n }).then(() => {\n if (isRetryCancelled) {\n reject(error);\n } else {\n run();\n }\n });\n });\n };\n if (canFetch(config.networkMode)) {\n run();\n } else {\n pause().then(run);\n }\n return {\n promise,\n cancel,\n continue: () => {\n const didContinue = continueFn?.();\n return didContinue ? promise : Promise.resolve();\n },\n cancelRetry,\n continueRetry\n };\n}\nexport {\n CancelledError,\n canFetch,\n createRetryer,\n isCancelledError\n};\n//# sourceMappingURL=retryer.js.map","// src/notifyManager.ts\nfunction createNotifyManager() {\n let queue = [];\n let transactions = 0;\n let notifyFn = (callback) => {\n callback();\n };\n let batchNotifyFn = (callback) => {\n callback();\n };\n let scheduleFn = (cb) => setTimeout(cb, 0);\n const setScheduler = (fn) => {\n scheduleFn = fn;\n };\n const batch = (callback) => {\n let result;\n transactions++;\n try {\n result = callback();\n } finally {\n transactions--;\n if (!transactions) {\n flush();\n }\n }\n return result;\n };\n const schedule = (callback) => {\n if (transactions) {\n queue.push(callback);\n } else {\n scheduleFn(() => {\n notifyFn(callback);\n });\n }\n };\n const batchCalls = (callback) => {\n return (...args) => {\n schedule(() => {\n callback(...args);\n });\n };\n };\n const flush = () => {\n const originalQueue = queue;\n queue = [];\n if (originalQueue.length) {\n scheduleFn(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback);\n });\n });\n });\n }\n };\n const setNotifyFunction = (fn) => {\n notifyFn = fn;\n };\n const setBatchNotifyFunction = (fn) => {\n batchNotifyFn = fn;\n };\n return {\n batch,\n batchCalls,\n schedule,\n setNotifyFunction,\n setBatchNotifyFunction,\n setScheduler\n };\n}\nvar notifyManager = createNotifyManager();\nexport {\n createNotifyManager,\n notifyManager\n};\n//# sourceMappingURL=notifyManager.js.map","// src/removable.ts\nimport { isServer, isValidTimeout } from \"./utils.js\";\nvar Removable = class {\n #gcTimeout;\n destroy() {\n this.clearGcTimeout();\n }\n scheduleGc() {\n this.clearGcTimeout();\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = setTimeout(() => {\n this.optionalRemove();\n }, this.gcTime);\n }\n }\n updateGcTime(newGcTime) {\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (isServer ? Infinity : 5 * 60 * 1e3)\n );\n }\n clearGcTimeout() {\n if (this.#gcTimeout) {\n clearTimeout(this.#gcTimeout);\n this.#gcTimeout = void 0;\n }\n }\n};\nexport {\n Removable\n};\n//# sourceMappingURL=removable.js.map","// src/query.ts\nimport { noop, replaceData, skipToken, timeUntilStale } from \"./utils.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { canFetch, createRetryer, isCancelledError } from \"./retryer.js\";\nimport { Removable } from \"./removable.js\";\nvar Query = class extends Removable {\n #initialState;\n #revertState;\n #cache;\n #retryer;\n #observers;\n #defaultOptions;\n #abortSignalConsumed;\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.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 get meta() {\n return this.options.meta;\n }\n setOptions(options) {\n this.options = { ...this.#defaultOptions, ...options };\n this.updateGcTime(this.options.gcTime);\n }\n optionalRemove() {\n if (!this.#observers.length && this.state.fetchStatus === \"idle\") {\n this.#cache.remove(this);\n }\n }\n setData(newData, options) {\n const data = replaceData(this.state.data, newData, this.options);\n this.#dispatch({\n data,\n type: \"success\",\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual\n });\n return data;\n }\n setState(state, setStateOptions) {\n this.#dispatch({ type: \"setState\", state, setStateOptions });\n }\n cancel(options) {\n const promise = this.#retryer?.promise;\n this.#retryer?.cancel(options);\n return promise ? promise.then(noop).catch(noop) : Promise.resolve();\n }\n destroy() {\n super.destroy();\n this.cancel({ silent: true });\n }\n reset() {\n this.destroy();\n this.setState(this.#initialState);\n }\n isActive() {\n return this.#observers.some(\n (observer) => observer.options.enabled !== false\n );\n }\n isDisabled() {\n return this.getObserversCount() > 0 && !this.isActive();\n }\n isStale() {\n if (this.state.isInvalidated) {\n return true;\n }\n if (this.getObserversCount() > 0) {\n return this.#observers.some(\n (observer) => observer.getCurrentResult().isStale\n );\n }\n return this.state.data === void 0;\n }\n isStaleByTime(staleTime = 0) {\n return this.state.isInvalidated || this.state.data === void 0 || !timeUntilStale(this.state.dataUpdatedAt, staleTime);\n }\n onFocus() {\n const observer = this.#observers.find((x) => x.shouldFetchOnWindowFocus());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n onOnline() {\n const observer = this.#observers.find((x) => x.shouldFetchOnReconnect());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n addObserver(observer) {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer);\n this.clearGcTimeout();\n this.#cache.notify({ type: \"observerAdded\", query: this, observer });\n }\n }\n removeObserver(observer) {\n if (this.#observers.includes(observer)) {\n this.#observers = this.#observers.filter((x) => x !== observer);\n if (!this.#observers.length) {\n if (this.#retryer) {\n if (this.#abortSignalConsumed) {\n this.#retryer.cancel({ revert: true });\n } else {\n this.#retryer.cancelRetry();\n }\n }\n this.scheduleGc();\n }\n this.#cache.notify({ type: \"observerRemoved\", query: this, observer });\n }\n }\n getObserversCount() {\n return this.#observers.length;\n }\n invalidate() {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: \"invalidate\" });\n }\n }\n fetch(options, fetchOptions) {\n if (this.state.fetchStatus !== \"idle\") {\n if (this.state.data !== void 0 && fetchOptions?.cancelRefetch) {\n this.cancel({ silent: true });\n } else if (this.#retryer) {\n this.#retryer.continueRetry();\n return this.#retryer.promise;\n }\n }\n if (options) {\n this.setOptions(options);\n }\n if (!this.options.queryFn) {\n const observer = this.#observers.find((x) => x.options.queryFn);\n if (observer) {\n this.setOptions(observer.options);\n }\n }\n if (process.env.NODE_ENV !== \"production\") {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `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 = new AbortController();\n const queryFnContext = {\n queryKey: this.queryKey,\n meta: this.meta\n };\n const addSignalProperty = (object) => {\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true;\n return abortController.signal;\n }\n });\n };\n addSignalProperty(queryFnContext);\n const fetchFn = () => {\n if (process.env.NODE_ENV !== \"production\") {\n if (this.options.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${this.options.queryHash}'`\n );\n }\n }\n if (!this.options.queryFn || this.options.queryFn === skipToken) {\n return Promise.reject(\n new Error(`Missing queryFn: '${this.options.queryHash}'`)\n );\n }\n this.#abortSignalConsumed = false;\n if (this.options.persister) {\n return this.options.persister(\n this.options.queryFn,\n queryFnContext,\n this\n );\n }\n return this.options.queryFn(\n queryFnContext\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.behavior?.onFetch(\n context,\n this\n );\n this.#revertState = this.state;\n if (this.state.fetchStatus === \"idle\" || this.state.fetchMeta !== context.fetchOptions?.meta) {\n this.#dispatch({ type: \"fetch\", meta: context.fetchOptions?.meta });\n }\n const onError = (error) => {\n if (!(isCancelledError(error) && error.silent)) {\n this.#dispatch({\n type: \"error\",\n error\n });\n }\n if (!isCancelledError(error)) {\n this.#cache.config.onError?.(\n error,\n this\n );\n this.#cache.config.onSettled?.(\n this.state.data,\n error,\n this\n );\n }\n if (!this.isFetchingOptimistic) {\n this.scheduleGc();\n }\n this.isFetchingOptimistic = false;\n };\n this.#retryer = createRetryer({\n fn: context.fetchFn,\n abort: abortController.abort.bind(abortController),\n onSuccess: (data) => {\n if (data === void 0) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`\n );\n }\n onError(new Error(`${this.queryHash} data is undefined`));\n return;\n }\n this.setData(data);\n this.#cache.config.onSuccess?.(data, this);\n this.#cache.config.onSettled?.(\n data,\n this.state.error,\n this\n );\n if (!this.isFetchingOptimistic) {\n this.scheduleGc();\n }\n this.isFetchingOptimistic = false;\n },\n onError,\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue: () => {\n this.#dispatch({ type: \"continue\" });\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode\n });\n return this.#retryer.promise;\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n fetchStatus: \"paused\"\n };\n case \"continue\":\n return {\n ...state,\n fetchStatus: \"fetching\"\n };\n case \"fetch\":\n return {\n ...state,\n ...fetchState(state.data, this.options),\n fetchMeta: action.meta ?? null\n };\n case \"success\":\n return {\n ...state,\n data: action.data,\n dataUpdateCount: state.dataUpdateCount + 1,\n dataUpdatedAt: 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 case \"error\":\n const error = action.error;\n if (isCancelledError(error) && error.revert && this.#revertState) {\n return { ...this.#revertState, fetchStatus: \"idle\" };\n }\n return {\n ...state,\n 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 case \"invalidate\":\n return {\n ...state,\n isInvalidated: true\n };\n case \"setState\":\n return {\n ...state,\n ...action.state\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onQueryUpdate();\n });\n this.#cache.notify({ query: this, type: \"updated\", action });\n });\n }\n};\nfunction fetchState(data, options) {\n return {\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchStatus: canFetch(options.networkMode) ? \"fetching\" : \"paused\",\n ...data === void 0 && {\n error: null,\n status: \"pending\"\n }\n };\n}\nfunction getDefaultState(options) {\n const data = typeof options.initialData === \"function\" ? options.initialData() : options.initialData;\n const hasData = data !== void 0;\n const initialDataUpdatedAt = hasData ? typeof options.initialDataUpdatedAt === \"function\" ? options.initialDataUpdatedAt() : options.initialDataUpdatedAt : 0;\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? 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\" : \"pending\",\n fetchStatus: \"idle\"\n };\n}\nexport {\n Query,\n fetchState\n};\n//# sourceMappingURL=query.js.map","// src/queryCache.ts\nimport { hashQueryKeyByOptions, matchQuery } from \"./utils.js\";\nimport { Query } from \"./query.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar QueryCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#queries = /* @__PURE__ */ new Map();\n }\n #queries;\n build(client, options, state) {\n const queryKey = options.queryKey;\n const queryHash = options.queryHash ?? hashQueryKeyByOptions(queryKey, options);\n let query = this.get(queryHash);\n if (!query) {\n query = new Query({\n cache: this,\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey)\n });\n this.add(query);\n }\n return query;\n }\n add(query) {\n if (!this.#queries.has(query.queryHash)) {\n this.#queries.set(query.queryHash, query);\n this.notify({\n type: \"added\",\n query\n });\n }\n }\n remove(query) {\n const queryInMap = this.#queries.get(query.queryHash);\n if (queryInMap) {\n query.destroy();\n if (queryInMap === query) {\n this.#queries.delete(query.queryHash);\n }\n this.notify({ type: \"removed\", query });\n }\n }\n clear() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n this.remove(query);\n });\n });\n }\n get(queryHash) {\n return this.#queries.get(queryHash);\n }\n getAll() {\n return [...this.#queries.values()];\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (query) => matchQuery(defaultedFilters, query)\n );\n }\n findAll(filters = {}) {\n const queries = this.getAll();\n return Object.keys(filters).length > 0 ? queries.filter((query) => matchQuery(filters, query)) : queries;\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n onFocus() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onFocus();\n });\n });\n }\n onOnline() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onOnline();\n });\n });\n }\n};\nexport {\n QueryCache\n};\n//# sourceMappingURL=queryCache.js.map","// src/mutation.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Removable } from \"./removable.js\";\nimport { canFetch, createRetryer } from \"./retryer.js\";\nvar Mutation = class extends Removable {\n #observers;\n #defaultOptions;\n #mutationCache;\n #retryer;\n constructor(config) {\n super();\n this.mutationId = config.mutationId;\n this.#defaultOptions = config.defaultOptions;\n this.#mutationCache = config.mutationCache;\n this.#observers = [];\n this.state = config.state || getDefaultState();\n this.setOptions(config.options);\n this.scheduleGc();\n }\n setOptions(options) {\n this.options = { ...this.#defaultOptions, ...options };\n this.updateGcTime(this.options.gcTime);\n }\n get meta() {\n return this.options.meta;\n }\n addObserver(observer) {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer);\n this.clearGcTimeout();\n this.#mutationCache.notify({\n type: \"observerAdded\",\n mutation: this,\n observer\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 optionalRemove() {\n if (!this.#observers.length) {\n if (this.state.status === \"pending\") {\n this.scheduleGc();\n } else {\n this.#mutationCache.remove(this);\n }\n }\n }\n continue() {\n return this.#retryer?.continue() ?? // continuing a mutation assumes that variables are set, mutation must have been dehydrated before\n this.execute(this.state.variables);\n }\n async execute(variables) {\n const executeMutation = () => {\n this.#retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject(new Error(\"No mutationFn found\"));\n }\n return this.options.mutationFn(variables);\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue: () => {\n this.#dispatch({ type: \"continue\" });\n },\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode\n });\n return this.#retryer.promise;\n };\n const restored = this.state.status === \"pending\";\n try {\n if (!restored) {\n this.#dispatch({ type: \"pending\", variables });\n await this.#mutationCache.config.onMutate?.(\n variables,\n this\n );\n const context = await this.options.onMutate?.(variables);\n if (context !== this.state.context) {\n this.#dispatch({\n type: \"pending\",\n context,\n variables\n });\n }\n }\n const data = await executeMutation();\n await this.#mutationCache.config.onSuccess?.(\n data,\n variables,\n this.state.context,\n this\n );\n await this.options.onSuccess?.(data, variables, this.state.context);\n await this.#mutationCache.config.onSettled?.(\n data,\n null,\n this.state.variables,\n this.state.context,\n this\n );\n await this.options.onSettled?.(data, null, variables, this.state.context);\n this.#dispatch({ type: \"success\", data });\n return data;\n } catch (error) {\n try {\n await this.#mutationCache.config.onError?.(\n error,\n variables,\n this.state.context,\n this\n );\n await this.options.onError?.(\n error,\n variables,\n this.state.context\n );\n await this.#mutationCache.config.onSettled?.(\n void 0,\n error,\n this.state.variables,\n this.state.context,\n this\n );\n await this.options.onSettled?.(\n void 0,\n error,\n variables,\n this.state.context\n );\n throw error;\n } finally {\n this.#dispatch({ type: \"error\", error });\n }\n }\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n isPaused: true\n };\n case \"continue\":\n return {\n ...state,\n isPaused: false\n };\n case \"pending\":\n return {\n ...state,\n context: action.context,\n data: void 0,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: !canFetch(this.options.networkMode),\n status: \"pending\",\n variables: action.variables,\n submittedAt: Date.now()\n };\n case \"success\":\n return {\n ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: \"success\",\n isPaused: false\n };\n case \"error\":\n return {\n ...state,\n data: void 0,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: \"error\"\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};\nfunction getDefaultState() {\n return {\n context: void 0,\n data: void 0,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: \"idle\",\n variables: void 0,\n submittedAt: 0\n };\n}\nexport {\n Mutation,\n getDefaultState\n};\n//# sourceMappingURL=mutation.js.map","// src/mutationCache.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Mutation } from \"./mutation.js\";\nimport { matchMutation, noop } from \"./utils.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar MutationCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#mutations = [];\n this.#mutationId = 0;\n }\n #mutations;\n #mutationId;\n #resuming;\n build(client, options, state) {\n const mutation = new Mutation({\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options),\n state\n });\n this.add(mutation);\n return mutation;\n }\n add(mutation) {\n this.#mutations.push(mutation);\n this.notify({ type: \"added\", mutation });\n }\n remove(mutation) {\n this.#mutations = this.#mutations.filter((x) => x !== mutation);\n this.notify({ type: \"removed\", mutation });\n }\n clear() {\n notifyManager.batch(() => {\n this.#mutations.forEach((mutation) => {\n this.remove(mutation);\n });\n });\n }\n getAll() {\n return this.#mutations;\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.#mutations.find(\n (mutation) => matchMutation(defaultedFilters, mutation)\n );\n }\n findAll(filters = {}) {\n return this.#mutations.filter(\n (mutation) => matchMutation(filters, mutation)\n );\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n resumePausedMutations() {\n this.#resuming = (this.#resuming ?? Promise.resolve()).then(() => {\n const pausedMutations = this.#mutations.filter((x) => x.state.isPaused);\n return notifyManager.batch(\n () => pausedMutations.reduce(\n (promise, mutation) => promise.then(() => mutation.continue().catch(noop)),\n Promise.resolve()\n )\n );\n }).then(() => {\n this.#resuming = void 0;\n });\n return this.#resuming;\n }\n};\nexport {\n MutationCache\n};\n//# sourceMappingURL=mutationCache.js.map","// src/infiniteQueryBehavior.ts\nimport { addToEnd, addToStart, skipToken } from \"./utils.js\";\nfunction infiniteQueryBehavior(pages) {\n return {\n onFetch: (context, query) => {\n const fetchFn = async () => {\n const options = context.options;\n const direction = context.fetchOptions?.meta?.fetchMore?.direction;\n const oldPages = context.state.data?.pages || [];\n const oldPageParams = context.state.data?.pageParams || [];\n const empty = { pages: [], pageParams: [] };\n let cancelled = false;\n const addSignalProperty = (object) => {\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n if (context.signal.aborted) {\n cancelled = true;\n } else {\n context.signal.addEventListener(\"abort\", () => {\n cancelled = true;\n });\n }\n return context.signal;\n }\n });\n };\n const queryFn = context.options.queryFn && context.options.queryFn !== skipToken ? context.options.queryFn : () => {\n if (process.env.NODE_ENV !== \"production\") {\n if (context.options.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${context.options.queryHash}'`\n );\n }\n }\n return Promise.reject(\n new Error(`Missing queryFn: '${context.options.queryHash}'`)\n );\n };\n const fetchPage = async (data, param, previous) => {\n if (cancelled) {\n return Promise.reject();\n }\n if (param == null && data.pages.length) {\n return Promise.resolve(data);\n }\n const queryFnContext = {\n queryKey: context.queryKey,\n pageParam: param,\n direction: previous ? \"backward\" : \"forward\",\n meta: context.options.meta\n };\n addSignalProperty(queryFnContext);\n const page = await queryFn(\n queryFnContext\n );\n const { maxPages } = context.options;\n const addTo = previous ? addToStart : addToEnd;\n return {\n pages: addTo(data.pages, page, maxPages),\n pageParams: addTo(data.pageParams, param, maxPages)\n };\n };\n let result;\n if (direction && oldPages.length) {\n const previous = direction === \"backward\";\n const pageParamFn = previous ? getPreviousPageParam : getNextPageParam;\n const oldData = {\n pages: oldPages,\n pageParams: oldPageParams\n };\n const param = pageParamFn(options, oldData);\n result = await fetchPage(oldData, param, previous);\n } else {\n result = await fetchPage(\n empty,\n oldPageParams[0] ?? options.initialPageParam\n );\n const remainingPages = pages ?? oldPages.length;\n for (let i = 1; i < remainingPages; i++) {\n const param = getNextPageParam(options, result);\n result = await fetchPage(result, param);\n }\n }\n return result;\n };\n if (context.options.persister) {\n context.fetchFn = () => {\n return context.options.persister?.(\n fetchFn,\n {\n queryKey: context.queryKey,\n meta: context.options.meta,\n signal: context.signal\n },\n query\n );\n };\n } else {\n context.fetchFn = fetchFn;\n }\n }\n };\n}\nfunction getNextPageParam(options, { pages, pageParams }) {\n const lastIndex = pages.length - 1;\n return options.getNextPageParam(\n pages[lastIndex],\n pages,\n pageParams[lastIndex],\n pageParams\n );\n}\nfunction getPreviousPageParam(options, { pages, pageParams }) {\n return options.getPreviousPageParam?.(\n pages[0],\n pages,\n pageParams[0],\n pageParams\n );\n}\nfunction hasNextPage(options, data) {\n if (!data)\n return false;\n return getNextPageParam(options, data) != null;\n}\nfunction hasPreviousPage(options, data) {\n if (!data || !options.getPreviousPageParam)\n return false;\n return getPreviousPageParam(options, data) != null;\n}\nexport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior\n};\n//# sourceMappingURL=infiniteQueryBehavior.js.map","// src/queryClient.ts\nimport {\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n noop,\n partialMatchKey,\n skipToken\n} from \"./utils.js\";\nimport { QueryCache } from \"./queryCache.js\";\nimport { MutationCache } from \"./mutationCache.js\";\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { infiniteQueryBehavior } from \"./infiniteQueryBehavior.js\";\nvar QueryClient = class {\n #queryCache;\n #mutationCache;\n #defaultOptions;\n #queryDefaults;\n #mutationDefaults;\n #mountCount;\n #unsubscribeFocus;\n #unsubscribeOnline;\n constructor(config = {}) {\n this.#queryCache = config.queryCache || new QueryCache();\n this.#mutationCache = config.mutationCache || new MutationCache();\n this.#defaultOptions = config.defaultOptions || {};\n this.#queryDefaults = /* @__PURE__ */ new Map();\n this.#mutationDefaults = /* @__PURE__ */ new Map();\n this.#mountCount = 0;\n }\n mount() {\n this.#mountCount++;\n if (this.#mountCount !== 1)\n return;\n this.#unsubscribeFocus = focusManager.subscribe(async (focused) => {\n if (focused) {\n await this.resumePausedMutations();\n this.#queryCache.onFocus();\n }\n });\n this.#unsubscribeOnline = onlineManager.subscribe(async (online) => {\n if (online) {\n await this.resumePausedMutations();\n this.#queryCache.onOnline();\n }\n });\n }\n unmount() {\n this.#mountCount--;\n if (this.#mountCount !== 0)\n return;\n this.#unsubscribeFocus?.();\n this.#unsubscribeFocus = void 0;\n this.#unsubscribeOnline?.();\n this.#unsubscribeOnline = void 0;\n }\n isFetching(filters) {\n return this.#queryCache.findAll({ ...filters, fetchStatus: \"fetching\" }).length;\n }\n isMutating(filters) {\n return this.#mutationCache.findAll({ ...filters, status: \"pending\" }).length;\n }\n getQueryData(queryKey) {\n const options = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.get(options.queryHash)?.state.data;\n }\n ensureQueryData(options) {\n const cachedData = this.getQueryData(options.queryKey);\n if (cachedData === void 0)\n return this.fetchQuery(options);\n else {\n const defaultedOptions = this.defaultQueryOptions(options);\n const query = this.#queryCache.build(this, defaultedOptions);\n if (options.revalidateIfStale && query.isStaleByTime(defaultedOptions.staleTime)) {\n void this.prefetchQuery(defaultedOptions);\n }\n return Promise.resolve(cachedData);\n }\n }\n getQueriesData(filters) {\n return this.getQueryCache().findAll(filters).map(({ queryKey, state }) => {\n const data = state.data;\n return [queryKey, data];\n });\n }\n setQueryData(queryKey, updater, options) {\n const defaultedOptions = this.defaultQueryOptions({ queryKey });\n const query = this.#queryCache.get(\n defaultedOptions.queryHash\n );\n const prevData = query?.state.data;\n const data = functionalUpdate(updater, prevData);\n if (data === void 0) {\n return void 0;\n }\n return this.#queryCache.build(this, defaultedOptions).setData(data, { ...options, manual: true });\n }\n setQueriesData(filters, updater, options) {\n return notifyManager.batch(\n () => this.getQueryCache().findAll(filters).map(({ queryKey }) => [\n queryKey,\n this.setQueryData(queryKey, updater, options)\n ])\n );\n }\n getQueryState(queryKey) {\n const options = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.get(options.queryHash)?.state;\n }\n removeQueries(filters) {\n const queryCache = this.#queryCache;\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query);\n });\n });\n }\n resetQueries(filters, options) {\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 cancelQueries(filters = {}, cancelOptions = {}) {\n const defaultedCancelOptions = { revert: true, ...cancelOptions };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).map((query) => query.cancel(defaultedCancelOptions))\n );\n return Promise.all(promises).then(noop).catch(noop);\n }\n invalidateQueries(filters = {}, options = {}) {\n return notifyManager.batch(() => {\n this.#queryCache.findAll(filters).forEach((query) => {\n query.invalidate();\n });\n if (filters.refetchType === \"none\") {\n return Promise.resolve();\n }\n const refetchFilters = {\n ...filters,\n type: filters.refetchType ?? filters.type ?? \"active\"\n };\n return this.refetchQueries(refetchFilters, options);\n });\n }\n refetchQueries(filters = {}, options) {\n const fetchOptions = {\n ...options,\n cancelRefetch: options?.cancelRefetch ?? true\n };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).filter((query) => !query.isDisabled()).map((query) => {\n let promise = query.fetch(void 0, fetchOptions);\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop);\n }\n return query.state.fetchStatus === \"paused\" ? Promise.resolve() : promise;\n })\n );\n return Promise.all(promises).then(noop);\n }\n fetchQuery(options) {\n const defaultedOptions = this.defaultQueryOptions(options);\n if (defaultedOptions.retry === void 0) {\n defaultedOptions.retry = false;\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 prefetchQuery(options) {\n return this.fetchQuery(options).then(noop).catch(noop);\n }\n fetchInfiniteQuery(options) {\n options.behavior = infiniteQueryBehavior(options.pages);\n return this.fetchQuery(options);\n }\n prefetchInfiniteQuery(options) {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop);\n }\n resumePausedMutations() {\n if (onlineManager.isOnline()) {\n return this.#mutationCache.resumePausedMutations();\n }\n return Promise.resolve();\n }\n getQueryCache() {\n return this.#queryCache;\n }\n getMutationCache() {\n return this.#mutationCache;\n }\n getDefaultOptions() {\n return this.#defaultOptions;\n }\n setDefaultOptions(options) {\n this.#defaultOptions = options;\n }\n setQueryDefaults(queryKey, options) {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options\n });\n }\n getQueryDefaults(queryKey) {\n const defaults = [...this.#queryDefaults.values()];\n let result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n result = { ...result, ...queryDefault.defaultOptions };\n }\n });\n return result;\n }\n setMutationDefaults(mutationKey, options) {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options\n });\n }\n getMutationDefaults(mutationKey) {\n const defaults = [...this.#mutationDefaults.values()];\n let result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n result = { ...result, ...queryDefault.defaultOptions };\n }\n });\n return result;\n }\n defaultQueryOptions(options) {\n if (options._defaulted) {\n return options;\n }\n const defaultedOptions = {\n ...this.#defaultOptions.queries,\n ...this.getQueryDefaults(options.queryKey),\n ...options,\n _defaulted: true\n };\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions\n );\n }\n if (defaultedOptions.refetchOnReconnect === void 0) {\n defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== \"always\";\n }\n if (defaultedOptions.throwOnError === void 0) {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense;\n }\n if (!defaultedOptions.networkMode && defaultedOptions.persister) {\n defaultedOptions.networkMode = \"offlineFirst\";\n }\n if (defaultedOptions.enabled !== true && defaultedOptions.queryFn === skipToken) {\n defaultedOptions.enabled = false;\n }\n return defaultedOptions;\n }\n defaultMutationOptions(options) {\n if (options?._defaulted) {\n return options;\n }\n return {\n ...this.#defaultOptions.mutations,\n ...options?.mutationKey && this.getMutationDefaults(options.mutationKey),\n ...options,\n _defaulted: true\n };\n }\n clear() {\n this.#queryCache.clear();\n this.#mutationCache.clear();\n }\n};\nexport {\n QueryClient\n};\n//# sourceMappingURL=queryClient.js.map","// src/queryObserver.ts\nimport {\n isServer,\n isValidTimeout,\n noop,\n replaceData,\n shallowEqualObjects,\n timeUntilStale\n} from \"./utils.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { focusManager } from \"./focusManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { fetchState } from \"./query.js\";\nvar QueryObserver = class extends Subscribable {\n constructor(client, options) {\n super();\n this.options = options;\n this.#client = client;\n this.#selectError = null;\n this.bindMethods();\n this.setOptions(options);\n }\n #client;\n #currentQuery = void 0;\n #currentQueryInitialState = void 0;\n #currentResult = void 0;\n #currentResultState;\n #currentResultOptions;\n #selectError;\n #selectFn;\n #selectResult;\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData;\n #staleTimeoutId;\n #refetchIntervalId;\n #currentRefetchInterval;\n #trackedProps = /* @__PURE__ */ new Set();\n bindMethods() {\n this.refetch = this.refetch.bind(this);\n }\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this);\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch();\n } else {\n this.updateResult();\n }\n this.#updateTimers();\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.destroy();\n }\n }\n shouldFetchOnReconnect() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect\n );\n }\n shouldFetchOnWindowFocus() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus\n );\n }\n destroy() {\n this.listeners = /* @__PURE__ */ new Set();\n this.#clearStaleTimeout();\n this.#clearRefetchInterval();\n this.#currentQuery.removeObserver(this);\n }\n setOptions(options, notifyOptions) {\n const prevOptions = this.options;\n const prevQuery = this.#currentQuery;\n this.options = this.#client.defaultQueryOptions(options);\n if (this.options.enabled !== void 0 && typeof this.options.enabled !== \"boolean\") {\n throw new Error(\"Expected enabled to be a boolean\");\n }\n this.#updateQuery();\n this.#currentQuery.setOptions(this.options);\n if (prevOptions._defaulted && !shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getQueryCache().notify({\n type: \"observerOptionsUpdated\",\n query: this.#currentQuery,\n observer: this\n });\n }\n const mounted = this.hasListeners();\n if (mounted && shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions\n )) {\n this.#executeFetch();\n }\n this.updateResult(notifyOptions);\n if (mounted && (this.#currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || this.options.staleTime !== prevOptions.staleTime)) {\n this.#updateStaleTimeout();\n }\n const nextRefetchInterval = this.#computeRefetchInterval();\n if (mounted && (this.#currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || nextRefetchInterval !== this.#currentRefetchInterval)) {\n this.#updateRefetchInterval(nextRefetchInterval);\n }\n }\n getOptimisticResult(options) {\n const query = this.#client.getQueryCache().build(this.#client, options);\n const result = this.createResult(query, options);\n if (shouldAssignObserverCurrentProperties(this, result)) {\n this.#currentResult = result;\n this.#currentResultOptions = this.options;\n this.#currentResultState = this.#currentQuery.state;\n }\n return result;\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n trackResult(result, onPropTracked) {\n const trackedResult = {};\n Object.keys(result).forEach((key) => {\n Object.defineProperty(trackedResult, key, {\n configurable: false,\n enumerable: true,\n get: () => {\n this.trackProp(key);\n onPropTracked?.(key);\n return result[key];\n }\n });\n });\n return trackedResult;\n }\n trackProp(key) {\n this.#trackedProps.add(key);\n }\n getCurrentQuery() {\n return this.#currentQuery;\n }\n refetch({ ...options } = {}) {\n return this.fetch({\n ...options\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 fetch(fetchOptions) {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true\n }).then(() => {\n this.updateResult();\n return this.#currentResult;\n });\n }\n #executeFetch(fetchOptions) {\n this.#updateQuery();\n let promise = this.#currentQuery.fetch(\n this.options,\n fetchOptions\n );\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop);\n }\n return promise;\n }\n #updateStaleTimeout() {\n this.#clearStaleTimeout();\n if (isServer || this.#currentResult.isStale || !isValidTimeout(this.options.staleTime)) {\n return;\n }\n const time = timeUntilStale(\n this.#currentResult.dataUpdatedAt,\n this.options.staleTime\n );\n const timeout = time + 1;\n this.#staleTimeoutId = setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult();\n }\n }, timeout);\n }\n #computeRefetchInterval() {\n return (typeof this.options.refetchInterval === \"function\" ? this.options.refetchInterval(this.#currentQuery) : this.options.refetchInterval) ?? false;\n }\n #updateRefetchInterval(nextInterval) {\n this.#clearRefetchInterval();\n this.#currentRefetchInterval = nextInterval;\n if (isServer || this.options.enabled === false || !isValidTimeout(this.#currentRefetchInterval) || this.#currentRefetchInterval === 0) {\n return;\n }\n this.#refetchIntervalId = setInterval(() => {\n if (this.options.refetchIntervalInBackground || focusManager.isFocused()) {\n this.#executeFetch();\n }\n }, this.#currentRefetchInterval);\n }\n #updateTimers() {\n this.#updateStaleTimeout();\n this.#updateRefetchInterval(this.#computeRefetchInterval());\n }\n #clearStaleTimeout() {\n if (this.#staleTimeoutId) {\n clearTimeout(this.#staleTimeoutId);\n this.#staleTimeoutId = void 0;\n }\n }\n #clearRefetchInterval() {\n if (this.#refetchIntervalId) {\n clearInterval(this.#refetchIntervalId);\n this.#refetchIntervalId = void 0;\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 { state } = query;\n let newState = { ...state };\n let isPlaceholderData = false;\n let data;\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 if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...fetchState(state.data, query.options)\n };\n }\n if (options._optimisticResults === \"isRestoring\") {\n newState.fetchStatus = \"idle\";\n }\n }\n let { error, errorUpdatedAt, status } = newState;\n if (options.select && newState.data !== void 0) {\n if (prevResult && newState.data === prevResultState?.data && options.select === this.#selectFn) {\n data = this.#selectResult;\n } else {\n try {\n this.#selectFn = options.select;\n data = options.select(newState.data);\n data = replaceData(prevResult?.data, data, options);\n this.#selectResult = data;\n this.#selectError = null;\n } catch (selectError) {\n this.#selectError = selectError;\n }\n }\n } else {\n data = newState.data;\n }\n if (options.placeholderData !== void 0 && data === void 0 && status === \"pending\") {\n let placeholderData;\n if (prevResult?.isPlaceholderData && options.placeholderData === prevResultOptions?.placeholderData) {\n placeholderData = prevResult.data;\n } else {\n placeholderData = typeof options.placeholderData === \"function\" ? options.placeholderData(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData\n ) : options.placeholderData;\n if (options.select && placeholderData !== void 0) {\n try {\n placeholderData = options.select(placeholderData);\n this.#selectError = null;\n } catch (selectError) {\n this.#selectError = selectError;\n }\n }\n }\n if (placeholderData !== void 0) {\n status = \"success\";\n data = replaceData(\n prevResult?.data,\n placeholderData,\n options\n );\n isPlaceholderData = true;\n }\n }\n if (this.#selectError) {\n error = this.#selectError;\n data = this.#selectResult;\n errorUpdatedAt = Date.now();\n status = \"error\";\n }\n const isFetching = newState.fetchStatus === \"fetching\";\n const isPending = status === \"pending\";\n const isError = status === \"error\";\n const isLoading = isPending && isFetching;\n const hasData = data !== void 0;\n const result = {\n status,\n fetchStatus: newState.fetchStatus,\n isPending,\n isSuccess: status === \"success\",\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: newState.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: newState.fetchFailureCount,\n failureReason: newState.fetchFailureReason,\n errorUpdateCount: newState.errorUpdateCount,\n isFetched: newState.dataUpdateCount > 0 || newState.errorUpdateCount > 0,\n isFetchedAfterMount: newState.dataUpdateCount > queryInitialState.dataUpdateCount || newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && !hasData,\n isPaused: newState.fetchStatus === \"paused\",\n isPlaceholderData,\n isRefetchError: isError && hasData,\n isStale: isStale(query, options),\n refetch: this.refetch\n };\n return result;\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;\n if (this.#currentResultState.data !== void 0) {\n this.#lastQueryWithDefinedData = this.#currentQuery;\n }\n if (shallowEqualObjects(nextResult, prevResult)) {\n return;\n }\n this.#currentResult = nextResult;\n const defaultNotifyOptions = {};\n const shouldNotifyListeners = () => {\n if (!prevResult) {\n return true;\n }\n const { notifyOnChangeProps } = this.options;\n const notifyOnChangePropsValue = typeof notifyOnChangeProps === \"function\" ? notifyOnChangeProps() : notifyOnChangeProps;\n if (notifyOnChangePropsValue === \"all\" || !notifyOnChangePropsValue && !this.#trackedProps.size) {\n return true;\n }\n const includedProps = new Set(\n notifyOnChangePropsValue ?? this.#trackedProps\n );\n if (this.options.throwOnError) {\n includedProps.add(\"error\");\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 if (notifyOptions?.listeners !== false && shouldNotifyListeners()) {\n defaultNotifyOptions.listeners = true;\n }\n this.#notify({ ...defaultNotifyOptions, ...notifyOptions });\n }\n #updateQuery() {\n const query = this.#client.getQueryCache().build(this.#client, this.options);\n if (query === this.#currentQuery) {\n return;\n }\n const prevQuery = this.#currentQuery;\n this.#currentQuery = query;\n this.#currentQueryInitialState = query.state;\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this);\n query.addObserver(this);\n }\n }\n onQueryUpdate() {\n this.updateResult();\n if (this.hasListeners()) {\n this.#updateTimers();\n }\n }\n #notify(notifyOptions) {\n notifyManager.batch(() => {\n if (notifyOptions.listeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n }\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: \"observerResultsUpdated\"\n });\n });\n }\n};\nfunction shouldLoadOnMount(query, options) {\n return options.enabled !== false && query.state.data === void 0 && !(query.state.status === \"error\" && options.retryOnMount === false);\n}\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.data !== void 0 && shouldFetchOn(query, options, options.refetchOnMount);\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 return false;\n}\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n return (query !== prevQuery || prevOptions.enabled === false) && (!options.suspense || query.state.status !== \"error\") && isStale(query, options);\n}\nfunction isStale(query, options) {\n return options.enabled !== false && query.isStaleByTime(options.staleTime);\n}\nfunction shouldAssignObserverCurrentProperties(observer, optimisticResult) {\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true;\n }\n return false;\n}\nexport {\n QueryObserver\n};\n//# sourceMappingURL=queryObserver.js.map","// src/queriesObserver.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { QueryObserver } from \"./queryObserver.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { replaceEqualDeep } from \"./utils.js\";\nfunction difference(array1, array2) {\n return array1.filter((x) => !array2.includes(x));\n}\nfunction replaceAt(array, index, value) {\n const copy = array.slice(0);\n copy[index] = value;\n return copy;\n}\nvar QueriesObserver = class extends Subscribable {\n #client;\n #result;\n #queries;\n #observers;\n #options;\n #combinedResult;\n constructor(client, queries, options) {\n super();\n this.#client = client;\n this.#queries = [];\n this.#observers = [];\n this.#setResult([]);\n this.setQueries(queries, options);\n }\n #setResult(value) {\n this.#result = value;\n this.#combinedResult = this.#combineResult(value, this.#options?.combine);\n }\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.#observers.forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result);\n });\n });\n }\n }\n onUnsubscribe() {\n if (!this.listeners.size) {\n this.destroy();\n }\n }\n destroy() {\n this.listeners = /* @__PURE__ */ new Set();\n this.#observers.forEach((observer) => {\n observer.destroy();\n });\n }\n setQueries(queries, options, notifyOptions) {\n this.#queries = queries;\n this.#options = options;\n notifyManager.batch(() => {\n const prevObservers = this.#observers;\n const newObserverMatches = this.#findMatchingObservers(this.#queries);\n newObserverMatches.forEach(\n (match) => match.observer.setOptions(match.defaultedQueryOptions, notifyOptions)\n );\n const newObservers = newObserverMatches.map((match) => match.observer);\n const newResult = newObservers.map(\n (observer) => observer.getCurrentResult()\n );\n const hasIndexChange = newObservers.some(\n (observer, index) => observer !== prevObservers[index]\n );\n if (prevObservers.length === newObservers.length && !hasIndexChange) {\n return;\n }\n this.#observers = newObservers;\n this.#setResult(newResult);\n if (!this.hasListeners()) {\n return;\n }\n difference(prevObservers, newObservers).forEach((observer) => {\n observer.destroy();\n });\n difference(newObservers, prevObservers).forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result);\n });\n });\n this.#notify();\n });\n }\n getCurrentResult() {\n return this.#combinedResult;\n }\n getQueries() {\n return this.#observers.map((observer) => observer.getCurrentQuery());\n }\n getObservers() {\n return this.#observers;\n }\n getOptimisticResult(queries, combine) {\n const matches = this.#findMatchingObservers(queries);\n const result = matches.map(\n (match) => match.observer.getOptimisticResult(match.defaultedQueryOptions)\n );\n return [\n result,\n (r) => {\n return this.#combineResult(r ?? result, combine);\n },\n () => {\n return matches.map((match, index) => {\n const observerResult = result[index];\n return !match.defaultedQueryOptions.notifyOnChangeProps ? match.observer.trackResult(observerResult, (accessedProp) => {\n matches.forEach((m) => {\n m.observer.trackProp(accessedProp);\n });\n }) : observerResult;\n });\n }\n ];\n }\n #combineResult(input, combine) {\n if (combine) {\n return replaceEqualDeep(this.#combinedResult, combine(input));\n }\n return input;\n }\n #findMatchingObservers(queries) {\n const prevObservers = this.#observers;\n const prevObserversMap = new Map(\n prevObservers.map((observer) => [observer.options.queryHash, observer])\n );\n const defaultedQueryOptions = queries.map(\n (options) => this.#client.defaultQueryOptions(options)\n );\n const matchingObservers = defaultedQueryOptions.flatMap((defaultedOptions) => {\n const match = prevObserversMap.get(defaultedOptions.queryHash);\n if (match != null) {\n return [{ defaultedQueryOptions: defaultedOptions, observer: match }];\n }\n return [];\n });\n const matchedQueryHashes = new Set(\n matchingObservers.map((match) => match.defaultedQueryOptions.queryHash)\n );\n const unmatchedQueries = defaultedQueryOptions.filter(\n (defaultedOptions) => !matchedQueryHashes.has(defaultedOptions.queryHash)\n );\n const getObserver = (options) => {\n const defaultedOptions = this.#client.defaultQueryOptions(options);\n const currentObserver = this.#observers.find(\n (o) => o.options.queryHash === defaultedOptions.queryHash\n );\n return currentObserver ?? new QueryObserver(this.#client, defaultedOptions);\n };\n const newOrReusedObservers = unmatchedQueries.map((options) => {\n return {\n defaultedQueryOptions: options,\n observer: getObserver(options)\n };\n });\n const sortMatchesByOrderOfQueries = (a, b) => defaultedQueryOptions.indexOf(a.defaultedQueryOptions) - defaultedQueryOptions.indexOf(b.defaultedQueryOptions);\n return matchingObservers.concat(newOrReusedObservers).sort(sortMatchesByOrderOfQueries);\n }\n #onUpdate(observer, result) {\n const index = this.#observers.indexOf(observer);\n if (index !== -1) {\n this.#setResult(replaceAt(this.#result, index, result));\n this.#notify();\n }\n }\n #notify() {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(this.#result);\n });\n });\n }\n};\nexport {\n QueriesObserver\n};\n//# sourceMappingURL=queriesObserver.js.map","// src/mutationObserver.ts\nimport { getDefaultState } from \"./mutation.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { hashKey, shallowEqualObjects } from \"./utils.js\";\nvar MutationObserver = class extends Subscribable {\n #client;\n #currentResult = void 0;\n #currentMutation;\n #mutateOptions;\n constructor(client, options) {\n super();\n this.#client = client;\n this.setOptions(options);\n this.bindMethods();\n this.#updateResult();\n }\n bindMethods() {\n this.mutate = this.mutate.bind(this);\n this.reset = this.reset.bind(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n this.options = this.#client.defaultMutationOptions(options);\n if (!shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getMutationCache().notify({\n type: \"observerOptionsUpdated\",\n mutation: this.#currentMutation,\n observer: this\n });\n }\n if (prevOptions?.mutationKey && this.options.mutationKey && hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)) {\n this.reset();\n } else if (this.#currentMutation?.state.status === \"pending\") {\n this.#currentMutation.setOptions(this.options);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this);\n }\n }\n onMutationUpdate(action) {\n this.#updateResult();\n this.#notify(action);\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n reset() {\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = void 0;\n this.#updateResult();\n this.#notify();\n }\n mutate(variables, options) {\n this.#mutateOptions = options;\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = this.#client.getMutationCache().build(this.#client, this.options);\n this.#currentMutation.addObserver(this);\n return this.#currentMutation.execute(variables);\n }\n #updateResult() {\n const state = this.#currentMutation?.state ?? getDefaultState();\n this.#currentResult = {\n ...state,\n isPending: state.status === \"pending\",\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 }\n #notify(action) {\n notifyManager.batch(() => {\n if (this.#mutateOptions && this.hasListeners()) {\n const variables = this.#currentResult.variables;\n const context = this.#currentResult.context;\n if (action?.type === \"success\") {\n this.#mutateOptions.onSuccess?.(action.data, variables, context);\n this.#mutateOptions.onSettled?.(action.data, null, variables, context);\n } else if (action?.type === \"error\") {\n this.#mutateOptions.onError?.(action.error, variables, context);\n this.#mutateOptions.onSettled?.(\n void 0,\n action.error,\n variables,\n context\n );\n }\n }\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n });\n }\n};\nexport {\n MutationObserver\n};\n//# sourceMappingURL=mutationObserver.js.map","// src/hydration.ts\nfunction dehydrateMutation(mutation) {\n return {\n mutationKey: mutation.options.mutationKey,\n state: mutation.state,\n ...mutation.meta && { meta: mutation.meta }\n };\n}\nfunction dehydrateQuery(query) {\n return {\n state: query.state,\n queryKey: query.queryKey,\n queryHash: query.queryHash,\n ...query.meta && { meta: query.meta }\n };\n}\nfunction defaultShouldDehydrateMutation(mutation) {\n return mutation.state.isPaused;\n}\nfunction defaultShouldDehydrateQuery(query) {\n return query.state.status === \"success\";\n}\nfunction dehydrate(client, options = {}) {\n const filterMutation = options.shouldDehydrateMutation ?? defaultShouldDehydrateMutation;\n const mutations = client.getMutationCache().getAll().flatMap(\n (mutation) => filterMutation(mutation) ? [dehydrateMutation(mutation)] : []\n );\n const filterQuery = options.shouldDehydrateQuery ?? defaultShouldDehydrateQuery;\n const queries = client.getQueryCache().getAll().flatMap((query) => filterQuery(query) ? [dehydrateQuery(query)] : []);\n return { mutations, queries };\n}\nfunction hydrate(client, dehydratedState, options) {\n if (typeof dehydratedState !== \"object\" || dehydratedState === null) {\n return;\n }\n const mutationCache = client.getMutationCache();\n const queryCache = client.getQueryCache();\n const mutations = dehydratedState.mutations || [];\n const queries = dehydratedState.queries || [];\n mutations.forEach((dehydratedMutation) => {\n mutationCache.build(\n client,\n {\n ...options?.defaultOptions?.mutations,\n mutationKey: dehydratedMutation.mutationKey,\n meta: dehydratedMutation.meta\n },\n dehydratedMutation.state\n );\n });\n queries.forEach(({ queryKey, state, queryHash, meta }) => {\n const query = queryCache.get(queryHash);\n if (query) {\n if (query.state.dataUpdatedAt < state.dataUpdatedAt) {\n const { fetchStatus: _ignored, ...dehydratedQueryState } = state;\n query.setState(dehydratedQueryState);\n }\n return;\n }\n queryCache.build(\n client,\n {\n ...options?.defaultOptions?.queries,\n queryKey,\n queryHash,\n meta\n },\n // Reset fetch status to idle to avoid\n // query being stuck in fetching state upon hydration\n {\n ...state,\n fetchStatus: \"idle\"\n }\n );\n });\n}\nexport {\n defaultShouldDehydrateMutation,\n defaultShouldDehydrateQuery,\n dehydrate,\n hydrate\n};\n//# sourceMappingURL=hydration.js.map","// src/utils.ts\nimport { isRef, unref } from \"vue-demi\";\nvar VUE_QUERY_CLIENT = \"VUE_QUERY_CLIENT\";\nfunction getClientKey(key) {\n const suffix = key ? `:${key}` : \"\";\n return `${VUE_QUERY_CLIENT}${suffix}`;\n}\nfunction updateState(state, update) {\n Object.keys(state).forEach((key) => {\n state[key] = update[key];\n });\n}\nfunction cloneDeep(value, customize) {\n if (customize) {\n const result = customize(value);\n if (result === void 0 && isRef(value)) {\n return result;\n }\n if (result !== void 0) {\n return result;\n }\n }\n if (Array.isArray(value)) {\n return value.map((val) => cloneDeep(val, customize));\n }\n if (typeof value === \"object\" && isPlainObject(value)) {\n const entries = Object.entries(value).map(([key, val]) => [\n key,\n cloneDeep(val, customize)\n ]);\n return Object.fromEntries(entries);\n }\n return value;\n}\nfunction cloneDeepUnref(obj) {\n return cloneDeep(obj, (val) => {\n if (isRef(val)) {\n return cloneDeepUnref(unref(val));\n }\n return void 0;\n });\n}\nfunction isPlainObject(value) {\n if (Object.prototype.toString.call(value) !== \"[object Object]\") {\n return false;\n }\n const prototype = Object.getPrototypeOf(value);\n return prototype === null || prototype === Object.prototype;\n}\nfunction shouldThrowError(throwOnError, params) {\n if (typeof throwOnError === \"function\") {\n return throwOnError(...params);\n }\n return !!throwOnError;\n}\nexport {\n VUE_QUERY_CLIENT,\n cloneDeep,\n cloneDeepUnref,\n getClientKey,\n shouldThrowError,\n updateState\n};\n//# sourceMappingURL=utils.js.map","// src/useQueryClient.ts\nimport { hasInjectionContext, inject } from \"vue-demi\";\nimport { getClientKey } from \"./utils.js\";\nfunction useQueryClient(id = \"\") {\n if (!hasInjectionContext()) {\n throw new Error(\n \"vue-query hooks can only be used inside setup() function or functions that support injection context.\"\n );\n }\n const key = getClientKey(id);\n const queryClient = inject(key);\n if (!queryClient) {\n throw new Error(\n \"No 'queryClient' found in Vue context, use 'VueQueryPlugin' to properly initialize the library.\"\n );\n }\n return queryClient;\n}\nexport {\n useQueryClient\n};\n//# sourceMappingURL=useQueryClient.js.map","// src/queryCache.ts\nimport { QueryCache as QC } from \"@tanstack/query-core\";\nimport { cloneDeepUnref } from \"./utils.js\";\nvar QueryCache = class extends QC {\n find(filters) {\n return super.find(cloneDeepUnref(filters));\n }\n findAll(filters = {}) {\n return super.findAll(cloneDeepUnref(filters));\n }\n};\nexport {\n QueryCache\n};\n//# sourceMappingURL=queryCache.js.map","// src/mutationCache.ts\nimport { MutationCache as MC } from \"@tanstack/query-core\";\nimport { cloneDeepUnref } from \"./utils.js\";\nvar MutationCache = class extends MC {\n find(filters) {\n return super.find(cloneDeepUnref(filters));\n }\n findAll(filters = {}) {\n return super.findAll(cloneDeepUnref(filters));\n }\n};\nexport {\n MutationCache\n};\n//# sourceMappingURL=mutationCache.js.map","// src/queryClient.ts\nimport { ref } from \"vue-demi\";\nimport { QueryClient as QC } from \"@tanstack/query-core\";\nimport { cloneDeepUnref } from \"./utils.js\";\nimport { QueryCache } from \"./queryCache.js\";\nimport { MutationCache } from \"./mutationCache.js\";\nvar QueryClient = class extends QC {\n constructor(config = {}) {\n const vueQueryConfig = {\n defaultOptions: config.defaultOptions,\n queryCache: config.queryCache || new QueryCache(),\n mutationCache: config.mutationCache || new MutationCache()\n };\n super(vueQueryConfig);\n this.isRestoring = ref(false);\n }\n isFetching(filters = {}) {\n return super.isFetching(cloneDeepUnref(filters));\n }\n isMutating(filters = {}) {\n return super.isMutating(cloneDeepUnref(filters));\n }\n getQueryData(queryKey) {\n return super.getQueryData(cloneDeepUnref(queryKey));\n }\n ensureQueryData(options) {\n return super.ensureQueryData(cloneDeepUnref(options));\n }\n getQueriesData(filters) {\n return super.getQueriesData(cloneDeepUnref(filters));\n }\n setQueryData(queryKey, updater, options = {}) {\n return super.setQueryData(\n cloneDeepUnref(queryKey),\n updater,\n cloneDeepUnref(options)\n );\n }\n setQueriesData(filters, updater, options = {}) {\n return super.setQueriesData(\n cloneDeepUnref(filters),\n updater,\n cloneDeepUnref(options)\n );\n }\n getQueryState(queryKey) {\n return super.getQueryState(cloneDeepUnref(queryKey));\n }\n removeQueries(filters = {}) {\n return super.removeQueries(cloneDeepUnref(filters));\n }\n resetQueries(filters = {}, options = {}) {\n return super.resetQueries(cloneDeepUnref(filters), cloneDeepUnref(options));\n }\n cancelQueries(filters = {}, options = {}) {\n return super.cancelQueries(cloneDeepUnref(filters), cloneDeepUnref(options));\n }\n invalidateQueries(filters = {}, options = {}) {\n return new Promise((resolve) => {\n setTimeout(async () => {\n await super.invalidateQueries(\n cloneDeepUnref(filters),\n cloneDeepUnref(options)\n );\n resolve();\n }, 0);\n });\n }\n refetchQueries(filters = {}, options = {}) {\n return super.refetchQueries(\n cloneDeepUnref(filters),\n cloneDeepUnref(options)\n );\n }\n fetchQuery(options) {\n return super.fetchQuery(cloneDeepUnref(options));\n }\n prefetchQuery(options) {\n return super.prefetchQuery(cloneDeepUnref(options));\n }\n fetchInfiniteQuery(options) {\n return super.fetchInfiniteQuery(cloneDeepUnref(options));\n }\n prefetchInfiniteQuery(options) {\n return super.prefetchInfiniteQuery(cloneDeepUnref(options));\n }\n setDefaultOptions(options) {\n super.setDefaultOptions(cloneDeepUnref(options));\n }\n setQueryDefaults(queryKey, options) {\n super.setQueryDefaults(cloneDeepUnref(queryKey), cloneDeepUnref(options));\n }\n getQueryDefaults(queryKey) {\n return super.getQueryDefaults(cloneDeepUnref(queryKey));\n }\n setMutationDefaults(mutationKey, options) {\n super.setMutationDefaults(\n cloneDeepUnref(mutationKey),\n cloneDeepUnref(options)\n );\n }\n getMutationDefaults(mutationKey) {\n return super.getMutationDefaults(cloneDeepUnref(mutationKey));\n }\n};\nexport {\n QueryClient\n};\n//# sourceMappingURL=queryClient.js.map","// src/vueQueryPlugin.ts\nimport { isVue2 } from \"vue-demi\";\nimport { isServer } from \"@tanstack/query-core\";\nimport { QueryClient } from \"./queryClient.js\";\nimport { getClientKey } from \"./utils.js\";\nimport { setupDevtools } from \"./devtools/devtools.js\";\nvar VueQueryPlugin = {\n install: (app, options = {}) => {\n const clientKey = getClientKey(options.queryClientKey);\n let client;\n if (\"queryClient\" in options && options.queryClient) {\n client = options.queryClient;\n } else {\n const clientConfig = \"queryClientConfig\" in options ? options.queryClientConfig : void 0;\n client = new QueryClient(clientConfig);\n }\n if (!isServer) {\n client.mount();\n }\n let persisterUnmount = () => {\n };\n if (options.clientPersister) {\n client.isRestoring.value = true;\n const [unmount, promise] = options.clientPersister(client);\n persisterUnmount = unmount;\n promise.then(() => {\n client.isRestoring.value = false;\n options.clientPersisterOnSuccess?.(client);\n });\n }\n const cleanup = () => {\n client.unmount();\n persisterUnmount();\n };\n if (app.onUnmount) {\n app.onUnmount(cleanup);\n } else {\n const originalUnmount = app.unmount;\n app.unmount = function vueQueryUnmount() {\n cleanup();\n originalUnmount();\n };\n }\n if (isVue2) {\n app.mixin({\n beforeCreate() {\n if (!this._provided) {\n const provideCache = {};\n Object.defineProperty(this, \"_provided\", {\n get: () => provideCache,\n set: (v) => Object.assign(provideCache, v)\n });\n }\n this._provided[clientKey] = client;\n if (process.env.NODE_ENV === \"development\") {\n if (this === this.$root && options.enableDevtoolsV6Plugin) {\n setupDevtools(this, client);\n }\n }\n }\n });\n } else {\n app.provide(clientKey, client);\n if (process.env.NODE_ENV === \"development\") {\n if (options.enableDevtoolsV6Plugin) {\n setupDevtools(app, client);\n }\n }\n }\n }\n};\nexport {\n VueQueryPlugin\n};\n//# sourceMappingURL=vueQueryPlugin.js.map","// src/useBaseQuery.ts\nimport {\n computed,\n getCurrentScope,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n watch\n} from \"vue-demi\";\nimport { useQueryClient } from \"./useQueryClient.js\";\nimport { cloneDeepUnref, shouldThrowError, updateState } from \"./utils.js\";\nfunction useBaseQuery(Observer, options, queryClient) {\n if (process.env.NODE_ENV === \"development\") {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composable like \"useQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.'\n );\n }\n }\n const client = queryClient || useQueryClient();\n const defaultedOptions = computed(() => {\n const clonedOptions = cloneDeepUnref(options);\n if (typeof clonedOptions.enabled === \"function\") {\n clonedOptions.enabled = clonedOptions.enabled();\n }\n const defaulted = client.defaultQueryOptions(clonedOptions);\n defaulted._optimisticResults = client.isRestoring.value ? \"isRestoring\" : \"optimistic\";\n return defaulted;\n });\n const observer = new Observer(client, defaultedOptions.value);\n const state = reactive(observer.getCurrentResult());\n let unsubscribe = () => {\n };\n watch(\n client.isRestoring,\n (isRestoring) => {\n if (!isRestoring) {\n unsubscribe();\n unsubscribe = observer.subscribe((result) => {\n updateState(state, result);\n });\n }\n },\n { immediate: true }\n );\n const updater = () => {\n observer.setOptions(defaultedOptions.value);\n updateState(state, observer.getCurrentResult());\n };\n watch(defaultedOptions, updater);\n onScopeDispose(() => {\n unsubscribe();\n });\n const refetch = (...args) => {\n updater();\n return state.refetch(...args);\n };\n const suspense = () => {\n return new Promise(\n (resolve, reject) => {\n let stopWatch = () => {\n };\n const run = () => {\n if (defaultedOptions.value.enabled !== false) {\n observer.setOptions(defaultedOptions.value);\n const optimisticResult = observer.getOptimisticResult(\n defaultedOptions.value\n );\n if (optimisticResult.isStale) {\n stopWatch();\n observer.fetchOptimistic(defaultedOptions.value).then(resolve, (error) => {\n if (shouldThrowError(defaultedOptions.value.throwOnError, [\n error,\n observer.getCurrentQuery()\n ])) {\n reject(error);\n } else {\n resolve(observer.getCurrentResult());\n }\n });\n } else {\n stopWatch();\n resolve(optimisticResult);\n }\n }\n };\n run();\n stopWatch = watch(defaultedOptions, run);\n }\n );\n };\n watch(\n () => state.error,\n (error) => {\n if (state.isError && !state.isFetching && shouldThrowError(defaultedOptions.value.throwOnError, [\n error,\n observer.getCurrentQuery()\n ])) {\n throw error;\n }\n }\n );\n const object = toRefs(readonly(state));\n for (const key in state) {\n if (typeof state[key] === \"function\") {\n object[key] = state[key];\n }\n }\n object.suspense = suspense;\n object.refetch = refetch;\n return object;\n}\nexport {\n useBaseQuery\n};\n//# sourceMappingURL=useBaseQuery.js.map","// src/useQuery.ts\nimport { QueryObserver } from \"@tanstack/query-core\";\nimport { useBaseQuery } from \"./useBaseQuery.js\";\nfunction useQuery(options, queryClient) {\n return useBaseQuery(QueryObserver, options, queryClient);\n}\nexport {\n useQuery\n};\n//# sourceMappingURL=useQuery.js.map","// src/useQueries.ts\nimport { QueriesObserver } from \"@tanstack/query-core\";\nimport {\n computed,\n getCurrentScope,\n onScopeDispose,\n readonly,\n shallowRef,\n watch\n} from \"vue-demi\";\nimport { useQueryClient } from \"./useQueryClient.js\";\nimport { cloneDeepUnref } from \"./utils.js\";\nfunction useQueries({\n queries,\n ...options\n}, queryClient) {\n if (process.env.NODE_ENV === \"development\") {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composable like \"useQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.'\n );\n }\n }\n const client = queryClient || useQueryClient();\n const defaultedQueries = computed(\n () => cloneDeepUnref(queries).map((queryOptions) => {\n if (typeof queryOptions.enabled === \"function\") {\n queryOptions.enabled = queryOptions.enabled();\n }\n const defaulted = client.defaultQueryOptions(queryOptions);\n defaulted._optimisticResults = client.isRestoring.value ? \"isRestoring\" : \"optimistic\";\n return defaulted;\n })\n );\n const observer = new QueriesObserver(\n client,\n defaultedQueries.value,\n options\n );\n const [, getCombinedResult] = observer.getOptimisticResult(\n defaultedQueries.value,\n options.combine\n );\n const state = shallowRef(getCombinedResult());\n let unsubscribe = () => {\n };\n watch(\n client.isRestoring,\n (isRestoring) => {\n if (!isRestoring) {\n unsubscribe();\n unsubscribe = observer.subscribe(() => {\n const [, getCombinedResultRestoring] = observer.getOptimisticResult(\n defaultedQueries.value,\n options.combine\n );\n state.value = getCombinedResultRestoring();\n });\n const [, getCombinedResultPersisted] = observer.getOptimisticResult(\n defaultedQueries.value,\n options.combine\n );\n state.value = getCombinedResultPersisted();\n }\n },\n { immediate: true }\n );\n watch(\n defaultedQueries,\n () => {\n observer.setQueries(\n defaultedQueries.value,\n options\n );\n const [, getCombinedResultPersisted] = observer.getOptimisticResult(\n defaultedQueries.value,\n options.combine\n );\n state.value = getCombinedResultPersisted();\n },\n { flush: \"sync\" }\n );\n onScopeDispose(() => {\n unsubscribe();\n });\n return readonly(state);\n}\nexport {\n useQueries\n};\n//# sourceMappingURL=useQueries.js.map","// src/useMutation.ts\nimport {\n computed,\n getCurrentScope,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n watch\n} from \"vue-demi\";\nimport { MutationObserver } from \"@tanstack/query-core\";\nimport { cloneDeepUnref, shouldThrowError, updateState } from \"./utils.js\";\nimport { useQueryClient } from \"./useQueryClient.js\";\nfunction useMutation(mutationOptions, queryClient) {\n if (process.env.NODE_ENV === \"development\") {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composable like \"useQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.'\n );\n }\n }\n const client = queryClient || useQueryClient();\n const options = computed(() => {\n return client.defaultMutationOptions(cloneDeepUnref(mutationOptions));\n });\n const observer = new MutationObserver(client, options.value);\n const state = reactive(observer.getCurrentResult());\n const unsubscribe = observer.subscribe((result) => {\n updateState(state, result);\n });\n const mutate = (variables, mutateOptions) => {\n observer.mutate(variables, mutateOptions).catch(() => {\n });\n };\n watch(options, () => {\n observer.setOptions(options.value);\n });\n onScopeDispose(() => {\n unsubscribe();\n });\n const resultRefs = toRefs(readonly(state));\n watch(\n () => state.error,\n (error) => {\n if (error && shouldThrowError(options.value.throwOnError, [error])) {\n throw error;\n }\n }\n );\n return {\n ...resultRefs,\n mutate,\n mutateAsync: state.mutate,\n reset: state.reset\n };\n}\nexport {\n useMutation\n};\n//# sourceMappingURL=useMutation.js.map","// src/useIsFetching.ts\nimport { getCurrentScope, onScopeDispose, ref, watchEffect } from \"vue-demi\";\nimport { useQueryClient } from \"./useQueryClient.js\";\nfunction useIsFetching(fetchingFilters = {}, queryClient) {\n if (process.env.NODE_ENV === \"development\") {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composable like \"useQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.'\n );\n }\n }\n const client = queryClient || useQueryClient();\n const isFetching = ref();\n const listener = () => {\n isFetching.value = client.isFetching(fetchingFilters);\n };\n const unsubscribe = client.getQueryCache().subscribe(listener);\n watchEffect(listener);\n onScopeDispose(() => {\n unsubscribe();\n });\n return isFetching;\n}\nexport {\n useIsFetching\n};\n//# sourceMappingURL=useIsFetching.js.map","// src/useMutationState.ts\nimport {\n computed,\n getCurrentScope,\n onScopeDispose,\n readonly,\n ref,\n watch\n} from \"vue-demi\";\nimport { useQueryClient } from \"./useQueryClient.js\";\nimport { cloneDeepUnref } from \"./utils.js\";\nfunction useIsMutating(filters = {}, queryClient) {\n if (process.env.NODE_ENV === \"development\") {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composable like \"useQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.'\n );\n }\n }\n const client = queryClient || useQueryClient();\n const mutationState = useMutationState(\n {\n filters: computed(() => ({\n ...cloneDeepUnref(filters),\n status: \"pending\"\n }))\n },\n client\n );\n const length = computed(() => mutationState.value.length);\n return length;\n}\nfunction getResult(mutationCache, options) {\n return mutationCache.findAll(options.filters).map(\n (mutation) => options.select ? options.select(\n mutation\n ) : mutation.state\n );\n}\nfunction useMutationState(options = {}, queryClient) {\n const filters = computed(() => cloneDeepUnref(options.filters));\n const mutationCache = (queryClient || useQueryClient()).getMutationCache();\n const state = ref(getResult(mutationCache, options));\n const unsubscribe = mutationCache.subscribe(() => {\n const result = getResult(mutationCache, options);\n state.value = result;\n });\n watch(filters, () => {\n state.value = getResult(mutationCache, options);\n });\n onScopeDispose(() => {\n unsubscribe();\n });\n return readonly(state);\n}\nexport {\n useIsMutating,\n useMutationState\n};\n//# sourceMappingURL=useMutationState.js.map","// src/persist.ts\nimport { dehydrate, hydrate } from \"@tanstack/query-core\";\nvar cacheEventTypes = [\"added\", \"removed\", \"updated\"];\nfunction isCacheEventType(eventType) {\n return cacheEventTypes.includes(eventType);\n}\nasync function persistQueryClientRestore({\n queryClient,\n persister,\n maxAge = 1e3 * 60 * 60 * 24,\n buster = \"\",\n hydrateOptions\n}) {\n try {\n const persistedClient = await persister.restoreClient();\n if (persistedClient) {\n if (persistedClient.timestamp) {\n const expired = Date.now() - persistedClient.timestamp > maxAge;\n const busted = persistedClient.buster !== buster;\n if (expired || busted) {\n persister.removeClient();\n } else {\n hydrate(queryClient, persistedClient.clientState, hydrateOptions);\n }\n } else {\n persister.removeClient();\n }\n }\n } catch (err) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(err);\n console.warn(\n \"Encountered an error attempting to restore client cache from persisted location. As a precaution, the persisted cache will be discarded.\"\n );\n }\n persister.removeClient();\n }\n}\nasync function persistQueryClientSave({\n queryClient,\n persister,\n buster = \"\",\n dehydrateOptions\n}) {\n const persistClient = {\n buster,\n timestamp: Date.now(),\n clientState: dehydrate(queryClient, dehydrateOptions)\n };\n await persister.persistClient(persistClient);\n}\nfunction persistQueryClientSubscribe(props) {\n const unsubscribeQueryCache = props.queryClient.getQueryCache().subscribe((event) => {\n if (isCacheEventType(event.type)) {\n persistQueryClientSave(props);\n }\n });\n const unsubscribeMutationCache = props.queryClient.getMutationCache().subscribe((event) => {\n if (isCacheEventType(event.type)) {\n persistQueryClientSave(props);\n }\n });\n return () => {\n unsubscribeQueryCache();\n unsubscribeMutationCache();\n };\n}\nfunction persistQueryClient(props) {\n let hasUnsubscribed = false;\n let persistQueryClientUnsubscribe;\n const unsubscribe = () => {\n hasUnsubscribed = true;\n persistQueryClientUnsubscribe?.();\n };\n const restorePromise = persistQueryClientRestore(props).then(() => {\n if (!hasUnsubscribed) {\n persistQueryClientUnsubscribe = persistQueryClientSubscribe(props);\n }\n });\n return [unsubscribe, restorePromise];\n}\nexport {\n persistQueryClient,\n persistQueryClientRestore,\n persistQueryClientSave,\n persistQueryClientSubscribe\n};\n//# sourceMappingURL=persist.js.map","// src/utils.ts\nfunction noop() {\n}\nexport {\n noop\n};\n//# sourceMappingURL=utils.js.map","// src/index.ts\nimport { noop } from \"./utils.js\";\nfunction createSyncStoragePersister({\n storage,\n key = `REACT_QUERY_OFFLINE_CACHE`,\n throttleTime = 1e3,\n serialize = JSON.stringify,\n deserialize = JSON.parse,\n retry\n}) {\n if (storage) {\n const trySave = (persistedClient) => {\n try {\n storage.setItem(key, serialize(persistedClient));\n return;\n } catch (error) {\n return error;\n }\n };\n return {\n persistClient: throttle((persistedClient) => {\n let client = persistedClient;\n let error = trySave(client);\n let errorCount = 0;\n while (error && client) {\n errorCount++;\n client = retry?.({\n persistedClient: client,\n error,\n errorCount\n });\n if (client) {\n error = trySave(client);\n }\n }\n }, throttleTime),\n restoreClient: () => {\n const cacheString = storage.getItem(key);\n if (!cacheString) {\n return;\n }\n return deserialize(cacheString);\n },\n removeClient: () => {\n storage.removeItem(key);\n }\n };\n }\n return {\n persistClient: noop,\n restoreClient: () => void 0,\n removeClient: noop\n };\n}\nfunction throttle(func, wait = 100) {\n let timer = null;\n let params;\n return function(...args) {\n params = args;\n if (timer === null) {\n timer = setTimeout(() => {\n func(...params);\n timer = null;\n }, wait);\n }\n };\n}\nexport {\n createSyncStoragePersister\n};\n//# sourceMappingURL=index.js.map"],"names":["Subscribable","listener","isServer","noop","functionalUpdate","updater","input","isValidTimeout","value","timeUntilStale","updatedAt","staleTime","matchQuery","filters","query","type","exact","fetchStatus","predicate","queryKey","stale","hashQueryKeyByOptions","partialMatchKey","isActive","matchMutation","mutation","status","mutationKey","hashKey","options","_","val","isPlainObject","result","key","a","b","replaceEqualDeep","array","isPlainArray","aItems","aSize","bItems","bSize","copy","equalItems","i","shallowEqualObjects","o","hasObjectPrototype","ctor","prot","sleep","ms","resolve","replaceData","prevData","data","keepPreviousData","previousData","addToEnd","items","item","max","newItems","addToStart","skipToken","FocusManager","_a","__privateAdd","_focused","_cleanup","_setup","__privateSet","onFocus","__privateGet","setup","focused","isFocused","focusManager","OnlineManager","_online","onOnline","onlineListener","offlineListener","online","onlineManager","defaultRetryDelay","failureCount","__pow","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","retry","retryDelay","_b","delay","shouldRetry","_c","createNotifyManager","queue","transactions","notifyFn","callback","batchNotifyFn","scheduleFn","cb","setScheduler","fn","batch","flush","schedule","batchCalls","args","originalQueue","notifyManager","Removable","_gcTimeout","newGcTime","Query","_dispatch","_initialState","_revertState","_cache","_retryer","_observers","_defaultOptions","_abortSignalConsumed","getDefaultState","__spreadValues","newData","__privateMethod","dispatch_fn","state","setStateOptions","observer","x","fetchOptions","abortController","queryFnContext","addSignalProperty","object","fetchFn","context","onError","_d","action","reducer","__spreadProps","fetchState","hasData","initialDataUpdatedAt","QueryCache","_queries","client","queryHash","queryInMap","defaultedFilters","queries","event","Mutation","_mutationCache","variables","__async","executeMutation","restored","_f","_e","_h","_g","_j","_i","_l","_k","_n","_m","_p","_o","_r","_q","_t","_s","MutationCache","_mutations","_mutationId","_resuming","__privateWrapper","pausedMutations","infiniteQueryBehavior","pages","direction","oldPages","oldPageParams","empty","cancelled","queryFn","fetchPage","param","previous","page","maxPages","addTo","pageParamFn","getPreviousPageParam","getNextPageParam","oldData","remainingPages","pageParams","lastIndex","QueryClient","_queryCache","_queryDefaults","_mutationDefaults","_mountCount","_unsubscribeFocus","_unsubscribeOnline","cachedData","defaultedOptions","queryCache","refetchFilters","defaultedCancelOptions","promises","defaults","queryDefault","QueryObserver","_executeFetch","_updateStaleTimeout","_computeRefetchInterval","_updateRefetchInterval","_updateTimers","_clearStaleTimeout","_clearRefetchInterval","_updateQuery","_notify","_client","_currentQuery","_currentQueryInitialState","_currentResult","_currentResultState","_currentResultOptions","_selectError","_selectFn","_selectResult","_lastQueryWithDefinedData","_staleTimeoutId","_refetchIntervalId","_currentRefetchInterval","_trackedProps","shouldFetchOnMount","executeFetch_fn","updateTimers_fn","shouldFetchOn","clearStaleTimeout_fn","clearRefetchInterval_fn","notifyOptions","prevOptions","prevQuery","updateQuery_fn","mounted","shouldFetchOptionally","updateStaleTimeout_fn","nextRefetchInterval","computeRefetchInterval_fn","updateRefetchInterval_fn","shouldAssignObserverCurrentProperties","onPropTracked","trackedResult","__objRest","prevResult","prevResultState","prevResultOptions","queryInitialState","newState","isPlaceholderData","fetchOnMount","fetchOptionally","errorUpdatedAt","selectError","placeholderData","isFetching","isPending","isError","isLoading","isStale","nextResult","defaultNotifyOptions","shouldNotifyListeners","notifyOnChangeProps","notifyOnChangePropsValue","includedProps","typedKey","notify_fn","timeout","nextInterval","shouldLoadOnMount","field","optimisticResult","difference","array1","array2","replaceAt","index","QueriesObserver","_setResult","_combineResult","_findMatchingObservers","_onUpdate","_result","_options","_combinedResult","setResult_fn","onUpdate_fn","prevObservers","newObserverMatches","findMatchingObservers_fn","match","newObservers","newResult","hasIndexChange","combine","matches","r","combineResult_fn","observerResult","accessedProp","m","prevObserversMap","defaultedQueryOptions","matchingObservers","matchedQueryHashes","unmatchedQueries","getObserver","currentObserver","newOrReusedObservers","sortMatchesByOrderOfQueries","MutationObserver","_updateResult","_currentMutation","_mutateOptions","updateResult_fn","dehydrateMutation","dehydrateQuery","defaultShouldDehydrateMutation","defaultShouldDehydrateQuery","dehydrate","filterMutation","mutations","filterQuery","hydrate","dehydratedState","mutationCache","dehydratedMutation","meta","_ignored","dehydratedQueryState","VUE_QUERY_CLIENT","getClientKey","suffix","updateState","update","cloneDeep","customize","isRef","entries","cloneDeepUnref","obj","unref","prototype","shouldThrowError","throwOnError","params","useQueryClient","id","hasInjectionContext","queryClient","inject","QC","MC","_this","vueQueryConfig","ref","__superGet","VueQueryPlugin","app","clientKey","clientConfig","persisterUnmount","unmount","cleanup","originalUnmount","useBaseQuery","Observer","computed","clonedOptions","defaulted","reactive","unsubscribe","watch","isRestoring","onScopeDispose","refetch","suspense","stopWatch","toRefs","readonly","useQuery","useQueries","defaultedQueries","queryOptions","getCombinedResult","shallowRef","getCombinedResultRestoring","getCombinedResultPersisted","useMutation","mutationOptions","mutate","mutateOptions","resultRefs","useIsFetching","fetchingFilters","watchEffect","useIsMutating","mutationState","useMutationState","getResult","cacheEventTypes","isCacheEventType","eventType","persistQueryClientRestore","_0","persister","maxAge","buster","hydrateOptions","persistedClient","expired","busted","err","persistQueryClientSave","dehydrateOptions","persistClient","persistQueryClientSubscribe","props","unsubscribeQueryCache","unsubscribeMutationCache","persistQueryClient","hasUnsubscribed","persistQueryClientUnsubscribe","restorePromise","createSyncStoragePersister","storage","throttleTime","serialize","deserialize","trySave","throttle","errorCount","cacheString","func","wait","timer"],"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,29,30,31]}