@tanstack/query-core
Advanced tools
Comparing version 5.0.0-alpha.1 to 5.0.0-alpha.2
@@ -12,3 +12,3 @@ export { CancelledError } from './retryer'; | ||
export { onlineManager } from './onlineManager'; | ||
export { hashKey, replaceEqualDeep, isServer, keepPreviousData } from './utils'; | ||
export { hashKey, replaceEqualDeep, isServer, matchQuery, keepPreviousData, } from './utils'; | ||
export type { MutationFilters, QueryFilters, Updater } from './utils'; | ||
@@ -15,0 +15,0 @@ export { isCancelledError } from './retryer'; |
@@ -12,4 +12,4 @@ export { CancelledError, isCancelledError } from './retryer.esm.js'; | ||
export { onlineManager } from './onlineManager.esm.js'; | ||
export { hashKey, isServer, keepPreviousData, replaceEqualDeep } from './utils.esm.js'; | ||
export { hashKey, isServer, keepPreviousData, matchQuery, replaceEqualDeep } from './utils.esm.js'; | ||
export { defaultShouldDehydrateMutation, defaultShouldDehydrateQuery, dehydrate, hydrate } from './hydration.esm.js'; | ||
//# sourceMappingURL=index.esm.js.map |
@@ -34,2 +34,3 @@ 'use strict'; | ||
exports.keepPreviousData = utils.keepPreviousData; | ||
exports.matchQuery = utils.matchQuery; | ||
exports.replaceEqualDeep = utils.replaceEqualDeep; | ||
@@ -36,0 +37,0 @@ exports.defaultShouldDehydrateMutation = hydration.defaultShouldDehydrateMutation; |
@@ -1,2 +0,2 @@ | ||
import type { DefaultedInfiniteQueryObserverOptions, FetchNextPageOptions, FetchPreviousPageOptions, InfiniteData, InfiniteQueryObserverOptions, InfiniteQueryObserverResult, QueryKey, RegisteredError } from './types'; | ||
import type { DefaultedInfiniteQueryObserverOptions, FetchNextPageOptions, FetchPreviousPageOptions, InfiniteData, InfiniteQueryObserverOptions, InfiniteQueryObserverResult, QueryKey, DefaultError } from './types'; | ||
import type { QueryClient } from './queryClient'; | ||
@@ -7,3 +7,3 @@ import type { NotifyOptions, ObserverFetchOptions } from './queryObserver'; | ||
declare type InfiniteQueryObserverListener<TData, TError> = (result: InfiniteQueryObserverResult<TData, TError>) => void; | ||
export declare class InfiniteQueryObserver<TQueryFnData = unknown, TError = RegisteredError, TData = InfiniteData<TQueryFnData>, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends QueryObserver<TQueryFnData, TError, TData, InfiniteData<TQueryData>, TQueryKey> { | ||
export declare class InfiniteQueryObserver<TQueryFnData = unknown, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends QueryObserver<TQueryFnData, TError, TData, InfiniteData<TQueryData>, TQueryKey> { | ||
subscribe: (listener?: InfiniteQueryObserverListener<TData, TError>) => () => void; | ||
@@ -10,0 +10,0 @@ getCurrentResult: () => InfiniteQueryObserverResult<TData, TError>; |
@@ -1,2 +0,2 @@ | ||
import type { MutationOptions, MutationStatus, MutationMeta, RegisteredError } from './types'; | ||
import type { MutationOptions, MutationStatus, MutationMeta, DefaultError } from './types'; | ||
import type { MutationCache } from './mutationCache'; | ||
@@ -12,3 +12,3 @@ import type { MutationObserver } from './mutationObserver'; | ||
} | ||
export interface MutationState<TData = unknown, TError = RegisteredError, TVariables = void, TContext = unknown> { | ||
export interface MutationState<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> { | ||
context: TContext | undefined; | ||
@@ -49,3 +49,3 @@ data: TData | undefined; | ||
export declare type Action<TData, TError, TVariables, TContext> = ContinueAction | ErrorAction<TError> | FailedAction<TError> | PendingAction<TVariables, TContext> | PauseAction | SuccessAction<TData>; | ||
export declare class Mutation<TData = unknown, TError = RegisteredError, TVariables = void, TContext = unknown> extends Removable { | ||
export declare class Mutation<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> extends Removable { | ||
#private; | ||
@@ -52,0 +52,0 @@ state: MutationState<TData, TError, TVariables, TContext>; |
@@ -117,2 +117,5 @@ import { notifyManager } from './notifyManager.esm.js'; | ||
await this.options.onSuccess?.(data, variables, this.state.context); | ||
// Notify cache callback | ||
await this.#mutationCache.config.onSettled?.(data, null, this.state.variables, this.state.context, this); | ||
await this.options.onSettled?.(data, null, variables, this.state.context); | ||
@@ -129,2 +132,5 @@ this.#dispatch({ | ||
await this.options.onError?.(error, variables, this.state.context); | ||
// Notify cache callback | ||
await this.#mutationCache.config.onSettled?.(undefined, error, this.state.variables, this.state.context, this); | ||
await this.options.onSettled?.(undefined, error, variables, this.state.context); | ||
@@ -131,0 +137,0 @@ throw error; |
@@ -119,2 +119,5 @@ 'use strict'; | ||
await this.options.onSuccess?.(data, variables, this.state.context); | ||
// Notify cache callback | ||
await this.#mutationCache.config.onSettled?.(data, null, this.state.variables, this.state.context, this); | ||
await this.options.onSettled?.(data, null, variables, this.state.context); | ||
@@ -131,2 +134,5 @@ this.#dispatch({ | ||
await this.options.onError?.(error, variables, this.state.context); | ||
// Notify cache callback | ||
await this.#mutationCache.config.onSettled?.(undefined, error, this.state.variables, this.state.context, this); | ||
await this.options.onSettled?.(undefined, error, variables, this.state.context); | ||
@@ -133,0 +139,0 @@ throw error; |
import type { MutationObserver } from './mutationObserver'; | ||
import type { NotifyEvent, MutationOptions, RegisteredError } from './types'; | ||
import type { NotifyEvent, MutationOptions, DefaultError } from './types'; | ||
import type { QueryClient } from './queryClient'; | ||
@@ -11,3 +11,4 @@ import type { Action, MutationState } from './mutation'; | ||
onSuccess?: (data: unknown, variables: unknown, context: unknown, mutation: Mutation<unknown, unknown, unknown>) => Promise<unknown> | unknown; | ||
onMutate?: (variables: unknown, mutation: Mutation<unknown, unknown, unknown, unknown>) => Promise<unknown> | unknown; | ||
onMutate?: (variables: unknown, mutation: Mutation<unknown, unknown, unknown>) => Promise<unknown> | unknown; | ||
onSettled?: (data: unknown | undefined, error: unknown | null, variables: unknown, context: unknown, mutation: Mutation<unknown, unknown, unknown>) => Promise<unknown> | unknown; | ||
} | ||
@@ -53,3 +54,3 @@ interface NotifyEventMutationAdded extends NotifyEvent { | ||
getAll(): Mutation[]; | ||
find<TData = unknown, TError = RegisteredError, TVariables = any, TContext = unknown>(filters: MutationFilters): Mutation<TData, TError, TVariables, TContext> | undefined; | ||
find<TData = unknown, TError = DefaultError, TVariables = any, TContext = unknown>(filters: MutationFilters): Mutation<TData, TError, TVariables, TContext> | undefined; | ||
findAll(filters?: MutationFilters): Mutation[]; | ||
@@ -56,0 +57,0 @@ notify(event: MutationCacheNotifyEvent): void; |
import type { Action } from './mutation'; | ||
import type { QueryClient } from './queryClient'; | ||
import { Subscribable } from './subscribable'; | ||
import type { MutateOptions, MutationObserverResult, MutationObserverOptions, RegisteredError } from './types'; | ||
import type { MutateOptions, MutationObserverResult, MutationObserverOptions, DefaultError } from './types'; | ||
declare type MutationObserverListener<TData, TError, TVariables, TContext> = (result: MutationObserverResult<TData, TError, TVariables, TContext>) => void; | ||
export declare class MutationObserver<TData = unknown, TError = RegisteredError, TVariables = void, TContext = unknown> extends Subscribable<MutationObserverListener<TData, TError, TVariables, TContext>> { | ||
export declare class MutationObserver<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> extends Subscribable<MutationObserverListener<TData, TError, TVariables, TContext>> { | ||
#private; | ||
@@ -8,0 +8,0 @@ options: MutationObserverOptions<TData, TError, TVariables, TContext>; |
@@ -18,3 +18,2 @@ import { notifyManager } from './notifyManager.esm.js'; | ||
#observers; | ||
#observersMap; | ||
constructor(client, queries) { | ||
@@ -26,3 +25,2 @@ super(); | ||
this.#observers = []; | ||
this.#observersMap = {}; | ||
if (queries) { | ||
@@ -61,3 +59,2 @@ this.setQueries(queries); | ||
const newObservers = newObserverMatches.map(match => match.observer); | ||
const newObserversMap = Object.fromEntries(newObservers.map(observer => [observer.options.queryHash, observer])); | ||
const newResult = newObservers.map(observer => observer.getCurrentResult()); | ||
@@ -69,3 +66,2 @@ const hasIndexChange = newObservers.some((observer, index) => observer !== prevObservers[index]); | ||
this.#observers = newObservers; | ||
this.#observersMap = newObserversMap; | ||
this.#result = newResult; | ||
@@ -115,3 +111,3 @@ if (!this.hasListeners()) { | ||
const defaultedOptions = this.#client.defaultQueryOptions(options); | ||
const currentObserver = this.#observersMap[defaultedOptions.queryHash]; | ||
const currentObserver = this.#observers.find(o => o.options.queryHash === defaultedOptions.queryHash); | ||
return currentObserver ?? new QueryObserver(this.#client, defaultedOptions); | ||
@@ -118,0 +114,0 @@ }; |
@@ -20,3 +20,2 @@ 'use strict'; | ||
#observers; | ||
#observersMap; | ||
constructor(client, queries) { | ||
@@ -28,3 +27,2 @@ super(); | ||
this.#observers = []; | ||
this.#observersMap = {}; | ||
if (queries) { | ||
@@ -63,3 +61,2 @@ this.setQueries(queries); | ||
const newObservers = newObserverMatches.map(match => match.observer); | ||
const newObserversMap = Object.fromEntries(newObservers.map(observer => [observer.options.queryHash, observer])); | ||
const newResult = newObservers.map(observer => observer.getCurrentResult()); | ||
@@ -71,3 +68,2 @@ const hasIndexChange = newObservers.some((observer, index) => observer !== prevObservers[index]); | ||
this.#observers = newObservers; | ||
this.#observersMap = newObserversMap; | ||
this.#result = newResult; | ||
@@ -117,3 +113,3 @@ if (!this.hasListeners()) { | ||
const defaultedOptions = this.#client.defaultQueryOptions(options); | ||
const currentObserver = this.#observersMap[defaultedOptions.queryHash]; | ||
const currentObserver = this.#observers.find(o => o.options.queryHash === defaultedOptions.queryHash); | ||
return currentObserver ?? new queryObserver.QueryObserver(this.#client, defaultedOptions); | ||
@@ -120,0 +116,0 @@ }; |
@@ -1,2 +0,2 @@ | ||
import type { QueryKey, QueryOptions, QueryStatus, QueryMeta, CancelOptions, SetDataOptions, FetchStatus, RegisteredError } from './types'; | ||
import type { QueryKey, QueryOptions, QueryStatus, QueryMeta, CancelOptions, SetDataOptions, FetchStatus, DefaultError } from './types'; | ||
import type { QueryCache } from './queryCache'; | ||
@@ -13,3 +13,3 @@ import type { QueryObserver } from './queryObserver'; | ||
} | ||
export interface QueryState<TData = unknown, TError = RegisteredError> { | ||
export interface QueryState<TData = unknown, TError = DefaultError> { | ||
data: TData | undefined; | ||
@@ -36,3 +36,3 @@ dataUpdateCount: number; | ||
} | ||
export interface QueryBehavior<TQueryFnData = unknown, TError = RegisteredError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> { | ||
export interface QueryBehavior<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> { | ||
onFetch: (context: FetchContext<TQueryFnData, TError, TData, TQueryKey>) => void; | ||
@@ -86,3 +86,3 @@ } | ||
} | ||
export declare class Query<TQueryFnData = unknown, TError = RegisteredError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends Removable { | ||
export declare class Query<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends Removable { | ||
#private; | ||
@@ -89,0 +89,0 @@ queryKey: TQueryKey; |
@@ -254,2 +254,3 @@ import { replaceData, noop, timeUntilStale } from './utils.esm.js'; | ||
this.#cache.config.onError?.(error, this); | ||
this.#cache.config.onSettled?.(this.state.data, error, this); | ||
} | ||
@@ -279,2 +280,3 @@ if (!this.isFetchingOptimistic) { | ||
this.#cache.config.onSuccess?.(data, this); | ||
this.#cache.config.onSettled?.(data, this.state.error, this); | ||
if (!this.isFetchingOptimistic) { | ||
@@ -281,0 +283,0 @@ // Schedule query gc after fetching |
@@ -256,2 +256,3 @@ 'use strict'; | ||
this.#cache.config.onError?.(error, this); | ||
this.#cache.config.onSettled?.(this.state.data, error, this); | ||
} | ||
@@ -281,2 +282,3 @@ if (!this.isFetchingOptimistic) { | ||
this.#cache.config.onSuccess?.(data, this); | ||
this.#cache.config.onSettled?.(data, this.state.error, this); | ||
if (!this.isFetchingOptimistic) { | ||
@@ -283,0 +285,0 @@ // Schedule query gc after fetching |
import type { QueryFilters } from './utils'; | ||
import type { Action, QueryState } from './query'; | ||
import { Query } from './query'; | ||
import type { NotifyEvent, QueryKey, QueryOptions, RegisteredError, WithRequired } from './types'; | ||
import type { NotifyEvent, QueryKey, QueryOptions, DefaultError, WithRequired } from './types'; | ||
import type { QueryClient } from './queryClient'; | ||
@@ -11,2 +11,3 @@ import { Subscribable } from './subscribable'; | ||
onSuccess?: (data: unknown, query: Query<unknown, unknown, unknown>) => void; | ||
onSettled?: (data: unknown | undefined, error: unknown | null, query: Query<unknown, unknown, unknown>) => void; | ||
createStore?: () => QueryStore; | ||
@@ -63,5 +64,5 @@ } | ||
clear(): void; | ||
get<TQueryFnData = unknown, TError = RegisteredError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryHash: string): Query<TQueryFnData, TError, TData, TQueryKey> | undefined; | ||
get<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryHash: string): Query<TQueryFnData, TError, TData, TQueryKey> | undefined; | ||
getAll(): Query[]; | ||
find<TQueryFnData = unknown, TError = RegisteredError, TData = TQueryFnData>(filters: WithRequired<QueryFilters, 'queryKey'>): Query<TQueryFnData, TError, TData> | undefined; | ||
find<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData>(filters: WithRequired<QueryFilters, 'queryKey'>): Query<TQueryFnData, TError, TData> | undefined; | ||
findAll(filters?: QueryFilters): Query[]; | ||
@@ -68,0 +69,0 @@ notify(event: QueryCacheNotifyEvent): void; |
import type { QueryFilters, Updater, MutationFilters } from './utils'; | ||
import type { QueryClientConfig, DefaultOptions, FetchInfiniteQueryOptions, FetchQueryOptions, InfiniteData, InvalidateOptions, InvalidateQueryFilters, MutationKey, MutationObserverOptions, MutationOptions, QueryKey, QueryObserverOptions, RefetchOptions, RefetchQueryFilters, ResetOptions, SetDataOptions, RegisteredError } from './types'; | ||
import type { QueryClientConfig, DefaultOptions, FetchInfiniteQueryOptions, FetchQueryOptions, InfiniteData, InvalidateOptions, InvalidateQueryFilters, MutationKey, MutationObserverOptions, MutationOptions, QueryKey, QueryObserverOptions, RefetchOptions, RefetchQueryFilters, ResetOptions, SetDataOptions, DefaultError } from './types'; | ||
import type { QueryState } from './query'; | ||
@@ -19,3 +19,3 @@ import { QueryCache } from './queryCache'; | ||
setQueriesData<TQueryFnData>(filters: QueryFilters, updater: Updater<TQueryFnData | undefined, TQueryFnData | undefined>, options?: SetDataOptions): [QueryKey, TQueryFnData | undefined][]; | ||
getQueryState<TQueryFnData = unknown, TError = RegisteredError>(queryKey: QueryKey): QueryState<TQueryFnData, TError> | undefined; | ||
getQueryState<TQueryFnData = unknown, TError = DefaultError>(queryKey: QueryKey): QueryState<TQueryFnData, TError> | undefined; | ||
removeQueries(filters?: QueryFilters): void; | ||
@@ -26,6 +26,6 @@ resetQueries(filters?: QueryFilters, options?: ResetOptions): Promise<void>; | ||
refetchQueries(filters?: RefetchQueryFilters, options?: RefetchOptions): Promise<void>; | ||
fetchQuery<TQueryFnData, TError = RegisteredError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = never>(options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>): Promise<TData>; | ||
prefetchQuery<TQueryFnData = unknown, TError = RegisteredError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>): Promise<void>; | ||
fetchInfiniteQuery<TQueryFnData, TError = RegisteredError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>): Promise<InfiniteData<TData>>; | ||
prefetchInfiniteQuery<TQueryFnData, TError = RegisteredError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>): Promise<void>; | ||
fetchQuery<TQueryFnData, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = never>(options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>): Promise<TData>; | ||
prefetchQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>): Promise<void>; | ||
fetchInfiniteQuery<TQueryFnData, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>): Promise<InfiniteData<TData>>; | ||
prefetchInfiniteQuery<TQueryFnData, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>): Promise<void>; | ||
resumePausedMutations(): Promise<unknown>; | ||
@@ -40,5 +40,5 @@ getQueryCache(): QueryCache; | ||
getMutationDefaults(mutationKey: MutationKey): MutationObserverOptions<any, any, any, any>; | ||
defaultQueryOptions<TQueryFnData = unknown, TError = RegisteredError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = never>(options?: QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam> | DefaultedQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>): DefaultedQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>; | ||
defaultQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = never>(options?: QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam> | DefaultedQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>): DefaultedQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>; | ||
defaultMutationOptions<T extends MutationOptions<any, any, any, any>>(options?: T): T; | ||
clear(): void; | ||
} |
@@ -1,2 +0,2 @@ | ||
import type { DefaultedQueryObserverOptions, RegisteredError } from './types'; | ||
import type { DefaultedQueryObserverOptions, DefaultError } from './types'; | ||
import type { QueryKey, QueryObserverOptions, QueryObserverResult, RefetchOptions } from './types'; | ||
@@ -15,3 +15,3 @@ import type { Query, Action, FetchOptions } from './query'; | ||
} | ||
export declare class QueryObserver<TQueryFnData = unknown, TError = RegisteredError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends Subscribable<QueryObserverListener<TData, TError>> { | ||
export declare class QueryObserver<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends Subscribable<QueryObserverListener<TData, TError>> { | ||
#private; | ||
@@ -18,0 +18,0 @@ options: QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>; |
@@ -1,3 +0,3 @@ | ||
import type { CancelOptions, NetworkMode, RegisteredError } from './types'; | ||
interface RetryerConfig<TData = unknown, TError = RegisteredError> { | ||
import type { CancelOptions, NetworkMode, DefaultError } from './types'; | ||
interface RetryerConfig<TData = unknown, TError = DefaultError> { | ||
fn: () => TData | Promise<TData>; | ||
@@ -22,5 +22,5 @@ abort?: () => void; | ||
export declare type RetryValue<TError> = boolean | number | ShouldRetryFunction<TError>; | ||
declare type ShouldRetryFunction<TError = RegisteredError> = (failureCount: number, error: TError) => boolean; | ||
declare type ShouldRetryFunction<TError = DefaultError> = (failureCount: number, error: TError) => boolean; | ||
export declare type RetryDelayValue<TError> = number | RetryDelayFunction<TError>; | ||
declare type RetryDelayFunction<TError = RegisteredError> = (failureCount: number, error: TError) => number; | ||
declare type RetryDelayFunction<TError = DefaultError> = (failureCount: number, error: TError) => number; | ||
export declare function canFetch(networkMode: NetworkMode | undefined): boolean; | ||
@@ -33,3 +33,3 @@ export declare class CancelledError { | ||
export declare function isCancelledError(value: any): value is CancelledError; | ||
export declare function createRetryer<TData = unknown, TError = RegisteredError>(config: RetryerConfig<TData, TError>): Retryer<TData>; | ||
export declare function createRetryer<TData = unknown, TError = DefaultError>(config: RetryerConfig<TData, TError>): Retryer<TData>; | ||
export {}; |
@@ -9,3 +9,3 @@ import type { MutationState } from './mutation'; | ||
} | ||
export declare type RegisteredError = Register extends { | ||
export declare type DefaultError = Register extends { | ||
defaultError: infer TError; | ||
@@ -36,7 +36,7 @@ } ? TError : Error; | ||
} | ||
export interface QueryMeta { | ||
[index: string]: unknown; | ||
} | ||
export declare type QueryMeta = Register extends { | ||
queryMeta: infer TQueryMeta; | ||
} ? TQueryMeta extends Record<string, unknown> ? TQueryMeta : Record<string, unknown> : Record<string, unknown>; | ||
export declare type NetworkMode = 'online' | 'always' | 'offlineFirst'; | ||
export interface QueryOptions<TQueryFnData = unknown, TError = RegisteredError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = never> { | ||
export interface QueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = never> { | ||
/** | ||
@@ -92,3 +92,3 @@ * If `false`, failed queries will not retry by default. | ||
export declare type ThrowErrors<TQueryFnData, TError, TQueryData, TQueryKey extends QueryKey> = boolean | ((error: TError, query: Query<TQueryFnData, TError, TQueryData, TQueryKey>) => boolean); | ||
export interface QueryObserverOptions<TQueryFnData = unknown, TError = RegisteredError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = never> extends QueryOptions<TQueryFnData, TError, TQueryData, TQueryKey, TPageParam> { | ||
export interface QueryObserverOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = never> extends QueryOptions<TQueryFnData, TError, TQueryData, TQueryKey, TPageParam> { | ||
/** | ||
@@ -189,7 +189,7 @@ * Set this to `false` to disable automatic refetching when the query mounts or changes query keys. | ||
export declare type WithRequired<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>; | ||
export declare type DefaultedQueryObserverOptions<TQueryFnData = unknown, TError = RegisteredError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = WithRequired<QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>, 'throwErrors' | 'refetchOnReconnect'>; | ||
export interface InfiniteQueryObserverOptions<TQueryFnData = unknown, TError = RegisteredError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> extends QueryObserverOptions<TQueryFnData, TError, TData, InfiniteData<TQueryData>, TQueryKey, TPageParam>, InfiniteQueryPageParamsOptions<TQueryFnData, TPageParam> { | ||
export declare type DefaultedQueryObserverOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = WithRequired<QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>, 'throwErrors' | 'refetchOnReconnect'>; | ||
export interface InfiniteQueryObserverOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> extends QueryObserverOptions<TQueryFnData, TError, TData, InfiniteData<TQueryData>, TQueryKey, TPageParam>, InfiniteQueryPageParamsOptions<TQueryFnData, TPageParam> { | ||
} | ||
export declare type DefaultedInfiniteQueryObserverOptions<TQueryFnData = unknown, TError = RegisteredError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = WithRequired<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>, 'throwErrors' | 'refetchOnReconnect'>; | ||
export interface FetchQueryOptions<TQueryFnData = unknown, TError = RegisteredError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = never> extends WithRequired<QueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>, 'queryKey'> { | ||
export declare type DefaultedInfiniteQueryObserverOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = WithRequired<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>, 'throwErrors' | 'refetchOnReconnect'>; | ||
export interface FetchQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = never> extends WithRequired<QueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>, 'queryKey'> { | ||
/** | ||
@@ -201,3 +201,3 @@ * The time in milliseconds after data is considered stale. | ||
} | ||
export interface FetchInfiniteQueryOptions<TQueryFnData = unknown, TError = RegisteredError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> extends FetchQueryOptions<TQueryFnData, TError, InfiniteData<TData>, TQueryKey, TPageParam>, DefaultPageParam<TPageParam> { | ||
export interface FetchInfiniteQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> extends FetchQueryOptions<TQueryFnData, TError, InfiniteData<TData>, TQueryKey, TPageParam>, DefaultPageParam<TPageParam> { | ||
} | ||
@@ -227,3 +227,3 @@ export interface ResultOptions { | ||
export declare type FetchStatus = 'fetching' | 'paused' | 'idle'; | ||
export interface QueryObserverBaseResult<TData = unknown, TError = RegisteredError> { | ||
export interface QueryObserverBaseResult<TData = unknown, TError = DefaultError> { | ||
data: TData | undefined; | ||
@@ -258,3 +258,3 @@ dataUpdatedAt: number; | ||
} | ||
export interface QueryObserverLoadingResult<TData = unknown, TError = RegisteredError> extends QueryObserverBaseResult<TData, TError> { | ||
export interface QueryObserverLoadingResult<TData = unknown, TError = DefaultError> extends QueryObserverBaseResult<TData, TError> { | ||
data: undefined; | ||
@@ -269,3 +269,3 @@ error: null; | ||
} | ||
export interface QueryObserverLoadingErrorResult<TData = unknown, TError = RegisteredError> extends QueryObserverBaseResult<TData, TError> { | ||
export interface QueryObserverLoadingErrorResult<TData = unknown, TError = DefaultError> extends QueryObserverBaseResult<TData, TError> { | ||
data: undefined; | ||
@@ -280,3 +280,3 @@ error: TError; | ||
} | ||
export interface QueryObserverRefetchErrorResult<TData = unknown, TError = RegisteredError> extends QueryObserverBaseResult<TData, TError> { | ||
export interface QueryObserverRefetchErrorResult<TData = unknown, TError = DefaultError> extends QueryObserverBaseResult<TData, TError> { | ||
data: TData; | ||
@@ -291,3 +291,3 @@ error: TError; | ||
} | ||
export interface QueryObserverSuccessResult<TData = unknown, TError = RegisteredError> extends QueryObserverBaseResult<TData, TError> { | ||
export interface QueryObserverSuccessResult<TData = unknown, TError = DefaultError> extends QueryObserverBaseResult<TData, TError> { | ||
data: TData; | ||
@@ -302,5 +302,5 @@ error: null; | ||
} | ||
export declare type DefinedQueryObserverResult<TData = unknown, TError = RegisteredError> = QueryObserverRefetchErrorResult<TData, TError> | QueryObserverSuccessResult<TData, TError>; | ||
export declare type QueryObserverResult<TData = unknown, TError = RegisteredError> = DefinedQueryObserverResult<TData, TError> | QueryObserverLoadingErrorResult<TData, TError> | QueryObserverLoadingResult<TData, TError>; | ||
export interface InfiniteQueryObserverBaseResult<TData = unknown, TError = RegisteredError> extends QueryObserverBaseResult<TData, TError> { | ||
export declare type DefinedQueryObserverResult<TData = unknown, TError = DefaultError> = QueryObserverRefetchErrorResult<TData, TError> | QueryObserverSuccessResult<TData, TError>; | ||
export declare type QueryObserverResult<TData = unknown, TError = DefaultError> = DefinedQueryObserverResult<TData, TError> | QueryObserverLoadingErrorResult<TData, TError> | QueryObserverLoadingResult<TData, TError>; | ||
export interface InfiniteQueryObserverBaseResult<TData = unknown, TError = DefaultError> extends QueryObserverBaseResult<TData, TError> { | ||
fetchNextPage: (options?: FetchNextPageOptions) => Promise<InfiniteQueryObserverResult<TData, TError>>; | ||
@@ -313,3 +313,3 @@ fetchPreviousPage: (options?: FetchPreviousPageOptions) => Promise<InfiniteQueryObserverResult<TData, TError>>; | ||
} | ||
export interface InfiniteQueryObserverLoadingResult<TData = unknown, TError = RegisteredError> extends InfiniteQueryObserverBaseResult<TData, TError> { | ||
export interface InfiniteQueryObserverLoadingResult<TData = unknown, TError = DefaultError> extends InfiniteQueryObserverBaseResult<TData, TError> { | ||
data: undefined; | ||
@@ -324,3 +324,3 @@ error: null; | ||
} | ||
export interface InfiniteQueryObserverLoadingErrorResult<TData = unknown, TError = RegisteredError> extends InfiniteQueryObserverBaseResult<TData, TError> { | ||
export interface InfiniteQueryObserverLoadingErrorResult<TData = unknown, TError = DefaultError> extends InfiniteQueryObserverBaseResult<TData, TError> { | ||
data: undefined; | ||
@@ -335,3 +335,3 @@ error: TError; | ||
} | ||
export interface InfiniteQueryObserverRefetchErrorResult<TData = unknown, TError = RegisteredError> extends InfiniteQueryObserverBaseResult<TData, TError> { | ||
export interface InfiniteQueryObserverRefetchErrorResult<TData = unknown, TError = DefaultError> extends InfiniteQueryObserverBaseResult<TData, TError> { | ||
data: TData; | ||
@@ -346,3 +346,3 @@ error: TError; | ||
} | ||
export interface InfiniteQueryObserverSuccessResult<TData = unknown, TError = RegisteredError> extends InfiniteQueryObserverBaseResult<TData, TError> { | ||
export interface InfiniteQueryObserverSuccessResult<TData = unknown, TError = DefaultError> extends InfiniteQueryObserverBaseResult<TData, TError> { | ||
data: TData; | ||
@@ -357,10 +357,10 @@ error: null; | ||
} | ||
export declare type InfiniteQueryObserverResult<TData = unknown, TError = RegisteredError> = InfiniteQueryObserverLoadingErrorResult<TData, TError> | InfiniteQueryObserverLoadingResult<TData, TError> | InfiniteQueryObserverRefetchErrorResult<TData, TError> | InfiniteQueryObserverSuccessResult<TData, TError>; | ||
export declare type InfiniteQueryObserverResult<TData = unknown, TError = DefaultError> = InfiniteQueryObserverLoadingErrorResult<TData, TError> | InfiniteQueryObserverLoadingResult<TData, TError> | InfiniteQueryObserverRefetchErrorResult<TData, TError> | InfiniteQueryObserverSuccessResult<TData, TError>; | ||
export declare type MutationKey = readonly unknown[]; | ||
export declare type MutationStatus = 'idle' | 'pending' | 'success' | 'error'; | ||
export interface MutationMeta { | ||
[index: string]: unknown; | ||
} | ||
export declare type MutationMeta = Register extends { | ||
mutationMeta: infer TMutationMeta; | ||
} ? TMutationMeta : Record<string, unknown>; | ||
export declare type MutationFunction<TData = unknown, TVariables = unknown> = (variables: TVariables) => Promise<TData>; | ||
export interface MutationOptions<TData = unknown, TError = RegisteredError, TVariables = void, TContext = unknown> { | ||
export interface MutationOptions<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> { | ||
mutationFn?: MutationFunction<TData, TVariables>; | ||
@@ -379,6 +379,6 @@ mutationKey?: MutationKey; | ||
} | ||
export interface MutationObserverOptions<TData = unknown, TError = RegisteredError, TVariables = void, TContext = unknown> extends MutationOptions<TData, TError, TVariables, TContext> { | ||
export interface MutationObserverOptions<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> extends MutationOptions<TData, TError, TVariables, TContext> { | ||
throwErrors?: boolean | ((error: TError) => boolean); | ||
} | ||
export interface MutateOptions<TData = unknown, TError = RegisteredError, TVariables = void, TContext = unknown> { | ||
export interface MutateOptions<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> { | ||
onSuccess?: (data: TData, variables: TVariables, context: TContext) => void; | ||
@@ -388,4 +388,4 @@ onError?: (error: TError, variables: TVariables, context: TContext | undefined) => void; | ||
} | ||
export declare type MutateFunction<TData = unknown, TError = RegisteredError, TVariables = void, TContext = unknown> = (variables: TVariables, options?: MutateOptions<TData, TError, TVariables, TContext>) => Promise<TData>; | ||
export interface MutationObserverBaseResult<TData = unknown, TError = RegisteredError, TVariables = void, TContext = unknown> extends MutationState<TData, TError, TVariables, TContext> { | ||
export declare type MutateFunction<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> = (variables: TVariables, options?: MutateOptions<TData, TError, TVariables, TContext>) => Promise<TData>; | ||
export interface MutationObserverBaseResult<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> extends MutationState<TData, TError, TVariables, TContext> { | ||
isError: boolean; | ||
@@ -398,3 +398,3 @@ isIdle: boolean; | ||
} | ||
export interface MutationObserverIdleResult<TData = unknown, TError = RegisteredError, TVariables = void, TContext = unknown> extends MutationObserverBaseResult<TData, TError, TVariables, TContext> { | ||
export interface MutationObserverIdleResult<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> extends MutationObserverBaseResult<TData, TError, TVariables, TContext> { | ||
data: undefined; | ||
@@ -409,3 +409,3 @@ variables: undefined; | ||
} | ||
export interface MutationObserverLoadingResult<TData = unknown, TError = RegisteredError, TVariables = void, TContext = unknown> extends MutationObserverBaseResult<TData, TError, TVariables, TContext> { | ||
export interface MutationObserverLoadingResult<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> extends MutationObserverBaseResult<TData, TError, TVariables, TContext> { | ||
data: undefined; | ||
@@ -420,3 +420,3 @@ variables: TVariables; | ||
} | ||
export interface MutationObserverErrorResult<TData = unknown, TError = RegisteredError, TVariables = void, TContext = unknown> extends MutationObserverBaseResult<TData, TError, TVariables, TContext> { | ||
export interface MutationObserverErrorResult<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> extends MutationObserverBaseResult<TData, TError, TVariables, TContext> { | ||
data: undefined; | ||
@@ -431,3 +431,3 @@ error: TError; | ||
} | ||
export interface MutationObserverSuccessResult<TData = unknown, TError = RegisteredError, TVariables = void, TContext = unknown> extends MutationObserverBaseResult<TData, TError, TVariables, TContext> { | ||
export interface MutationObserverSuccessResult<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> extends MutationObserverBaseResult<TData, TError, TVariables, TContext> { | ||
data: TData; | ||
@@ -442,3 +442,3 @@ error: null; | ||
} | ||
export declare type MutationObserverResult<TData = unknown, TError = RegisteredError, TVariables = void, TContext = unknown> = MutationObserverIdleResult<TData, TError, TVariables, TContext> | MutationObserverLoadingResult<TData, TError, TVariables, TContext> | MutationObserverErrorResult<TData, TError, TVariables, TContext> | MutationObserverSuccessResult<TData, TError, TVariables, TContext>; | ||
export declare type MutationObserverResult<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> = MutationObserverIdleResult<TData, TError, TVariables, TContext> | MutationObserverLoadingResult<TData, TError, TVariables, TContext> | MutationObserverErrorResult<TData, TError, TVariables, TContext> | MutationObserverSuccessResult<TData, TError, TVariables, TContext>; | ||
export interface QueryClientConfig { | ||
@@ -449,3 +449,3 @@ queryCache?: QueryCache; | ||
} | ||
export interface DefaultOptions<TError = RegisteredError> { | ||
export interface DefaultOptions<TError = DefaultError> { | ||
queries?: QueryObserverOptions<unknown, TError>; | ||
@@ -452,0 +452,0 @@ mutations?: MutationObserverOptions<unknown, TError, unknown, unknown>; |
@@ -1,2 +0,2 @@ | ||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).QueryCore={})}(this,(function(t){"use strict";class e{constructor(){this.listeners=[],this.subscribe=this.subscribe.bind(this)}subscribe(t){return this.listeners.push(t),this.onSubscribe(),()=>{this.listeners=this.listeners.filter((e=>e!==t)),this.onUnsubscribe()}}hasListeners(){return this.listeners.length>0}onSubscribe(){}onUnsubscribe(){}}const s="undefined"==typeof window||"Deno"in window;function i(){}function r(t){return"number"==typeof t&&t>=0&&t!==1/0}function n(t,e){return Math.max(t+(e||0)-Date.now(),0)}function o(t,e){const{type:s="all",exact:i,fetchStatus:r,predicate:n,queryKey:o,stale:a}=t;if(o)if(i){if(e.queryHash!==u(o,e.options))return!1}else if(!c(e.queryKey,o))return!1;if("all"!==s){const t=e.isActive();if("active"===s&&!t)return!1;if("inactive"===s&&t)return!1}return("boolean"!=typeof a||e.isStale()===a)&&((void 0===r||r===e.state.fetchStatus)&&!(n&&!n(e)))}function a(t,e){const{exact:s,status:i,predicate:r,mutationKey:n}=t;if(n){if(!e.options.mutationKey)return!1;if(s){if(h(e.options.mutationKey)!==h(n))return!1}else if(!c(e.options.mutationKey,n))return!1}return(!i||e.state.status===i)&&!(r&&!r(e))}function u(t,e){return(e?.queryKeyHashFn||h)(t)}function h(t){return JSON.stringify(t,((t,e)=>p(e)?Object.keys(e).sort().reduce(((t,s)=>(t[s]=e[s],t)),{}):e))}function c(t,e){return t===e||typeof t==typeof e&&(!(!t||!e||"object"!=typeof t||"object"!=typeof e)&&!Object.keys(e).some((s=>!c(t[s],e[s]))))}function l(t,e){if(t===e)return t;const s=f(t)&&f(e);if(s||p(t)&&p(e)){const i=s?t.length:Object.keys(t).length,r=s?e:Object.keys(e),n=r.length,o=s?[]:{};let a=0;for(let i=0;i<n;i++){const n=s?i:r[i];o[n]=l(t[n],e[n]),o[n]===t[n]&&a++}return i===n&&a===i?t:o}return e}function d(t,e){if(t&&!e||e&&!t)return!1;for(const s in t)if(t[s]!==e[s])return!1;return!0}function f(t){return Array.isArray(t)&&t.length===Object.keys(t).length}function p(t){if(!y(t))return!1;const e=t.constructor;if(void 0===e)return!0;const s=e.prototype;return!!y(s)&&!!s.hasOwnProperty("isPrototypeOf")}function y(t){return"[object Object]"===Object.prototype.toString.call(t)}function m(t){return new Promise((e=>{setTimeout(e,t)}))}function v(t){m(0).then(t)}function b(t,e,s){return"function"==typeof s.structuralSharing?s.structuralSharing(t,e):!1!==s.structuralSharing?l(t,e):e}function g(t,e,s=0){const i=[...t,e];return s&&i.length>s?i.slice(1):i}function O(t,e,s=0){const i=[e,...t];return s&&i.length>s?i.slice(0,-1):i}const R=new class extends e{#t;#e;#s;constructor(){super(),this.#s=t=>{if(!s&&window.addEventListener){const e=()=>t();return window.addEventListener("visibilitychange",e,!1),()=>{window.removeEventListener("visibilitychange",e)}}}}onSubscribe(){this.#e||this.setEventListener(this.#s)}onUnsubscribe(){this.hasListeners()||(this.#e?.(),this.#e=void 0)}setEventListener(t){this.#s=t,this.#e?.(),this.#e=t((t=>{"boolean"==typeof t?this.setFocused(t):this.onFocus()}))}setFocused(t){this.#t=t,t&&this.onFocus()}onFocus(){this.listeners.forEach((t=>{t()}))}isFocused(){return"boolean"==typeof this.#t?this.#t:"hidden"!==globalThis.document?.visibilityState}};const C=new class extends e{#i;#e;#s;constructor(){super(),this.#s=t=>{if(!s&&window.addEventListener){const e=()=>t();return window.addEventListener("online",e,!1),window.addEventListener("offline",e,!1),()=>{window.removeEventListener("online",e),window.removeEventListener("offline",e)}}}}onSubscribe(){this.#e||this.setEventListener(this.#s)}onUnsubscribe(){this.hasListeners()||(this.#e?.(),this.#e=void 0)}setEventListener(t){this.#s=t,this.#e?.(),this.#e=t((t=>{"boolean"==typeof t?this.setOnline(t):this.onOnline()}))}setOnline(t){this.#i=t,t&&this.onOnline()}onOnline(){this.listeners.forEach((t=>{t()}))}isOnline(){return"boolean"==typeof this.#i?this.#i:"undefined"==typeof navigator||void 0===navigator.onLine||navigator.onLine}};function q(t){return Math.min(1e3*2**t,3e4)}function Q(t){return"online"!==(t??"online")||C.isOnline()}class S{constructor(t){this.revert=t?.revert,this.silent=t?.silent}}function w(t){return t instanceof S}function P(t){let e,s,i,r=!1,n=0,o=!1;const a=new Promise(((t,e)=>{s=t,i=e})),u=()=>!R.isFocused()||"always"!==t.networkMode&&!C.isOnline(),h=i=>{o||(o=!0,t.onSuccess?.(i),e?.(),s(i))},c=s=>{o||(o=!0,t.onError?.(s),e?.(),i(s))},l=()=>new Promise((s=>{e=t=>{const e=o||!u();return e&&s(t),e},t.onPause?.()})).then((()=>{e=void 0,o||t.onContinue?.()})),d=()=>{if(o)return;let e;try{e=t.fn()}catch(t){e=Promise.reject(t)}Promise.resolve(e).then(h).catch((e=>{if(o)return;const s=t.retry??3,i=t.retryDelay??q,a="function"==typeof i?i(n,e):i,h=!0===s||"number"==typeof s&&n<s||"function"==typeof s&&s(n,e);!r&&h?(n++,t.onFail?.(n,e),m(a).then((()=>{if(u())return l()})).then((()=>{r?c(e):d()}))):c(e)}))};return Q(t.networkMode)?d():l().then(d),{promise:a,cancel:e=>{o||(c(new S(e)),t.abort?.())},continue:()=>{const t=e?.();return t?a:Promise.resolve()},cancelRetry:()=>{r=!0},continueRetry:()=>{r=!1}}}const M=function(){let t=[],e=0,s=t=>{t()},i=t=>{t()};const r=i=>{e?t.push(i):v((()=>{s(i)}))},n=()=>{const e=t;t=[],e.length&&v((()=>{i((()=>{e.forEach((t=>{s(t)}))}))}))};return{batch:t=>{let s;e++;try{s=t()}finally{e--,e||n()}return s},batchCalls:t=>(...e)=>{r((()=>{t(...e)}))},schedule:r,setNotifyFunction:t=>{s=t},setBatchNotifyFunction:t=>{i=t}}}();class E{#r;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),r(this.gcTime)&&(this.#r=setTimeout((()=>{this.optionalRemove()}),this.gcTime))}updateGcTime(t){this.gcTime=Math.max(this.gcTime||0,t??(s?1/0:3e5))}clearGcTimeout(){this.#r&&(clearTimeout(this.#r),this.#r=void 0)}}class F extends E{#n;#o;#a;#u;#h;#c;#l;#d;constructor(t){super(),this.#d=!1,this.#l=t.defaultOptions,this.#f(t.options),this.#c=[],this.#a=t.cache,this.queryKey=t.queryKey,this.queryHash=t.queryHash,this.#n=t.state||function(t){const e="function"==typeof t.initialData?t.initialData():t.initialData,s=void 0!==e,i=s?"function"==typeof t.initialDataUpdatedAt?t.initialDataUpdatedAt():t.initialDataUpdatedAt:0;return{data:e,dataUpdateCount:0,dataUpdatedAt:s?i??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:s?"success":"pending",fetchStatus:"idle"}}(this.options),this.state=this.#n,this.scheduleGc()}get meta(){return this.options.meta}#f(t){this.options={...this.#l,...t},this.updateGcTime(this.options.gcTime)}optionalRemove(){this.#c.length||"idle"!==this.state.fetchStatus||this.#a.remove(this)}setData(t,e){const s=b(this.state.data,t,this.options);return this.#p({data:s,type:"success",dataUpdatedAt:e?.updatedAt,manual:e?.manual}),s}setState(t,e){this.#p({type:"setState",state:t,setStateOptions:e})}cancel(t){const e=this.#u;return this.#h?.cancel(t),e?e.then(i).catch(i):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#n)}isActive(){return this.#c.some((t=>!1!==t.options.enabled))}isDisabled(){return this.getObserversCount()>0&&!this.isActive()}isStale(){return this.state.isInvalidated||!this.state.dataUpdatedAt||this.#c.some((t=>t.getCurrentResult().isStale))}isStaleByTime(t=0){return this.state.isInvalidated||!this.state.dataUpdatedAt||!n(this.state.dataUpdatedAt,t)}onFocus(){this.#c.find((t=>t.shouldFetchOnWindowFocus()))?.refetch({cancelRefetch:!1}),this.#h?.continue()}onOnline(){this.#c.find((t=>t.shouldFetchOnReconnect()))?.refetch({cancelRefetch:!1}),this.#h?.continue()}addObserver(t){-1===this.#c.indexOf(t)&&(this.#c.push(t),this.clearGcTimeout(),this.#a.notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){-1!==this.#c.indexOf(t)&&(this.#c=this.#c.filter((e=>e!==t)),this.#c.length||(this.#h&&(this.#d?this.#h.cancel({revert:!0}):this.#h.cancelRetry()),this.scheduleGc()),this.#a.notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.#c.length}invalidate(){this.state.isInvalidated||this.#p({type:"invalidate"})}fetch(t,e){if("idle"!==this.state.fetchStatus)if(this.state.dataUpdatedAt&&e?.cancelRefetch)this.cancel({silent:!0});else if(this.#u)return this.#h?.continueRetry(),this.#u;if(t&&this.#f(t),!this.options.queryFn){const t=this.#c.find((t=>t.options.queryFn));t&&this.#f(t.options)}const s=new AbortController,i={queryKey:this.queryKey,meta:this.meta},r=t=>{Object.defineProperty(t,"signal",{enumerable:!0,get:()=>(this.#d=!0,s.signal)})};r(i);const n={fetchOptions:e,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:()=>this.options.queryFn?(this.#d=!1,this.options.queryFn(i)):Promise.reject(new Error("Missing queryFn"))};r(n),this.options.behavior?.onFetch(n),this.#o=this.state,"idle"!==this.state.fetchStatus&&this.state.fetchMeta===n.fetchOptions?.meta||this.#p({type:"fetch",meta:n.fetchOptions?.meta});const o=t=>{w(t)&&t.silent||this.#p({type:"error",error:t}),w(t)||this.#a.config.onError?.(t,this),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1};return this.#h=P({fn:n.fetchFn,abort:s.abort.bind(s),onSuccess:t=>{void 0!==t?(this.setData(t),this.#a.config.onSuccess?.(t,this),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1):o(new Error("undefined"))},onError:o,onFail:(t,e)=>{this.#p({type:"failed",failureCount:t,error:e})},onPause:()=>{this.#p({type:"pause"})},onContinue:()=>{this.#p({type:"continue"})},retry:n.options.retry,retryDelay:n.options.retryDelay,networkMode:n.options.networkMode}),this.#u=this.#h.promise,this.#u}#p(t){this.state=(e=>{switch(t.type){case"failed":return{...e,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...e,fetchStatus:"paused"};case"continue":return{...e,fetchStatus:"fetching"};case"fetch":return{...e,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:t.meta??null,fetchStatus:Q(this.options.networkMode)?"fetching":"paused",...!e.dataUpdatedAt&&{error:null,status:"pending"}};case"success":return{...e,data:t.data,dataUpdateCount:e.dataUpdateCount+1,dataUpdatedAt:t.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const s=t.error;return w(s)&&s.revert&&this.#o?{...this.#o}:{...e,error:s,errorUpdateCount:e.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:e.fetchFailureCount+1,fetchFailureReason:s,fetchStatus:"idle",status:"error"};case"invalidate":return{...e,isInvalidated:!0};case"setState":return{...e,...t.state}}})(this.state),M.batch((()=>{this.#c.forEach((e=>{e.onQueryUpdate(t)})),this.#a.notify({query:this,type:"updated",action:t})}))}}class x extends e{#y;constructor(t={}){super(),this.config=t,this.#y=t.createStore?.()??new Map}build(t,e,s){const i=e.queryKey,r=e.queryHash??u(i,e);let n=this.get(r);return n||(n=new F({cache:this,queryKey:i,queryHash:r,options:t.defaultQueryOptions(e),state:s,defaultOptions:t.getQueryDefaults(i)}),this.add(n)),n}add(t){this.#y.has(t.queryHash)||(this.#y.set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const e=this.#y.get(t.queryHash);e&&(t.destroy(),e===t&&this.#y.delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){M.batch((()=>{this.getAll().forEach((t=>{this.remove(t)}))}))}get(t){return this.#y.get(t)}getAll(){return[...this.#y.values()]}find(t){return void 0===t.exact&&(t.exact=!0),this.getAll().find((e=>o(t,e)))}findAll(t={}){const e=this.getAll();return Object.keys(t).length>0?e.filter((e=>o(t,e))):e}notify(t){M.batch((()=>{this.listeners.forEach((e=>{e(t)}))}))}onFocus(){M.batch((()=>{this.getAll().forEach((t=>{t.onFocus()}))}))}onOnline(){M.batch((()=>{this.getAll().forEach((t=>{t.onOnline()}))}))}}class D extends E{#c;#m;#h;constructor(t){super(),this.options=t.options,this.mutationId=t.mutationId,this.#m=t.mutationCache,this.#c=[],this.state=t.state||A(),this.updateGcTime(this.options.gcTime),this.scheduleGc()}get meta(){return this.options.meta}addObserver(t){-1===this.#c.indexOf(t)&&(this.#c.push(t),this.clearGcTimeout(),this.#m.notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){this.#c=this.#c.filter((e=>e!==t)),this.scheduleGc(),this.#m.notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){this.#c.length||("pending"===this.state.status?this.scheduleGc():this.#m.remove(this))}continue(){return this.#h?.continue()??this.execute(this.state.variables)}async execute(t){const e=()=>(this.#h=P({fn:()=>this.options.mutationFn?this.options.mutationFn(t):Promise.reject(new Error("No mutationFn found")),onFail:(t,e)=>{this.#p({type:"failed",failureCount:t,error:e})},onPause:()=>{this.#p({type:"pause"})},onContinue:()=>{this.#p({type:"continue"})},retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode}),this.#h.promise),s="pending"===this.state.status;try{if(!s){this.#p({type:"pending",variables:t}),await(this.#m.config.onMutate?.(t,this));const e=await(this.options.onMutate?.(t));e!==this.state.context&&this.#p({type:"pending",context:e,variables:t})}const i=await e();return await(this.#m.config.onSuccess?.(i,t,this.state.context,this)),await(this.options.onSuccess?.(i,t,this.state.context)),await(this.options.onSettled?.(i,null,t,this.state.context)),this.#p({type:"success",data:i}),i}catch(e){try{throw await(this.#m.config.onError?.(e,t,this.state.context,this)),await(this.options.onError?.(e,t,this.state.context)),await(this.options.onSettled?.(void 0,e,t,this.state.context)),e}finally{this.#p({type:"error",error:e})}}}#p(t){this.state=(e=>{switch(t.type){case"failed":return{...e,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...e,isPaused:!0};case"continue":return{...e,isPaused:!1};case"pending":return{...e,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:!Q(this.options.networkMode),status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...e,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...e,data:void 0,error:t.error,failureCount:e.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}})(this.state),M.batch((()=>{this.#c.forEach((e=>{e.onMutationUpdate(t)})),this.#m.notify({mutation:this,type:"updated",action:t})}))}}function A(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}class I extends e{#v;#b;#g;constructor(t={}){super(),this.config=t,this.#v=[],this.#b=0}build(t,e,s){const i=new D({mutationCache:this,mutationId:++this.#b,options:t.defaultMutationOptions(e),state:s});return this.add(i),i}add(t){this.#v.push(t),this.notify({type:"added",mutation:t})}remove(t){this.#v=this.#v.filter((e=>e!==t)),this.notify({type:"removed",mutation:t})}clear(){M.batch((()=>{this.#v.forEach((t=>{this.remove(t)}))}))}getAll(){return this.#v}find(t){return void 0===t.exact&&(t.exact=!0),this.#v.find((e=>a(t,e)))}findAll(t={}){return this.#v.filter((e=>a(t,e)))}notify(t){M.batch((()=>{this.listeners.forEach((e=>{e(t)}))}))}resumePausedMutations(){return this.#g=(this.#g??Promise.resolve()).then((()=>{const t=this.#v.filter((t=>t.state.isPaused));return M.batch((()=>t.reduce(((t,e)=>t.then((()=>e.continue().catch(i)))),Promise.resolve())))})).then((()=>{this.#g=void 0})),this.#g}}function U(){return{onFetch:t=>{t.fetchFn=()=>{const e=t.options,s=t.fetchOptions?.meta?.fetchMore?.direction,i=t.state.data?.pages||[],r=t.state.data?.pageParams||[];let n=r,o=!1;const a=t.options.queryFn||(()=>Promise.reject(new Error("Missing queryFn"))),u=(e,s,i)=>{if(o)return Promise.reject();if(void 0===s&&e.length)return Promise.resolve(e);const r={queryKey:t.queryKey,pageParam:s,meta:t.options.meta};var u;u=r,Object.defineProperty(u,"signal",{enumerable:!0,get:()=>(t.signal.aborted?o=!0:t.signal.addEventListener("abort",(()=>{o=!0})),t.signal)});const h=a(r),c=Promise.resolve(h).then((r=>((e,s,i,r)=>{const{maxPages:o}=t.options;return r?(n=O(n,s,o),O(e,i,o)):(n=g(n,s,o),g(e,i,o))})(e,s,r,i)));return c};let h;if(i.length)if(s){const t="backward"===s,r=t?K(e,i):T(e,i);h=u(i,r,t)}else{n=[],h=u([],r[0]);for(let t=1;t<i.length;t++)h=h.then((t=>{const s=T(e,t);return u(t,s)}))}else h=u([],e.defaultPageParam);return h.then((t=>({pages:t,pageParams:n})))}}}}function T(t,e){return t.getNextPageParam(e[e.length-1],e)}function K(t,e){return t.getPreviousPageParam?.(e[0],e)}function k(t,e){return!!e&&void 0!==T(t,e)}function L(t,e){return!(!e||!t.getPreviousPageParam)&&void 0!==K(t,e)}class j extends e{#O;#R=void 0;#C=void 0;#q=void 0;#Q;#S;#w;#P;#M;#E;#F;#x;#D;#A=new Set;constructor(t,e){super(),this.#O=t,this.options=e,this.#P=null,this.bindMethods(),this.setOptions(e)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){1===this.listeners.length&&(this.#R.addObserver(this),H(this.#R,this.options)&&this.#I(),this.#U())}onUnsubscribe(){this.listeners.length||this.destroy()}shouldFetchOnReconnect(){return G(this.#R,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return G(this.#R,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=[],this.#T(),this.#K(),this.#R.removeObserver(this)}setOptions(t,e){const s=this.options,i=this.#R;if(this.options=this.#O.defaultQueryOptions(t),d(s,this.options)||this.#O.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#R,observer:this}),void 0!==this.options.enabled&&"boolean"!=typeof this.options.enabled)throw new Error("Expected enabled to be a boolean");this.options.queryKey||(this.options.queryKey=s.queryKey),this.#k();const r=this.hasListeners();r&&N(this.#R,i,this.options,s)&&this.#I(),this.#L(e),!r||this.#R===i&&this.options.enabled===s.enabled&&this.options.staleTime===s.staleTime||this.#j();const n=this.#H();!r||this.#R===i&&this.options.enabled===s.enabled&&n===this.#D||this.#G(n)}getOptimisticResult(t){const e=this.#O.getQueryCache().build(this.#O,t);return this.createResult(e,t)}getCurrentResult(){return this.#q}trackResult(t){const e={};return Object.keys(t).forEach((s=>{Object.defineProperty(e,s,{configurable:!1,enumerable:!0,get:()=>(this.#A.add(s),t[s])})})),e}getCurrentQuery(){return this.#R}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const e=this.#O.defaultQueryOptions(t),s=this.#O.getQueryCache().build(this.#O,e);return s.isFetchingOptimistic=!0,s.fetch().then((()=>this.createResult(s,e)))}fetch(t){return this.#I({...t,cancelRefetch:t.cancelRefetch??!0}).then((()=>(this.#L(),this.#q)))}#I(t){this.#k();let e=this.#R.fetch(this.options,t);return t?.throwOnError||(e=e.catch(i)),e}#j(){if(this.#T(),s||this.#q.isStale||!r(this.options.staleTime))return;const t=n(this.#q.dataUpdatedAt,this.options.staleTime)+1;this.#F=setTimeout((()=>{this.#q.isStale||this.#L()}),t)}#H(){return"function"==typeof this.options.refetchInterval?this.options.refetchInterval(this.#q.data,this.#R):this.options.refetchInterval??!1}#G(t){this.#K(),this.#D=t,!s&&!1!==this.options.enabled&&r(this.#D)&&0!==this.#D&&(this.#x=setInterval((()=>{(this.options.refetchIntervalInBackground||R.isFocused())&&this.#I()}),this.#D))}#U(){this.#j(),this.#G(this.#H())}#T(){this.#F&&(clearTimeout(this.#F),this.#F=void 0)}#K(){this.#x&&(clearInterval(this.#x),this.#x=void 0)}createResult(t,e){const s=this.#R,i=this.options,r=this.#q,n=this.#Q,o=this.#S,a=t!==s,u=a?t.state:this.#C,h=a?this.#q:this.#w,{state:c}=t;let l,{error:d,errorUpdatedAt:f,fetchStatus:p,status:y}=c,m=!1;if(e._optimisticResults){const r=this.hasListeners(),n=!r&&H(t,e),o=r&&N(t,s,e,i);(n||o)&&(p=Q(t.options.networkMode)?"fetching":"paused",c.dataUpdatedAt||(y="pending")),"isRestoring"===e._optimisticResults&&(p="idle")}if(e.select&&void 0!==c.data)if(r&&c.data===n?.data&&e.select===this.#M)l=this.#E;else try{this.#M=e.select,l=e.select(c.data),l=b(r?.data,l,e),this.#E=l,this.#P=null}catch(t){this.#P=t}else l=c.data;if(void 0!==e.placeholderData&&void 0===l&&"pending"===y){let t;if(r?.isPlaceholderData&&e.placeholderData===o?.placeholderData)t=r.data;else if(t="function"==typeof e.placeholderData?e.placeholderData(h?.data):e.placeholderData,e.select&&void 0!==t)try{t=e.select(t),this.#P=null}catch(t){this.#P=t}void 0!==t&&(y="success",l=b(r?.data,t,e),m=!0)}this.#P&&(d=this.#P,l=this.#E,f=Date.now(),y="error");const v="fetching"===p,g="pending"===y,O="error"===y,R=g&&v;return{status:y,fetchStatus:p,isPending:g,isSuccess:"success"===y,isError:O,isInitialLoading:R,isLoading:R,data:l,dataUpdatedAt:c.dataUpdatedAt,error:d,errorUpdatedAt:f,failureCount:c.fetchFailureCount,failureReason:c.fetchFailureReason,errorUpdateCount:c.errorUpdateCount,isFetched:c.dataUpdateCount>0||c.errorUpdateCount>0,isFetchedAfterMount:c.dataUpdateCount>u.dataUpdateCount||c.errorUpdateCount>u.errorUpdateCount,isFetching:v,isRefetching:v&&!g,isLoadingError:O&&0===c.dataUpdatedAt,isPaused:"paused"===p,isPlaceholderData:m,isRefetchError:O&&0!==c.dataUpdatedAt,isStale:_(t,e),refetch:this.refetch}}#L(t){const e=this.#q,s=this.createResult(this.#R,this.options);if(this.#Q=this.#R.state,this.#S=this.options,d(s,e))return;this.#q=s;const i={};!1!==t?.listeners&&(()=>{if(!e)return!0;const{notifyOnChangeProps:t}=this.options;if("all"===t||!t&&!this.#A.size)return!0;const s=new Set(t??this.#A);return this.options.throwErrors&&s.add("error"),Object.keys(this.#q).some((t=>{const i=t;return this.#q[i]!==e[i]&&s.has(i)}))})()&&(i.listeners=!0),this.#N({...i,...t})}#k(){const t=this.#O.getQueryCache().build(this.#O,this.options);if(t===this.#R)return;const e=this.#R;this.#R=t,this.#C=t.state,this.#w=this.#q,this.hasListeners()&&(e?.removeObserver(this),t.addObserver(this))}onQueryUpdate(t){const e={};"success"===t.type?e.onSuccess=!t.manual:"error"!==t.type||w(t.error)||(e.onError=!0),this.#L(e),this.hasListeners()&&this.#U()}#N(t){M.batch((()=>{t.onSuccess?(this.options.onSuccess?.(this.#q.data),this.options.onSettled?.(this.#q.data,null)):t.onError&&(this.options.onError?.(this.#q.error),this.options.onSettled?.(void 0,this.#q.error)),t.listeners&&this.listeners.forEach((t=>{t(this.#q)})),this.#O.getQueryCache().notify({query:this.#R,type:"observerResultsUpdated"})}))}}function H(t,e){return function(t,e){return!(!1===e.enabled||t.state.dataUpdatedAt||"error"===t.state.status&&!1===e.retryOnMount)}(t,e)||t.state.dataUpdatedAt>0&&G(t,e,e.refetchOnMount)}function G(t,e,s){if(!1!==e.enabled){const i="function"==typeof s?s(t):s;return"always"===i||!1!==i&&_(t,e)}return!1}function N(t,e,s,i){return!1!==s.enabled&&(t!==e||!1===i.enabled)&&(!s.suspense||"error"!==t.state.status)&&_(t,s)}function _(t,e){return t.isStaleByTime(e.staleTime)}function B(t,e){return t.filter((t=>-1===e.indexOf(t)))}function W(t){return t.state.isPaused}function z(t){return"success"===t.state.status}t.CancelledError=S,t.InfiniteQueryObserver=class extends j{constructor(t,e){super(t,e)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(t,e){super.setOptions({...t,behavior:U()},e)}getOptimisticResult(t){return t.behavior=U(),super.getOptimisticResult(t)}fetchNextPage(t={}){return this.fetch({...t,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage({...t}={}){return this.fetch({...t,meta:{fetchMore:{direction:"backward"}}})}createResult(t,e){const{state:s}=t,i=super.createResult(t,e),{isFetching:r,isRefetching:n}=i,o=r&&"forward"===s.fetchMeta?.fetchMore?.direction,a=r&&"backward"===s.fetchMeta?.fetchMore?.direction;return{...i,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:k(e,s.data?.pages),hasPreviousPage:L(e,s.data?.pages),isFetchingNextPage:o,isFetchingPreviousPage:a,isRefetching:n&&!o&&!a}}},t.MutationCache=I,t.MutationObserver=class extends e{#O;#q=void 0;#_;#B;constructor(t,e){super(),this.#O=t,this.setOptions(e),this.bindMethods(),this.#L()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(t){const e=this.options;this.options=this.#O.defaultMutationOptions(t),d(e,this.options)||this.#O.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#_,observer:this})}onUnsubscribe(){this.listeners.length||this.#_?.removeObserver(this)}onMutationUpdate(t){this.#L(),this.#N(t)}getCurrentResult(){return this.#q}reset(){this.#_=void 0,this.#L(),this.#N()}mutate(t,e){return this.#B=e,this.#_?.removeObserver(this),this.#_=this.#O.getMutationCache().build(this.#O,this.options),this.#_.addObserver(this),this.#_.execute(t)}#L(){const t=this.#_?.state??{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0};this.#q={...t,isPending:"pending"===t.status,isSuccess:"success"===t.status,isError:"error"===t.status,isIdle:"idle"===t.status,mutate:this.mutate,reset:this.reset}}#N(t){M.batch((()=>{this.#B&&this.hasListeners()&&("success"===t?.type?(this.#B.onSuccess?.(t.data,this.#q.variables,this.#q.context),this.#B.onSettled?.(t.data,null,this.#q.variables,this.#q.context)):"error"===t?.type&&(this.#B.onError?.(t.error,this.#q.variables,this.#q.context),this.#B.onSettled?.(void 0,t.error,this.#q.variables,this.#q.context))),this.listeners.forEach((t=>{t(this.#q)}))}))}},t.QueriesObserver=class extends e{#O;#W;#y;#c;#z;constructor(t,e){super(),this.#O=t,this.#y=[],this.#W=[],this.#c=[],this.#z={},e&&this.setQueries(e)}onSubscribe(){1===this.listeners.length&&this.#c.forEach((t=>{t.subscribe((e=>{this.#J(t,e)}))}))}onUnsubscribe(){this.listeners.length||this.destroy()}destroy(){this.listeners=[],this.#c.forEach((t=>{t.destroy()}))}setQueries(t,e){this.#y=t,M.batch((()=>{const t=this.#c,s=this.#V(this.#y);s.forEach((t=>t.observer.setOptions(t.defaultedQueryOptions,e)));const i=s.map((t=>t.observer)),r=Object.fromEntries(i.map((t=>[t.options.queryHash,t]))),n=i.map((t=>t.getCurrentResult())),o=i.some(((e,s)=>e!==t[s]));(t.length!==i.length||o)&&(this.#c=i,this.#z=r,this.#W=n,this.hasListeners()&&(B(t,i).forEach((t=>{t.destroy()})),B(i,t).forEach((t=>{t.subscribe((e=>{this.#J(t,e)}))})),this.#N()))}))}getCurrentResult(){return this.#W}getQueries(){return this.#c.map((t=>t.getCurrentQuery()))}getObservers(){return this.#c}getOptimisticResult(t){return this.#V(t).map((t=>t.observer.getOptimisticResult(t.defaultedQueryOptions)))}#V(t){const e=this.#c,s=t.map((t=>this.#O.defaultQueryOptions(t))),i=s.flatMap((t=>{const s=e.find((e=>e.options.queryHash===t.queryHash));return null!=s?[{defaultedQueryOptions:t,observer:s}]:[]})),r=i.map((t=>t.defaultedQueryOptions.queryHash)),n=s.filter((t=>!r.includes(t.queryHash))),o=t=>{const e=this.#O.defaultQueryOptions(t);return this.#z[e.queryHash]??new j(this.#O,e)},a=n.map((t=>({defaultedQueryOptions:t,observer:o(t)})));return i.concat(a).sort(((t,e)=>s.indexOf(t.defaultedQueryOptions)-s.indexOf(e.defaultedQueryOptions)))}#J(t,e){const s=this.#c.indexOf(t);-1!==s&&(this.#W=function(t,e,s){const i=t.slice(0);return i[e]=s,i}(this.#W,s,e),this.#N())}#N(){M.batch((()=>{this.listeners.forEach((t=>{t(this.#W)}))}))}},t.QueryCache=x,t.QueryClient=class{#X;#m;#l;#Y;#Z;#$;#tt;#et;constructor(t={}){this.#X=t.queryCache||new x,this.#m=t.mutationCache||new I,this.#l=t.defaultOptions||{},this.#Y=new Map,this.#Z=new Map,this.#$=0}mount(){this.#$++,1===this.#$&&(this.#tt=R.subscribe((()=>{R.isFocused()&&(this.resumePausedMutations(),this.#X.onFocus())})),this.#et=C.subscribe((()=>{C.isOnline()&&(this.resumePausedMutations(),this.#X.onOnline())})))}unmount(){this.#$--,0===this.#$&&(this.#tt?.(),this.#tt=void 0,this.#et?.(),this.#et=void 0)}isFetching(t){return this.#X.findAll({...t,fetchStatus:"fetching"}).length}isMutating(t){return this.#m.findAll({...t,status:"pending"}).length}getQueryData(t){return this.#X.find({queryKey:t})?.state.data}ensureQueryData(t){const e=this.getQueryData(t.queryKey);return e?Promise.resolve(e):this.fetchQuery(t)}getQueriesData(t){return this.getQueryCache().findAll(t).map((({queryKey:t,state:e})=>[t,e.data]))}setQueryData(t,e,s){const i=this.#X.find({queryKey:t})?.state.data,r=function(t,e){return"function"==typeof t?t(e):t}(e,i);if(void 0===r)return;const n=this.defaultQueryOptions({queryKey:t});return this.#X.build(this,n).setData(r,{...s,manual:!0})}setQueriesData(t,e,s){return M.batch((()=>this.getQueryCache().findAll(t).map((({queryKey:t})=>[t,this.setQueryData(t,e,s)]))))}getQueryState(t){return this.#X.find({queryKey:t})?.state}removeQueries(t){const e=this.#X;M.batch((()=>{e.findAll(t).forEach((t=>{e.remove(t)}))}))}resetQueries(t,e){const s=this.#X,i={type:"active",...t};return M.batch((()=>(s.findAll(t).forEach((t=>{t.reset()})),this.refetchQueries(i,e))))}cancelQueries(t={},e={}){void 0===e.revert&&(e.revert=!0);const s=M.batch((()=>this.#X.findAll(t).map((t=>t.cancel(e)))));return Promise.all(s).then(i).catch(i)}invalidateQueries(t={},e={}){return M.batch((()=>{if(this.#X.findAll(t).forEach((t=>{t.invalidate()})),"none"===t.refetchType)return Promise.resolve();const s={...t,type:t.refetchType??t.type??"active"};return this.refetchQueries(s,e)}))}refetchQueries(t={},e){const s=M.batch((()=>this.#X.findAll(t).filter((t=>!t.isDisabled())).map((t=>t.fetch(void 0,{...e,cancelRefetch:e?.cancelRefetch??!0})))));let r=Promise.all(s).then(i);return e?.throwOnError||(r=r.catch(i)),r}fetchQuery(t){const e=this.defaultQueryOptions(t);void 0===e.retry&&(e.retry=!1);const s=this.#X.build(this,e);return s.isStaleByTime(e.staleTime)?s.fetch(e):Promise.resolve(s.state.data)}prefetchQuery(t){return this.fetchQuery(t).then(i).catch(i)}fetchInfiniteQuery(t){return t.behavior=U(),this.fetchQuery(t)}prefetchInfiniteQuery(t){return this.fetchInfiniteQuery(t).then(i).catch(i)}resumePausedMutations(){return this.#m.resumePausedMutations()}getQueryCache(){return this.#X}getMutationCache(){return this.#m}getDefaultOptions(){return this.#l}setDefaultOptions(t){this.#l=t}setQueryDefaults(t,e){this.#Y.set(h(t),{queryKey:t,defaultOptions:e})}getQueryDefaults(t){const e=[...this.#Y.values()];let s={};return e.forEach((e=>{c(t,e.queryKey)&&(s={...s,...e.defaultOptions})})),s}setMutationDefaults(t,e){this.#Z.set(h(t),{mutationKey:t,defaultOptions:e})}getMutationDefaults(t){const e=[...this.#Z.values()];let s={};return e.forEach((e=>{c(t,e.mutationKey)&&(s={...s,...e.defaultOptions})})),s}defaultQueryOptions(t){if(t?._defaulted)return t;const e={...this.#l.queries,...t?.queryKey&&this.getQueryDefaults(t.queryKey),...t,_defaulted:!0};return e.queryHash||(e.queryHash=u(e.queryKey,e)),void 0===e.refetchOnReconnect&&(e.refetchOnReconnect="always"!==e.networkMode),void 0===e.throwErrors&&(e.throwErrors=!!e.suspense),e}defaultMutationOptions(t){return t?._defaulted?t:{...this.#l.mutations,...t?.mutationKey&&this.getMutationDefaults(t.mutationKey),...t,_defaulted:!0}}clear(){this.#X.clear(),this.#m.clear()}},t.QueryObserver=j,t.defaultShouldDehydrateMutation=W,t.defaultShouldDehydrateQuery=z,t.dehydrate=function(t,e={}){const s=[],i=[];if(!1!==e.dehydrateMutations){const i=e.shouldDehydrateMutation||W;t.getMutationCache().getAll().forEach((t=>{i(t)&&s.push(function(t){return{mutationKey:t.options.mutationKey,state:t.state}}(t))}))}if(!1!==e.dehydrateQueries){const s=e.shouldDehydrateQuery||z;t.getQueryCache().getAll().forEach((t=>{s(t)&&i.push(function(t){return{state:t.state,queryKey:t.queryKey,queryHash:t.queryHash}}(t))}))}return{mutations:s,queries:i}},t.focusManager=R,t.hashKey=h,t.hydrate=function(t,e,s){if("object"!=typeof e||null===e)return;const i=t.getMutationCache(),r=t.getQueryCache(),n=e.mutations||[],o=e.queries||[];n.forEach((e=>{i.build(t,{...s?.defaultOptions?.mutations,mutationKey:e.mutationKey},e.state)})),o.forEach((e=>{const i=r.get(e.queryHash),n={...e.state,fetchStatus:"idle"};i?i.state.dataUpdatedAt<n.dataUpdatedAt&&i.setState(n):r.build(t,{...s?.defaultOptions?.queries,queryKey:e.queryKey,queryHash:e.queryHash},n)}))},t.isCancelledError=w,t.isServer=s,t.keepPreviousData=function(t){return t},t.notifyManager=M,t.onlineManager=C,t.replaceEqualDeep=l})); | ||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).QueryCore={})}(this,(function(t){"use strict";class e{constructor(){this.listeners=[],this.subscribe=this.subscribe.bind(this)}subscribe(t){return this.listeners.push(t),this.onSubscribe(),()=>{this.listeners=this.listeners.filter((e=>e!==t)),this.onUnsubscribe()}}hasListeners(){return this.listeners.length>0}onSubscribe(){}onUnsubscribe(){}}const s="undefined"==typeof window||"Deno"in window;function i(){}function r(t){return"number"==typeof t&&t>=0&&t!==1/0}function n(t,e){return Math.max(t+(e||0)-Date.now(),0)}function a(t,e){const{type:s="all",exact:i,fetchStatus:r,predicate:n,queryKey:a,stale:o}=t;if(a)if(i){if(e.queryHash!==u(a,e.options))return!1}else if(!c(e.queryKey,a))return!1;if("all"!==s){const t=e.isActive();if("active"===s&&!t)return!1;if("inactive"===s&&t)return!1}return("boolean"!=typeof o||e.isStale()===o)&&((void 0===r||r===e.state.fetchStatus)&&!(n&&!n(e)))}function o(t,e){const{exact:s,status:i,predicate:r,mutationKey:n}=t;if(n){if(!e.options.mutationKey)return!1;if(s){if(h(e.options.mutationKey)!==h(n))return!1}else if(!c(e.options.mutationKey,n))return!1}return(!i||e.state.status===i)&&!(r&&!r(e))}function u(t,e){return(e?.queryKeyHashFn||h)(t)}function h(t){return JSON.stringify(t,((t,e)=>p(e)?Object.keys(e).sort().reduce(((t,s)=>(t[s]=e[s],t)),{}):e))}function c(t,e){return t===e||typeof t==typeof e&&(!(!t||!e||"object"!=typeof t||"object"!=typeof e)&&!Object.keys(e).some((s=>!c(t[s],e[s]))))}function l(t,e){if(t===e)return t;const s=f(t)&&f(e);if(s||p(t)&&p(e)){const i=s?t.length:Object.keys(t).length,r=s?e:Object.keys(e),n=r.length,a=s?[]:{};let o=0;for(let i=0;i<n;i++){const n=s?i:r[i];a[n]=l(t[n],e[n]),a[n]===t[n]&&o++}return i===n&&o===i?t:a}return e}function d(t,e){if(t&&!e||e&&!t)return!1;for(const s in t)if(t[s]!==e[s])return!1;return!0}function f(t){return Array.isArray(t)&&t.length===Object.keys(t).length}function p(t){if(!y(t))return!1;const e=t.constructor;if(void 0===e)return!0;const s=e.prototype;return!!y(s)&&!!s.hasOwnProperty("isPrototypeOf")}function y(t){return"[object Object]"===Object.prototype.toString.call(t)}function m(t){return new Promise((e=>{setTimeout(e,t)}))}function v(t){m(0).then(t)}function b(t,e,s){return"function"==typeof s.structuralSharing?s.structuralSharing(t,e):!1!==s.structuralSharing?l(t,e):e}function g(t,e,s=0){const i=[...t,e];return s&&i.length>s?i.slice(1):i}function O(t,e,s=0){const i=[e,...t];return s&&i.length>s?i.slice(0,-1):i}const R=new class extends e{#t;#e;#s;constructor(){super(),this.#s=t=>{if(!s&&window.addEventListener){const e=()=>t();return window.addEventListener("visibilitychange",e,!1),()=>{window.removeEventListener("visibilitychange",e)}}}}onSubscribe(){this.#e||this.setEventListener(this.#s)}onUnsubscribe(){this.hasListeners()||(this.#e?.(),this.#e=void 0)}setEventListener(t){this.#s=t,this.#e?.(),this.#e=t((t=>{"boolean"==typeof t?this.setFocused(t):this.onFocus()}))}setFocused(t){this.#t=t,t&&this.onFocus()}onFocus(){this.listeners.forEach((t=>{t()}))}isFocused(){return"boolean"==typeof this.#t?this.#t:"hidden"!==globalThis.document?.visibilityState}};const C=new class extends e{#i;#e;#s;constructor(){super(),this.#s=t=>{if(!s&&window.addEventListener){const e=()=>t();return window.addEventListener("online",e,!1),window.addEventListener("offline",e,!1),()=>{window.removeEventListener("online",e),window.removeEventListener("offline",e)}}}}onSubscribe(){this.#e||this.setEventListener(this.#s)}onUnsubscribe(){this.hasListeners()||(this.#e?.(),this.#e=void 0)}setEventListener(t){this.#s=t,this.#e?.(),this.#e=t((t=>{"boolean"==typeof t?this.setOnline(t):this.onOnline()}))}setOnline(t){this.#i=t,t&&this.onOnline()}onOnline(){this.listeners.forEach((t=>{t()}))}isOnline(){return"boolean"==typeof this.#i?this.#i:"undefined"==typeof navigator||void 0===navigator.onLine||navigator.onLine}};function q(t){return Math.min(1e3*2**t,3e4)}function Q(t){return"online"!==(t??"online")||C.isOnline()}class S{constructor(t){this.revert=t?.revert,this.silent=t?.silent}}function w(t){return t instanceof S}function P(t){let e,s,i,r=!1,n=0,a=!1;const o=new Promise(((t,e)=>{s=t,i=e})),u=()=>!R.isFocused()||"always"!==t.networkMode&&!C.isOnline(),h=i=>{a||(a=!0,t.onSuccess?.(i),e?.(),s(i))},c=s=>{a||(a=!0,t.onError?.(s),e?.(),i(s))},l=()=>new Promise((s=>{e=t=>{const e=a||!u();return e&&s(t),e},t.onPause?.()})).then((()=>{e=void 0,a||t.onContinue?.()})),d=()=>{if(a)return;let e;try{e=t.fn()}catch(t){e=Promise.reject(t)}Promise.resolve(e).then(h).catch((e=>{if(a)return;const s=t.retry??3,i=t.retryDelay??q,o="function"==typeof i?i(n,e):i,h=!0===s||"number"==typeof s&&n<s||"function"==typeof s&&s(n,e);!r&&h?(n++,t.onFail?.(n,e),m(o).then((()=>{if(u())return l()})).then((()=>{r?c(e):d()}))):c(e)}))};return Q(t.networkMode)?d():l().then(d),{promise:o,cancel:e=>{a||(c(new S(e)),t.abort?.())},continue:()=>{const t=e?.();return t?o:Promise.resolve()},cancelRetry:()=>{r=!0},continueRetry:()=>{r=!1}}}const M=function(){let t=[],e=0,s=t=>{t()},i=t=>{t()};const r=i=>{e?t.push(i):v((()=>{s(i)}))},n=()=>{const e=t;t=[],e.length&&v((()=>{i((()=>{e.forEach((t=>{s(t)}))}))}))};return{batch:t=>{let s;e++;try{s=t()}finally{e--,e||n()}return s},batchCalls:t=>(...e)=>{r((()=>{t(...e)}))},schedule:r,setNotifyFunction:t=>{s=t},setBatchNotifyFunction:t=>{i=t}}}();class F{#r;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),r(this.gcTime)&&(this.#r=setTimeout((()=>{this.optionalRemove()}),this.gcTime))}updateGcTime(t){this.gcTime=Math.max(this.gcTime||0,t??(s?1/0:3e5))}clearGcTimeout(){this.#r&&(clearTimeout(this.#r),this.#r=void 0)}}class E extends F{#n;#a;#o;#u;#h;#c;#l;#d;constructor(t){super(),this.#d=!1,this.#l=t.defaultOptions,this.#f(t.options),this.#c=[],this.#o=t.cache,this.queryKey=t.queryKey,this.queryHash=t.queryHash,this.#n=t.state||function(t){const e="function"==typeof t.initialData?t.initialData():t.initialData,s=void 0!==e,i=s?"function"==typeof t.initialDataUpdatedAt?t.initialDataUpdatedAt():t.initialDataUpdatedAt:0;return{data:e,dataUpdateCount:0,dataUpdatedAt:s?i??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:s?"success":"pending",fetchStatus:"idle"}}(this.options),this.state=this.#n,this.scheduleGc()}get meta(){return this.options.meta}#f(t){this.options={...this.#l,...t},this.updateGcTime(this.options.gcTime)}optionalRemove(){this.#c.length||"idle"!==this.state.fetchStatus||this.#o.remove(this)}setData(t,e){const s=b(this.state.data,t,this.options);return this.#p({data:s,type:"success",dataUpdatedAt:e?.updatedAt,manual:e?.manual}),s}setState(t,e){this.#p({type:"setState",state:t,setStateOptions:e})}cancel(t){const e=this.#u;return this.#h?.cancel(t),e?e.then(i).catch(i):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#n)}isActive(){return this.#c.some((t=>!1!==t.options.enabled))}isDisabled(){return this.getObserversCount()>0&&!this.isActive()}isStale(){return this.state.isInvalidated||!this.state.dataUpdatedAt||this.#c.some((t=>t.getCurrentResult().isStale))}isStaleByTime(t=0){return this.state.isInvalidated||!this.state.dataUpdatedAt||!n(this.state.dataUpdatedAt,t)}onFocus(){this.#c.find((t=>t.shouldFetchOnWindowFocus()))?.refetch({cancelRefetch:!1}),this.#h?.continue()}onOnline(){this.#c.find((t=>t.shouldFetchOnReconnect()))?.refetch({cancelRefetch:!1}),this.#h?.continue()}addObserver(t){-1===this.#c.indexOf(t)&&(this.#c.push(t),this.clearGcTimeout(),this.#o.notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){-1!==this.#c.indexOf(t)&&(this.#c=this.#c.filter((e=>e!==t)),this.#c.length||(this.#h&&(this.#d?this.#h.cancel({revert:!0}):this.#h.cancelRetry()),this.scheduleGc()),this.#o.notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.#c.length}invalidate(){this.state.isInvalidated||this.#p({type:"invalidate"})}fetch(t,e){if("idle"!==this.state.fetchStatus)if(this.state.dataUpdatedAt&&e?.cancelRefetch)this.cancel({silent:!0});else if(this.#u)return this.#h?.continueRetry(),this.#u;if(t&&this.#f(t),!this.options.queryFn){const t=this.#c.find((t=>t.options.queryFn));t&&this.#f(t.options)}const s=new AbortController,i={queryKey:this.queryKey,meta:this.meta},r=t=>{Object.defineProperty(t,"signal",{enumerable:!0,get:()=>(this.#d=!0,s.signal)})};r(i);const n={fetchOptions:e,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:()=>this.options.queryFn?(this.#d=!1,this.options.queryFn(i)):Promise.reject(new Error("Missing queryFn"))};r(n),this.options.behavior?.onFetch(n),this.#a=this.state,"idle"!==this.state.fetchStatus&&this.state.fetchMeta===n.fetchOptions?.meta||this.#p({type:"fetch",meta:n.fetchOptions?.meta});const a=t=>{w(t)&&t.silent||this.#p({type:"error",error:t}),w(t)||(this.#o.config.onError?.(t,this),this.#o.config.onSettled?.(this.state.data,t,this)),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1};return this.#h=P({fn:n.fetchFn,abort:s.abort.bind(s),onSuccess:t=>{void 0!==t?(this.setData(t),this.#o.config.onSuccess?.(t,this),this.#o.config.onSettled?.(t,this.state.error,this),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1):a(new Error("undefined"))},onError:a,onFail:(t,e)=>{this.#p({type:"failed",failureCount:t,error:e})},onPause:()=>{this.#p({type:"pause"})},onContinue:()=>{this.#p({type:"continue"})},retry:n.options.retry,retryDelay:n.options.retryDelay,networkMode:n.options.networkMode}),this.#u=this.#h.promise,this.#u}#p(t){this.state=(e=>{switch(t.type){case"failed":return{...e,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...e,fetchStatus:"paused"};case"continue":return{...e,fetchStatus:"fetching"};case"fetch":return{...e,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:t.meta??null,fetchStatus:Q(this.options.networkMode)?"fetching":"paused",...!e.dataUpdatedAt&&{error:null,status:"pending"}};case"success":return{...e,data:t.data,dataUpdateCount:e.dataUpdateCount+1,dataUpdatedAt:t.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const s=t.error;return w(s)&&s.revert&&this.#a?{...this.#a}:{...e,error:s,errorUpdateCount:e.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:e.fetchFailureCount+1,fetchFailureReason:s,fetchStatus:"idle",status:"error"};case"invalidate":return{...e,isInvalidated:!0};case"setState":return{...e,...t.state}}})(this.state),M.batch((()=>{this.#c.forEach((e=>{e.onQueryUpdate(t)})),this.#o.notify({query:this,type:"updated",action:t})}))}}class x extends e{#y;constructor(t={}){super(),this.config=t,this.#y=t.createStore?.()??new Map}build(t,e,s){const i=e.queryKey,r=e.queryHash??u(i,e);let n=this.get(r);return n||(n=new E({cache:this,queryKey:i,queryHash:r,options:t.defaultQueryOptions(e),state:s,defaultOptions:t.getQueryDefaults(i)}),this.add(n)),n}add(t){this.#y.has(t.queryHash)||(this.#y.set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const e=this.#y.get(t.queryHash);e&&(t.destroy(),e===t&&this.#y.delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){M.batch((()=>{this.getAll().forEach((t=>{this.remove(t)}))}))}get(t){return this.#y.get(t)}getAll(){return[...this.#y.values()]}find(t){return void 0===t.exact&&(t.exact=!0),this.getAll().find((e=>a(t,e)))}findAll(t={}){const e=this.getAll();return Object.keys(t).length>0?e.filter((e=>a(t,e))):e}notify(t){M.batch((()=>{this.listeners.forEach((e=>{e(t)}))}))}onFocus(){M.batch((()=>{this.getAll().forEach((t=>{t.onFocus()}))}))}onOnline(){M.batch((()=>{this.getAll().forEach((t=>{t.onOnline()}))}))}}class D extends F{#c;#m;#h;constructor(t){super(),this.options=t.options,this.mutationId=t.mutationId,this.#m=t.mutationCache,this.#c=[],this.state=t.state||A(),this.updateGcTime(this.options.gcTime),this.scheduleGc()}get meta(){return this.options.meta}addObserver(t){-1===this.#c.indexOf(t)&&(this.#c.push(t),this.clearGcTimeout(),this.#m.notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){this.#c=this.#c.filter((e=>e!==t)),this.scheduleGc(),this.#m.notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){this.#c.length||("pending"===this.state.status?this.scheduleGc():this.#m.remove(this))}continue(){return this.#h?.continue()??this.execute(this.state.variables)}async execute(t){const e=()=>(this.#h=P({fn:()=>this.options.mutationFn?this.options.mutationFn(t):Promise.reject(new Error("No mutationFn found")),onFail:(t,e)=>{this.#p({type:"failed",failureCount:t,error:e})},onPause:()=>{this.#p({type:"pause"})},onContinue:()=>{this.#p({type:"continue"})},retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode}),this.#h.promise),s="pending"===this.state.status;try{if(!s){this.#p({type:"pending",variables:t}),await(this.#m.config.onMutate?.(t,this));const e=await(this.options.onMutate?.(t));e!==this.state.context&&this.#p({type:"pending",context:e,variables:t})}const i=await e();return await(this.#m.config.onSuccess?.(i,t,this.state.context,this)),await(this.options.onSuccess?.(i,t,this.state.context)),await(this.#m.config.onSettled?.(i,null,this.state.variables,this.state.context,this)),await(this.options.onSettled?.(i,null,t,this.state.context)),this.#p({type:"success",data:i}),i}catch(e){try{throw await(this.#m.config.onError?.(e,t,this.state.context,this)),await(this.options.onError?.(e,t,this.state.context)),await(this.#m.config.onSettled?.(void 0,e,this.state.variables,this.state.context,this)),await(this.options.onSettled?.(void 0,e,t,this.state.context)),e}finally{this.#p({type:"error",error:e})}}}#p(t){this.state=(e=>{switch(t.type){case"failed":return{...e,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...e,isPaused:!0};case"continue":return{...e,isPaused:!1};case"pending":return{...e,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:!Q(this.options.networkMode),status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...e,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...e,data:void 0,error:t.error,failureCount:e.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}})(this.state),M.batch((()=>{this.#c.forEach((e=>{e.onMutationUpdate(t)})),this.#m.notify({mutation:this,type:"updated",action:t})}))}}function A(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}class I extends e{#v;#b;#g;constructor(t={}){super(),this.config=t,this.#v=[],this.#b=0}build(t,e,s){const i=new D({mutationCache:this,mutationId:++this.#b,options:t.defaultMutationOptions(e),state:s});return this.add(i),i}add(t){this.#v.push(t),this.notify({type:"added",mutation:t})}remove(t){this.#v=this.#v.filter((e=>e!==t)),this.notify({type:"removed",mutation:t})}clear(){M.batch((()=>{this.#v.forEach((t=>{this.remove(t)}))}))}getAll(){return this.#v}find(t){return void 0===t.exact&&(t.exact=!0),this.#v.find((e=>o(t,e)))}findAll(t={}){return this.#v.filter((e=>o(t,e)))}notify(t){M.batch((()=>{this.listeners.forEach((e=>{e(t)}))}))}resumePausedMutations(){return this.#g=(this.#g??Promise.resolve()).then((()=>{const t=this.#v.filter((t=>t.state.isPaused));return M.batch((()=>t.reduce(((t,e)=>t.then((()=>e.continue().catch(i)))),Promise.resolve())))})).then((()=>{this.#g=void 0})),this.#g}}function U(){return{onFetch:t=>{t.fetchFn=()=>{const e=t.options,s=t.fetchOptions?.meta?.fetchMore?.direction,i=t.state.data?.pages||[],r=t.state.data?.pageParams||[];let n=r,a=!1;const o=t.options.queryFn||(()=>Promise.reject(new Error("Missing queryFn"))),u=(e,s,i)=>{if(a)return Promise.reject();if(void 0===s&&e.length)return Promise.resolve(e);const r={queryKey:t.queryKey,pageParam:s,meta:t.options.meta};var u;u=r,Object.defineProperty(u,"signal",{enumerable:!0,get:()=>(t.signal.aborted?a=!0:t.signal.addEventListener("abort",(()=>{a=!0})),t.signal)});const h=o(r),c=Promise.resolve(h).then((r=>((e,s,i,r)=>{const{maxPages:a}=t.options;return r?(n=O(n,s,a),O(e,i,a)):(n=g(n,s,a),g(e,i,a))})(e,s,r,i)));return c};let h;if(i.length)if(s){const t="backward"===s,r=t?K(e,i):T(e,i);h=u(i,r,t)}else{n=[],h=u([],r[0]);for(let t=1;t<i.length;t++)h=h.then((t=>{const s=T(e,t);return u(t,s)}))}else h=u([],e.defaultPageParam);return h.then((t=>({pages:t,pageParams:n})))}}}}function T(t,e){return t.getNextPageParam(e[e.length-1],e)}function K(t,e){return t.getPreviousPageParam?.(e[0],e)}function k(t,e){return!!e&&void 0!==T(t,e)}function L(t,e){return!(!e||!t.getPreviousPageParam)&&void 0!==K(t,e)}class j extends e{#O;#R=void 0;#C=void 0;#q=void 0;#Q;#S;#w;#P;#M;#F;#E;#x;#D;#A=new Set;constructor(t,e){super(),this.#O=t,this.options=e,this.#P=null,this.bindMethods(),this.setOptions(e)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){1===this.listeners.length&&(this.#R.addObserver(this),H(this.#R,this.options)&&this.#I(),this.#U())}onUnsubscribe(){this.listeners.length||this.destroy()}shouldFetchOnReconnect(){return G(this.#R,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return G(this.#R,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=[],this.#T(),this.#K(),this.#R.removeObserver(this)}setOptions(t,e){const s=this.options,i=this.#R;if(this.options=this.#O.defaultQueryOptions(t),d(s,this.options)||this.#O.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#R,observer:this}),void 0!==this.options.enabled&&"boolean"!=typeof this.options.enabled)throw new Error("Expected enabled to be a boolean");this.options.queryKey||(this.options.queryKey=s.queryKey),this.#k();const r=this.hasListeners();r&&N(this.#R,i,this.options,s)&&this.#I(),this.#L(e),!r||this.#R===i&&this.options.enabled===s.enabled&&this.options.staleTime===s.staleTime||this.#j();const n=this.#H();!r||this.#R===i&&this.options.enabled===s.enabled&&n===this.#D||this.#G(n)}getOptimisticResult(t){const e=this.#O.getQueryCache().build(this.#O,t);return this.createResult(e,t)}getCurrentResult(){return this.#q}trackResult(t){const e={};return Object.keys(t).forEach((s=>{Object.defineProperty(e,s,{configurable:!1,enumerable:!0,get:()=>(this.#A.add(s),t[s])})})),e}getCurrentQuery(){return this.#R}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const e=this.#O.defaultQueryOptions(t),s=this.#O.getQueryCache().build(this.#O,e);return s.isFetchingOptimistic=!0,s.fetch().then((()=>this.createResult(s,e)))}fetch(t){return this.#I({...t,cancelRefetch:t.cancelRefetch??!0}).then((()=>(this.#L(),this.#q)))}#I(t){this.#k();let e=this.#R.fetch(this.options,t);return t?.throwOnError||(e=e.catch(i)),e}#j(){if(this.#T(),s||this.#q.isStale||!r(this.options.staleTime))return;const t=n(this.#q.dataUpdatedAt,this.options.staleTime)+1;this.#E=setTimeout((()=>{this.#q.isStale||this.#L()}),t)}#H(){return"function"==typeof this.options.refetchInterval?this.options.refetchInterval(this.#q.data,this.#R):this.options.refetchInterval??!1}#G(t){this.#K(),this.#D=t,!s&&!1!==this.options.enabled&&r(this.#D)&&0!==this.#D&&(this.#x=setInterval((()=>{(this.options.refetchIntervalInBackground||R.isFocused())&&this.#I()}),this.#D))}#U(){this.#j(),this.#G(this.#H())}#T(){this.#E&&(clearTimeout(this.#E),this.#E=void 0)}#K(){this.#x&&(clearInterval(this.#x),this.#x=void 0)}createResult(t,e){const s=this.#R,i=this.options,r=this.#q,n=this.#Q,a=this.#S,o=t!==s,u=o?t.state:this.#C,h=o?this.#q:this.#w,{state:c}=t;let l,{error:d,errorUpdatedAt:f,fetchStatus:p,status:y}=c,m=!1;if(e._optimisticResults){const r=this.hasListeners(),n=!r&&H(t,e),a=r&&N(t,s,e,i);(n||a)&&(p=Q(t.options.networkMode)?"fetching":"paused",c.dataUpdatedAt||(y="pending")),"isRestoring"===e._optimisticResults&&(p="idle")}if(e.select&&void 0!==c.data)if(r&&c.data===n?.data&&e.select===this.#M)l=this.#F;else try{this.#M=e.select,l=e.select(c.data),l=b(r?.data,l,e),this.#F=l,this.#P=null}catch(t){this.#P=t}else l=c.data;if(void 0!==e.placeholderData&&void 0===l&&"pending"===y){let t;if(r?.isPlaceholderData&&e.placeholderData===a?.placeholderData)t=r.data;else if(t="function"==typeof e.placeholderData?e.placeholderData(h?.data):e.placeholderData,e.select&&void 0!==t)try{t=e.select(t),this.#P=null}catch(t){this.#P=t}void 0!==t&&(y="success",l=b(r?.data,t,e),m=!0)}this.#P&&(d=this.#P,l=this.#F,f=Date.now(),y="error");const v="fetching"===p,g="pending"===y,O="error"===y,R=g&&v;return{status:y,fetchStatus:p,isPending:g,isSuccess:"success"===y,isError:O,isInitialLoading:R,isLoading:R,data:l,dataUpdatedAt:c.dataUpdatedAt,error:d,errorUpdatedAt:f,failureCount:c.fetchFailureCount,failureReason:c.fetchFailureReason,errorUpdateCount:c.errorUpdateCount,isFetched:c.dataUpdateCount>0||c.errorUpdateCount>0,isFetchedAfterMount:c.dataUpdateCount>u.dataUpdateCount||c.errorUpdateCount>u.errorUpdateCount,isFetching:v,isRefetching:v&&!g,isLoadingError:O&&0===c.dataUpdatedAt,isPaused:"paused"===p,isPlaceholderData:m,isRefetchError:O&&0!==c.dataUpdatedAt,isStale:_(t,e),refetch:this.refetch}}#L(t){const e=this.#q,s=this.createResult(this.#R,this.options);if(this.#Q=this.#R.state,this.#S=this.options,d(s,e))return;this.#q=s;const i={};!1!==t?.listeners&&(()=>{if(!e)return!0;const{notifyOnChangeProps:t}=this.options;if("all"===t||!t&&!this.#A.size)return!0;const s=new Set(t??this.#A);return this.options.throwErrors&&s.add("error"),Object.keys(this.#q).some((t=>{const i=t;return this.#q[i]!==e[i]&&s.has(i)}))})()&&(i.listeners=!0),this.#N({...i,...t})}#k(){const t=this.#O.getQueryCache().build(this.#O,this.options);if(t===this.#R)return;const e=this.#R;this.#R=t,this.#C=t.state,this.#w=this.#q,this.hasListeners()&&(e?.removeObserver(this),t.addObserver(this))}onQueryUpdate(t){const e={};"success"===t.type?e.onSuccess=!t.manual:"error"!==t.type||w(t.error)||(e.onError=!0),this.#L(e),this.hasListeners()&&this.#U()}#N(t){M.batch((()=>{t.onSuccess?(this.options.onSuccess?.(this.#q.data),this.options.onSettled?.(this.#q.data,null)):t.onError&&(this.options.onError?.(this.#q.error),this.options.onSettled?.(void 0,this.#q.error)),t.listeners&&this.listeners.forEach((t=>{t(this.#q)})),this.#O.getQueryCache().notify({query:this.#R,type:"observerResultsUpdated"})}))}}function H(t,e){return function(t,e){return!(!1===e.enabled||t.state.dataUpdatedAt||"error"===t.state.status&&!1===e.retryOnMount)}(t,e)||t.state.dataUpdatedAt>0&&G(t,e,e.refetchOnMount)}function G(t,e,s){if(!1!==e.enabled){const i="function"==typeof s?s(t):s;return"always"===i||!1!==i&&_(t,e)}return!1}function N(t,e,s,i){return!1!==s.enabled&&(t!==e||!1===i.enabled)&&(!s.suspense||"error"!==t.state.status)&&_(t,s)}function _(t,e){return t.isStaleByTime(e.staleTime)}function B(t,e){return t.filter((t=>-1===e.indexOf(t)))}function W(t){return t.state.isPaused}function z(t){return"success"===t.state.status}t.CancelledError=S,t.InfiniteQueryObserver=class extends j{constructor(t,e){super(t,e)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(t,e){super.setOptions({...t,behavior:U()},e)}getOptimisticResult(t){return t.behavior=U(),super.getOptimisticResult(t)}fetchNextPage(t={}){return this.fetch({...t,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage({...t}={}){return this.fetch({...t,meta:{fetchMore:{direction:"backward"}}})}createResult(t,e){const{state:s}=t,i=super.createResult(t,e),{isFetching:r,isRefetching:n}=i,a=r&&"forward"===s.fetchMeta?.fetchMore?.direction,o=r&&"backward"===s.fetchMeta?.fetchMore?.direction;return{...i,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:k(e,s.data?.pages),hasPreviousPage:L(e,s.data?.pages),isFetchingNextPage:a,isFetchingPreviousPage:o,isRefetching:n&&!a&&!o}}},t.MutationCache=I,t.MutationObserver=class extends e{#O;#q=void 0;#_;#B;constructor(t,e){super(),this.#O=t,this.setOptions(e),this.bindMethods(),this.#L()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(t){const e=this.options;this.options=this.#O.defaultMutationOptions(t),d(e,this.options)||this.#O.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#_,observer:this})}onUnsubscribe(){this.listeners.length||this.#_?.removeObserver(this)}onMutationUpdate(t){this.#L(),this.#N(t)}getCurrentResult(){return this.#q}reset(){this.#_=void 0,this.#L(),this.#N()}mutate(t,e){return this.#B=e,this.#_?.removeObserver(this),this.#_=this.#O.getMutationCache().build(this.#O,this.options),this.#_.addObserver(this),this.#_.execute(t)}#L(){const t=this.#_?.state??{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0};this.#q={...t,isPending:"pending"===t.status,isSuccess:"success"===t.status,isError:"error"===t.status,isIdle:"idle"===t.status,mutate:this.mutate,reset:this.reset}}#N(t){M.batch((()=>{this.#B&&this.hasListeners()&&("success"===t?.type?(this.#B.onSuccess?.(t.data,this.#q.variables,this.#q.context),this.#B.onSettled?.(t.data,null,this.#q.variables,this.#q.context)):"error"===t?.type&&(this.#B.onError?.(t.error,this.#q.variables,this.#q.context),this.#B.onSettled?.(void 0,t.error,this.#q.variables,this.#q.context))),this.listeners.forEach((t=>{t(this.#q)}))}))}},t.QueriesObserver=class extends e{#O;#W;#y;#c;constructor(t,e){super(),this.#O=t,this.#y=[],this.#W=[],this.#c=[],e&&this.setQueries(e)}onSubscribe(){1===this.listeners.length&&this.#c.forEach((t=>{t.subscribe((e=>{this.#z(t,e)}))}))}onUnsubscribe(){this.listeners.length||this.destroy()}destroy(){this.listeners=[],this.#c.forEach((t=>{t.destroy()}))}setQueries(t,e){this.#y=t,M.batch((()=>{const t=this.#c,s=this.#J(this.#y);s.forEach((t=>t.observer.setOptions(t.defaultedQueryOptions,e)));const i=s.map((t=>t.observer)),r=i.map((t=>t.getCurrentResult())),n=i.some(((e,s)=>e!==t[s]));(t.length!==i.length||n)&&(this.#c=i,this.#W=r,this.hasListeners()&&(B(t,i).forEach((t=>{t.destroy()})),B(i,t).forEach((t=>{t.subscribe((e=>{this.#z(t,e)}))})),this.#N()))}))}getCurrentResult(){return this.#W}getQueries(){return this.#c.map((t=>t.getCurrentQuery()))}getObservers(){return this.#c}getOptimisticResult(t){return this.#J(t).map((t=>t.observer.getOptimisticResult(t.defaultedQueryOptions)))}#J(t){const e=this.#c,s=t.map((t=>this.#O.defaultQueryOptions(t))),i=s.flatMap((t=>{const s=e.find((e=>e.options.queryHash===t.queryHash));return null!=s?[{defaultedQueryOptions:t,observer:s}]:[]})),r=i.map((t=>t.defaultedQueryOptions.queryHash)),n=s.filter((t=>!r.includes(t.queryHash))),a=t=>{const e=this.#O.defaultQueryOptions(t);return this.#c.find((t=>t.options.queryHash===e.queryHash))??new j(this.#O,e)},o=n.map((t=>({defaultedQueryOptions:t,observer:a(t)})));return i.concat(o).sort(((t,e)=>s.indexOf(t.defaultedQueryOptions)-s.indexOf(e.defaultedQueryOptions)))}#z(t,e){const s=this.#c.indexOf(t);-1!==s&&(this.#W=function(t,e,s){const i=t.slice(0);return i[e]=s,i}(this.#W,s,e),this.#N())}#N(){M.batch((()=>{this.listeners.forEach((t=>{t(this.#W)}))}))}},t.QueryCache=x,t.QueryClient=class{#V;#m;#l;#X;#Y;#Z;#$;#tt;constructor(t={}){this.#V=t.queryCache||new x,this.#m=t.mutationCache||new I,this.#l=t.defaultOptions||{},this.#X=new Map,this.#Y=new Map,this.#Z=0}mount(){this.#Z++,1===this.#Z&&(this.#$=R.subscribe((()=>{R.isFocused()&&(this.resumePausedMutations(),this.#V.onFocus())})),this.#tt=C.subscribe((()=>{C.isOnline()&&(this.resumePausedMutations(),this.#V.onOnline())})))}unmount(){this.#Z--,0===this.#Z&&(this.#$?.(),this.#$=void 0,this.#tt?.(),this.#tt=void 0)}isFetching(t){return this.#V.findAll({...t,fetchStatus:"fetching"}).length}isMutating(t){return this.#m.findAll({...t,status:"pending"}).length}getQueryData(t){return this.#V.find({queryKey:t})?.state.data}ensureQueryData(t){const e=this.getQueryData(t.queryKey);return e?Promise.resolve(e):this.fetchQuery(t)}getQueriesData(t){return this.getQueryCache().findAll(t).map((({queryKey:t,state:e})=>[t,e.data]))}setQueryData(t,e,s){const i=this.#V.find({queryKey:t})?.state.data,r=function(t,e){return"function"==typeof t?t(e):t}(e,i);if(void 0===r)return;const n=this.defaultQueryOptions({queryKey:t});return this.#V.build(this,n).setData(r,{...s,manual:!0})}setQueriesData(t,e,s){return M.batch((()=>this.getQueryCache().findAll(t).map((({queryKey:t})=>[t,this.setQueryData(t,e,s)]))))}getQueryState(t){return this.#V.find({queryKey:t})?.state}removeQueries(t){const e=this.#V;M.batch((()=>{e.findAll(t).forEach((t=>{e.remove(t)}))}))}resetQueries(t,e){const s=this.#V,i={type:"active",...t};return M.batch((()=>(s.findAll(t).forEach((t=>{t.reset()})),this.refetchQueries(i,e))))}cancelQueries(t={},e={}){void 0===e.revert&&(e.revert=!0);const s=M.batch((()=>this.#V.findAll(t).map((t=>t.cancel(e)))));return Promise.all(s).then(i).catch(i)}invalidateQueries(t={},e={}){return M.batch((()=>{if(this.#V.findAll(t).forEach((t=>{t.invalidate()})),"none"===t.refetchType)return Promise.resolve();const s={...t,type:t.refetchType??t.type??"active"};return this.refetchQueries(s,e)}))}refetchQueries(t={},e){const s=M.batch((()=>this.#V.findAll(t).filter((t=>!t.isDisabled())).map((t=>t.fetch(void 0,{...e,cancelRefetch:e?.cancelRefetch??!0})))));let r=Promise.all(s).then(i);return e?.throwOnError||(r=r.catch(i)),r}fetchQuery(t){const e=this.defaultQueryOptions(t);void 0===e.retry&&(e.retry=!1);const s=this.#V.build(this,e);return s.isStaleByTime(e.staleTime)?s.fetch(e):Promise.resolve(s.state.data)}prefetchQuery(t){return this.fetchQuery(t).then(i).catch(i)}fetchInfiniteQuery(t){return t.behavior=U(),this.fetchQuery(t)}prefetchInfiniteQuery(t){return this.fetchInfiniteQuery(t).then(i).catch(i)}resumePausedMutations(){return this.#m.resumePausedMutations()}getQueryCache(){return this.#V}getMutationCache(){return this.#m}getDefaultOptions(){return this.#l}setDefaultOptions(t){this.#l=t}setQueryDefaults(t,e){this.#X.set(h(t),{queryKey:t,defaultOptions:e})}getQueryDefaults(t){const e=[...this.#X.values()];let s={};return e.forEach((e=>{c(t,e.queryKey)&&(s={...s,...e.defaultOptions})})),s}setMutationDefaults(t,e){this.#Y.set(h(t),{mutationKey:t,defaultOptions:e})}getMutationDefaults(t){const e=[...this.#Y.values()];let s={};return e.forEach((e=>{c(t,e.mutationKey)&&(s={...s,...e.defaultOptions})})),s}defaultQueryOptions(t){if(t?._defaulted)return t;const e={...this.#l.queries,...t?.queryKey&&this.getQueryDefaults(t.queryKey),...t,_defaulted:!0};return e.queryHash||(e.queryHash=u(e.queryKey,e)),void 0===e.refetchOnReconnect&&(e.refetchOnReconnect="always"!==e.networkMode),void 0===e.throwErrors&&(e.throwErrors=!!e.suspense),e}defaultMutationOptions(t){return t?._defaulted?t:{...this.#l.mutations,...t?.mutationKey&&this.getMutationDefaults(t.mutationKey),...t,_defaulted:!0}}clear(){this.#V.clear(),this.#m.clear()}},t.QueryObserver=j,t.defaultShouldDehydrateMutation=W,t.defaultShouldDehydrateQuery=z,t.dehydrate=function(t,e={}){const s=[],i=[];if(!1!==e.dehydrateMutations){const i=e.shouldDehydrateMutation||W;t.getMutationCache().getAll().forEach((t=>{i(t)&&s.push(function(t){return{mutationKey:t.options.mutationKey,state:t.state}}(t))}))}if(!1!==e.dehydrateQueries){const s=e.shouldDehydrateQuery||z;t.getQueryCache().getAll().forEach((t=>{s(t)&&i.push(function(t){return{state:t.state,queryKey:t.queryKey,queryHash:t.queryHash}}(t))}))}return{mutations:s,queries:i}},t.focusManager=R,t.hashKey=h,t.hydrate=function(t,e,s){if("object"!=typeof e||null===e)return;const i=t.getMutationCache(),r=t.getQueryCache(),n=e.mutations||[],a=e.queries||[];n.forEach((e=>{i.build(t,{...s?.defaultOptions?.mutations,mutationKey:e.mutationKey},e.state)})),a.forEach((e=>{const i=r.get(e.queryHash),n={...e.state,fetchStatus:"idle"};i?i.state.dataUpdatedAt<n.dataUpdatedAt&&i.setState(n):r.build(t,{...s?.defaultOptions?.queries,queryKey:e.queryKey,queryHash:e.queryHash},n)}))},t.isCancelledError=w,t.isServer=s,t.keepPreviousData=function(t){return t},t.matchQuery=a,t.notifyManager=M,t.onlineManager=C,t.replaceEqualDeep=l})); | ||
//# sourceMappingURL=index.production.js.map |
{ | ||
"name": "@tanstack/query-core", | ||
"version": "5.0.0-alpha.1", | ||
"version": "5.0.0-alpha.2", | ||
"description": "The framework agnostic core that powers TanStack Query", | ||
@@ -5,0 +5,0 @@ "author": "tannerlinsley", |
@@ -14,3 +14,9 @@ /* istanbul ignore file */ | ||
export { onlineManager } from './onlineManager' | ||
export { hashKey, replaceEqualDeep, isServer, keepPreviousData } from './utils' | ||
export { | ||
hashKey, | ||
replaceEqualDeep, | ||
isServer, | ||
matchQuery, | ||
keepPreviousData, | ||
} from './utils' | ||
export type { MutationFilters, QueryFilters, Updater } from './utils' | ||
@@ -17,0 +23,0 @@ export { isCancelledError } from './retryer' |
@@ -9,3 +9,3 @@ import type { | ||
QueryKey, | ||
RegisteredError, | ||
DefaultError, | ||
} from './types' | ||
@@ -28,3 +28,3 @@ import type { QueryClient } from './queryClient' | ||
TQueryFnData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
TData = InfiniteData<TQueryFnData>, | ||
@@ -31,0 +31,0 @@ TQueryData = TQueryFnData, |
@@ -5,3 +5,3 @@ import type { | ||
MutationMeta, | ||
RegisteredError, | ||
DefaultError, | ||
} from './types' | ||
@@ -27,3 +27,3 @@ import type { MutationCache } from './mutationCache' | ||
TData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
TVariables = void, | ||
@@ -85,3 +85,3 @@ TContext = unknown, | ||
TData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
TVariables = void, | ||
@@ -217,2 +217,11 @@ TContext = unknown, | ||
// Notify cache callback | ||
await this.#mutationCache.config.onSettled?.( | ||
data, | ||
null, | ||
this.state.variables, | ||
this.state.context, | ||
this as Mutation<unknown, unknown, unknown, unknown>, | ||
) | ||
await this.options.onSettled?.(data, null, variables, this.state.context) | ||
@@ -238,2 +247,11 @@ | ||
// Notify cache callback | ||
await this.#mutationCache.config.onSettled?.( | ||
undefined, | ||
error, | ||
this.state.variables, | ||
this.state.context, | ||
this as Mutation<unknown, unknown, unknown, unknown>, | ||
) | ||
await this.options.onSettled?.( | ||
@@ -240,0 +258,0 @@ undefined, |
import type { MutationObserver } from './mutationObserver' | ||
import type { NotifyEvent, MutationOptions, RegisteredError } from './types' | ||
import type { NotifyEvent, MutationOptions, DefaultError } from './types' | ||
import type { QueryClient } from './queryClient' | ||
@@ -28,4 +28,11 @@ import { notifyManager } from './notifyManager' | ||
variables: unknown, | ||
mutation: Mutation<unknown, unknown, unknown, unknown>, | ||
mutation: Mutation<unknown, unknown, unknown>, | ||
) => Promise<unknown> | unknown | ||
onSettled?: ( | ||
data: unknown | undefined, | ||
error: unknown | null, | ||
variables: unknown, | ||
context: unknown, | ||
mutation: Mutation<unknown, unknown, unknown>, | ||
) => Promise<unknown> | unknown | ||
} | ||
@@ -130,3 +137,3 @@ | ||
TData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
TVariables = any, | ||
@@ -133,0 +140,0 @@ TContext = unknown, |
@@ -10,3 +10,3 @@ import type { Action, Mutation } from './mutation' | ||
MutationObserverOptions, | ||
RegisteredError, | ||
DefaultError, | ||
} from './types' | ||
@@ -25,3 +25,3 @@ import { shallowEqualObjects } from './utils' | ||
TData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
TVariables = void, | ||
@@ -28,0 +28,0 @@ TContext = unknown, |
@@ -29,3 +29,2 @@ import { notifyManager } from './notifyManager' | ||
#observers: QueryObserver[] | ||
#observersMap: Record<string, QueryObserver> | ||
@@ -39,3 +38,2 @@ constructor(client: QueryClient, queries?: QueryObserverOptions[]) { | ||
this.#observers = [] | ||
this.#observersMap = {} | ||
@@ -87,5 +85,2 @@ if (queries) { | ||
const newObservers = newObserverMatches.map((match) => match.observer) | ||
const newObserversMap = Object.fromEntries( | ||
newObservers.map((observer) => [observer.options.queryHash, observer]), | ||
) | ||
const newResult = newObservers.map((observer) => | ||
@@ -103,3 +98,2 @@ observer.getCurrentResult(), | ||
this.#observers = newObservers | ||
this.#observersMap = newObserversMap | ||
this.#result = newResult | ||
@@ -173,3 +167,5 @@ | ||
const defaultedOptions = this.#client.defaultQueryOptions(options) | ||
const currentObserver = this.#observersMap[defaultedOptions.queryHash!] | ||
const currentObserver = this.#observers.find( | ||
(o) => o.options.queryHash === defaultedOptions.queryHash, | ||
) | ||
return ( | ||
@@ -176,0 +172,0 @@ currentObserver ?? new QueryObserver(this.#client, defaultedOptions) |
@@ -12,3 +12,3 @@ import { noop, replaceData, timeUntilStale } from './utils' | ||
FetchStatus, | ||
RegisteredError, | ||
DefaultError, | ||
} from './types' | ||
@@ -38,3 +38,3 @@ import type { QueryCache } from './queryCache' | ||
export interface QueryState<TData = unknown, TError = RegisteredError> { | ||
export interface QueryState<TData = unknown, TError = DefaultError> { | ||
data: TData | undefined | ||
@@ -70,3 +70,3 @@ dataUpdateCount: number | ||
TQueryFnData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
TData = TQueryFnData, | ||
@@ -148,3 +148,3 @@ TQueryKey extends QueryKey = QueryKey, | ||
TQueryFnData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
TData = TQueryFnData, | ||
@@ -441,2 +441,7 @@ TQueryKey extends QueryKey = QueryKey, | ||
this.#cache.config.onError?.(error, this as Query<any, any, any, any>) | ||
this.#cache.config.onSettled?.( | ||
this.state.data, | ||
error, | ||
this as Query<any, any, any, any>, | ||
) | ||
} | ||
@@ -470,2 +475,7 @@ | ||
this.#cache.config.onSuccess?.(data, this as Query<any, any, any, any>) | ||
this.#cache.config.onSettled?.( | ||
data, | ||
this.state.error, | ||
this as Query<any, any, any, any>, | ||
) | ||
@@ -472,0 +482,0 @@ if (!this.isFetchingOptimistic) { |
@@ -9,3 +9,3 @@ import type { QueryFilters } from './utils' | ||
QueryOptions, | ||
RegisteredError, | ||
DefaultError, | ||
WithRequired, | ||
@@ -23,2 +23,7 @@ } from './types' | ||
onSuccess?: (data: unknown, query: Query<unknown, unknown, unknown>) => void | ||
onSettled?: ( | ||
data: unknown | undefined, | ||
error: unknown | null, | ||
query: Query<unknown, unknown, unknown>, | ||
) => void | ||
createStore?: () => QueryStore | ||
@@ -155,3 +160,3 @@ } | ||
TQueryFnData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
TData = TQueryFnData, | ||
@@ -171,3 +176,3 @@ TQueryKey extends QueryKey = QueryKey, | ||
find<TQueryFnData = unknown, TError = RegisteredError, TData = TQueryFnData>( | ||
find<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData>( | ||
filters: WithRequired<QueryFilters, 'queryKey'>, | ||
@@ -174,0 +179,0 @@ ): Query<TQueryFnData, TError, TData> | undefined { |
@@ -27,3 +27,3 @@ import type { QueryFilters, Updater, MutationFilters } from './utils' | ||
SetDataOptions, | ||
RegisteredError, | ||
DefaultError, | ||
} from './types' | ||
@@ -181,3 +181,3 @@ import type { QueryState } from './query' | ||
getQueryState<TQueryFnData = unknown, TError = RegisteredError>( | ||
getQueryState<TQueryFnData = unknown, TError = DefaultError>( | ||
queryKey: QueryKey, | ||
@@ -277,3 +277,3 @@ ): QueryState<TQueryFnData, TError> | undefined { | ||
TQueryFnData, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
TData = TQueryFnData, | ||
@@ -307,3 +307,3 @@ TQueryKey extends QueryKey = QueryKey, | ||
TQueryFnData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
TData = TQueryFnData, | ||
@@ -319,3 +319,3 @@ TQueryKey extends QueryKey = QueryKey, | ||
TQueryFnData, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
TData = TQueryFnData, | ||
@@ -339,3 +339,3 @@ TQueryKey extends QueryKey = QueryKey, | ||
TQueryFnData, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
TData = TQueryFnData, | ||
@@ -431,3 +431,3 @@ TQueryKey extends QueryKey = QueryKey, | ||
TQueryFnData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
TData = TQueryFnData, | ||
@@ -434,0 +434,0 @@ TQueryData = TQueryFnData, |
@@ -1,2 +0,2 @@ | ||
import type { DefaultedQueryObserverOptions, RegisteredError } from './types' | ||
import type { DefaultedQueryObserverOptions, DefaultError } from './types' | ||
import { | ||
@@ -42,3 +42,3 @@ isServer, | ||
TQueryFnData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
TData = TQueryFnData, | ||
@@ -45,0 +45,0 @@ TQueryData = TQueryFnData, |
import { focusManager } from './focusManager' | ||
import { onlineManager } from './onlineManager' | ||
import { sleep } from './utils' | ||
import type { CancelOptions, NetworkMode, RegisteredError } from './types' | ||
import type { CancelOptions, NetworkMode, DefaultError } from './types' | ||
// TYPES | ||
interface RetryerConfig<TData = unknown, TError = RegisteredError> { | ||
interface RetryerConfig<TData = unknown, TError = DefaultError> { | ||
fn: () => TData | Promise<TData> | ||
@@ -31,3 +31,3 @@ abort?: () => void | ||
type ShouldRetryFunction<TError = RegisteredError> = ( | ||
type ShouldRetryFunction<TError = DefaultError> = ( | ||
failureCount: number, | ||
@@ -39,3 +39,3 @@ error: TError, | ||
type RetryDelayFunction<TError = RegisteredError> = ( | ||
type RetryDelayFunction<TError = DefaultError> = ( | ||
failureCount: number, | ||
@@ -68,3 +68,3 @@ error: TError, | ||
export function createRetryer<TData = unknown, TError = RegisteredError>( | ||
export function createRetryer<TData = unknown, TError = DefaultError>( | ||
config: RetryerConfig<TData, TError>, | ||
@@ -71,0 +71,0 @@ ): Retryer<TData> { |
@@ -12,5 +12,7 @@ /* istanbul ignore file */ | ||
// defaultError: Error | ||
// queryMeta: Record<string, unknown> | ||
// mutationMeta: Record<string, unknown> | ||
} | ||
export type RegisteredError = Register extends { | ||
export type DefaultError = Register extends { | ||
defaultError: infer TError | ||
@@ -76,5 +78,9 @@ } | ||
export interface QueryMeta { | ||
[index: string]: unknown | ||
export type QueryMeta = Register extends { | ||
queryMeta: infer TQueryMeta | ||
} | ||
? TQueryMeta extends Record<string, unknown> | ||
? TQueryMeta | ||
: Record<string, unknown> | ||
: Record<string, unknown> | ||
@@ -85,3 +91,3 @@ export type NetworkMode = 'online' | 'always' | 'offlineFirst' | ||
TQueryFnData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
TData = TQueryFnData, | ||
@@ -162,3 +168,3 @@ TQueryKey extends QueryKey = QueryKey, | ||
TQueryFnData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
TData = TQueryFnData, | ||
@@ -298,3 +304,3 @@ TQueryData = TQueryFnData, | ||
TQueryFnData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
TData = TQueryFnData, | ||
@@ -310,3 +316,3 @@ TQueryData = TQueryFnData, | ||
TQueryFnData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
TData = TQueryFnData, | ||
@@ -328,3 +334,3 @@ TQueryData = TQueryFnData, | ||
TQueryFnData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
TData = TQueryFnData, | ||
@@ -346,3 +352,3 @@ TQueryData = TQueryFnData, | ||
TQueryFnData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
TData = TQueryFnData, | ||
@@ -364,3 +370,3 @@ TQueryKey extends QueryKey = QueryKey, | ||
TQueryFnData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
TData = TQueryFnData, | ||
@@ -408,3 +414,3 @@ TQueryKey extends QueryKey = QueryKey, | ||
TData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
> { | ||
@@ -445,3 +451,3 @@ data: TData | undefined | ||
TData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
> extends QueryObserverBaseResult<TData, TError> { | ||
@@ -460,3 +466,3 @@ data: undefined | ||
TData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
> extends QueryObserverBaseResult<TData, TError> { | ||
@@ -475,3 +481,3 @@ data: undefined | ||
TData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
> extends QueryObserverBaseResult<TData, TError> { | ||
@@ -490,3 +496,3 @@ data: TData | ||
TData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
> extends QueryObserverBaseResult<TData, TError> { | ||
@@ -505,3 +511,3 @@ data: TData | ||
TData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
> = | ||
@@ -511,3 +517,3 @@ | QueryObserverRefetchErrorResult<TData, TError> | ||
export type QueryObserverResult<TData = unknown, TError = RegisteredError> = | ||
export type QueryObserverResult<TData = unknown, TError = DefaultError> = | ||
| DefinedQueryObserverResult<TData, TError> | ||
@@ -519,3 +525,3 @@ | QueryObserverLoadingErrorResult<TData, TError> | ||
TData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
> extends QueryObserverBaseResult<TData, TError> { | ||
@@ -536,3 +542,3 @@ fetchNextPage: ( | ||
TData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
> extends InfiniteQueryObserverBaseResult<TData, TError> { | ||
@@ -551,3 +557,3 @@ data: undefined | ||
TData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
> extends InfiniteQueryObserverBaseResult<TData, TError> { | ||
@@ -566,3 +572,3 @@ data: undefined | ||
TData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
> extends InfiniteQueryObserverBaseResult<TData, TError> { | ||
@@ -581,3 +587,3 @@ data: TData | ||
TData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
> extends InfiniteQueryObserverBaseResult<TData, TError> { | ||
@@ -596,3 +602,3 @@ data: TData | ||
TData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
> = | ||
@@ -608,5 +614,7 @@ | InfiniteQueryObserverLoadingErrorResult<TData, TError> | ||
export interface MutationMeta { | ||
[index: string]: unknown | ||
export type MutationMeta = Register extends { | ||
mutationMeta: infer TMutationMeta | ||
} | ||
? TMutationMeta | ||
: Record<string, unknown> | ||
@@ -619,3 +627,3 @@ export type MutationFunction<TData = unknown, TVariables = unknown> = ( | ||
TData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
TVariables = void, | ||
@@ -655,3 +663,3 @@ TContext = unknown, | ||
TData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
TVariables = void, | ||
@@ -665,3 +673,3 @@ TContext = unknown, | ||
TData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
TVariables = void, | ||
@@ -686,3 +694,3 @@ TContext = unknown, | ||
TData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
TVariables = void, | ||
@@ -697,3 +705,3 @@ TContext = unknown, | ||
TData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
TVariables = void, | ||
@@ -712,3 +720,3 @@ TContext = unknown, | ||
TData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
TVariables = void, | ||
@@ -729,3 +737,3 @@ TContext = unknown, | ||
TData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
TVariables = void, | ||
@@ -746,3 +754,3 @@ TContext = unknown, | ||
TData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
TVariables = void, | ||
@@ -763,3 +771,3 @@ TContext = unknown, | ||
TData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
TVariables = void, | ||
@@ -780,3 +788,3 @@ TContext = unknown, | ||
TData = unknown, | ||
TError = RegisteredError, | ||
TError = DefaultError, | ||
TVariables = void, | ||
@@ -796,3 +804,3 @@ TContext = unknown, | ||
export interface DefaultOptions<TError = RegisteredError> { | ||
export interface DefaultOptions<TError = DefaultError> { | ||
queries?: QueryObserverOptions<unknown, TError> | ||
@@ -799,0 +807,0 @@ mutations?: MutationObserverOptions<unknown, TError, unknown, unknown> |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1773821
21740