@tanstack/query-broadcast-client-experimental 4.0.0 → 4.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/node_modules/broadcast-channel/dist/es/broadcast-channel.js +260 -0
- package/build/cjs/node_modules/broadcast-channel/dist/es/broadcast-channel.js.map +1 -0
- package/build/cjs/node_modules/broadcast-channel/dist/es/method-chooser.js +83 -0
- package/build/cjs/node_modules/broadcast-channel/dist/es/method-chooser.js.map +1 -0
- package/build/cjs/node_modules/broadcast-channel/dist/es/methods/indexed-db.js +325 -0
- package/build/cjs/node_modules/broadcast-channel/dist/es/methods/indexed-db.js.map +1 -0
- package/build/cjs/node_modules/broadcast-channel/dist/es/methods/localstorage.js +193 -0
- package/build/cjs/node_modules/broadcast-channel/dist/es/methods/localstorage.js.map +1 -0
- package/build/cjs/node_modules/broadcast-channel/dist/es/methods/native.js +88 -0
- package/build/cjs/node_modules/broadcast-channel/dist/es/methods/native.js.map +1 -0
- package/build/cjs/node_modules/broadcast-channel/dist/es/methods/simulate.js +77 -0
- package/build/cjs/node_modules/broadcast-channel/dist/es/methods/simulate.js.map +1 -0
- package/build/cjs/node_modules/broadcast-channel/dist/es/options.js +41 -0
- package/build/cjs/node_modules/broadcast-channel/dist/es/options.js.map +1 -0
- package/build/cjs/node_modules/broadcast-channel/dist/es/util.js +77 -0
- package/build/cjs/node_modules/broadcast-channel/dist/es/util.js.map +1 -0
- package/build/cjs/node_modules/oblivious-set/dist/es/index.js +83 -0
- package/build/cjs/node_modules/oblivious-set/dist/es/index.js.map +1 -0
- package/build/stats-html.html +1 -1
- package/build/stats.json +427 -0
- package/build/types/query-broadcast-client-experimental/src/index.d.ts +7 -0
- package/build/types/query-core/src/focusManager.d.ts +16 -0
- package/build/types/query-core/src/hydration.d.ts +34 -0
- package/build/types/query-core/src/index.d.ts +20 -0
- package/build/types/query-core/src/infiniteQueryBehavior.d.ts +15 -0
- package/build/types/query-core/src/infiniteQueryObserver.d.ts +18 -0
- package/build/types/query-core/src/logger.d.ts +8 -0
- package/build/types/query-core/src/mutation.d.ts +70 -0
- package/build/types/query-core/src/mutationCache.d.ts +52 -0
- package/build/types/query-core/src/mutationObserver.d.ts +23 -0
- package/build/types/query-core/src/notifyManager.d.ts +18 -0
- package/build/types/query-core/src/onlineManager.d.ts +16 -0
- package/build/types/query-core/src/queriesObserver.d.ts +23 -0
- package/build/types/query-core/src/query.d.ts +119 -0
- package/build/types/query-core/src/queryCache.d.ts +59 -0
- package/build/types/query-core/src/queryClient.d.ts +65 -0
- package/build/types/query-core/src/queryObserver.d.ts +61 -0
- package/build/types/query-core/src/removable.d.ts +9 -0
- package/build/types/query-core/src/retryer.d.ts +33 -0
- package/build/types/query-core/src/subscribable.d.ts +10 -0
- package/build/types/query-core/src/types.d.ts +417 -0
- package/build/types/query-core/src/utils.d.ts +99 -0
- package/package.json +2 -2
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Action } from './mutation';
|
|
2
|
+
import type { QueryClient } from './queryClient';
|
|
3
|
+
import { Subscribable } from './subscribable';
|
|
4
|
+
import type { MutateOptions, MutationObserverResult, MutationObserverOptions } from './types';
|
|
5
|
+
declare type MutationObserverListener<TData, TError, TVariables, TContext> = (result: MutationObserverResult<TData, TError, TVariables, TContext>) => void;
|
|
6
|
+
export declare class MutationObserver<TData = unknown, TError = unknown, TVariables = void, TContext = unknown> extends Subscribable<MutationObserverListener<TData, TError, TVariables, TContext>> {
|
|
7
|
+
options: MutationObserverOptions<TData, TError, TVariables, TContext>;
|
|
8
|
+
private client;
|
|
9
|
+
private currentResult;
|
|
10
|
+
private currentMutation?;
|
|
11
|
+
private mutateOptions?;
|
|
12
|
+
constructor(client: QueryClient, options: MutationObserverOptions<TData, TError, TVariables, TContext>);
|
|
13
|
+
protected bindMethods(): void;
|
|
14
|
+
setOptions(options?: MutationObserverOptions<TData, TError, TVariables, TContext>): void;
|
|
15
|
+
protected onUnsubscribe(): void;
|
|
16
|
+
onMutationUpdate(action: Action<TData, TError, TVariables, TContext>): void;
|
|
17
|
+
getCurrentResult(): MutationObserverResult<TData, TError, TVariables, TContext>;
|
|
18
|
+
reset(): void;
|
|
19
|
+
mutate(variables?: TVariables, options?: MutateOptions<TData, TError, TVariables, TContext>): Promise<TData>;
|
|
20
|
+
private updateResult;
|
|
21
|
+
private notify;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
declare type NotifyCallback = () => void;
|
|
2
|
+
declare type NotifyFunction = (callback: () => void) => void;
|
|
3
|
+
declare type BatchNotifyFunction = (callback: () => void) => void;
|
|
4
|
+
export declare function createNotifyManager(): {
|
|
5
|
+
readonly batch: <T>(callback: () => T) => T;
|
|
6
|
+
readonly batchCalls: <T_1 extends Function>(callback: T_1) => T_1;
|
|
7
|
+
readonly schedule: (callback: NotifyCallback) => void;
|
|
8
|
+
readonly setNotifyFunction: (fn: NotifyFunction) => void;
|
|
9
|
+
readonly setBatchNotifyFunction: (fn: BatchNotifyFunction) => void;
|
|
10
|
+
};
|
|
11
|
+
export declare const notifyManager: {
|
|
12
|
+
readonly batch: <T>(callback: () => T) => T;
|
|
13
|
+
readonly batchCalls: <T_1 extends Function>(callback: T_1) => T_1;
|
|
14
|
+
readonly schedule: (callback: NotifyCallback) => void;
|
|
15
|
+
readonly setNotifyFunction: (fn: NotifyFunction) => void;
|
|
16
|
+
readonly setBatchNotifyFunction: (fn: BatchNotifyFunction) => void;
|
|
17
|
+
};
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Subscribable } from './subscribable';
|
|
2
|
+
declare type SetupFn = (setOnline: (online?: boolean) => void) => (() => void) | undefined;
|
|
3
|
+
export declare class OnlineManager extends Subscribable {
|
|
4
|
+
private online?;
|
|
5
|
+
private cleanup?;
|
|
6
|
+
private setup;
|
|
7
|
+
constructor();
|
|
8
|
+
protected onSubscribe(): void;
|
|
9
|
+
protected onUnsubscribe(): void;
|
|
10
|
+
setEventListener(setup: SetupFn): void;
|
|
11
|
+
setOnline(online?: boolean): void;
|
|
12
|
+
onOnline(): void;
|
|
13
|
+
isOnline(): boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare const onlineManager: OnlineManager;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { QueryObserverOptions, QueryObserverResult } from './types';
|
|
2
|
+
import type { QueryClient } from './queryClient';
|
|
3
|
+
import { NotifyOptions } from './queryObserver';
|
|
4
|
+
import { Subscribable } from './subscribable';
|
|
5
|
+
declare type QueriesObserverListener = (result: QueryObserverResult[]) => void;
|
|
6
|
+
export declare class QueriesObserver extends Subscribable<QueriesObserverListener> {
|
|
7
|
+
private client;
|
|
8
|
+
private result;
|
|
9
|
+
private queries;
|
|
10
|
+
private observers;
|
|
11
|
+
private observersMap;
|
|
12
|
+
constructor(client: QueryClient, queries?: QueryObserverOptions[]);
|
|
13
|
+
protected onSubscribe(): void;
|
|
14
|
+
protected onUnsubscribe(): void;
|
|
15
|
+
destroy(): void;
|
|
16
|
+
setQueries(queries: QueryObserverOptions[], notifyOptions?: NotifyOptions): void;
|
|
17
|
+
getCurrentResult(): QueryObserverResult[];
|
|
18
|
+
getOptimisticResult(queries: QueryObserverOptions[]): QueryObserverResult[];
|
|
19
|
+
private findMatchingObservers;
|
|
20
|
+
private onUpdate;
|
|
21
|
+
private notify;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import type { QueryKey, QueryOptions, QueryStatus, QueryMeta, CancelOptions, SetDataOptions, FetchStatus } from './types';
|
|
2
|
+
import type { QueryCache } from './queryCache';
|
|
3
|
+
import type { QueryObserver } from './queryObserver';
|
|
4
|
+
import { Logger } from './logger';
|
|
5
|
+
import { Removable } from './removable';
|
|
6
|
+
interface QueryConfig<TQueryFnData, TError, TData, TQueryKey extends QueryKey = QueryKey> {
|
|
7
|
+
cache: QueryCache;
|
|
8
|
+
queryKey: TQueryKey;
|
|
9
|
+
queryHash: string;
|
|
10
|
+
logger?: Logger;
|
|
11
|
+
options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>;
|
|
12
|
+
defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>;
|
|
13
|
+
state?: QueryState<TData, TError>;
|
|
14
|
+
meta: QueryMeta | undefined;
|
|
15
|
+
}
|
|
16
|
+
export interface QueryState<TData = unknown, TError = unknown> {
|
|
17
|
+
data: TData | undefined;
|
|
18
|
+
dataUpdateCount: number;
|
|
19
|
+
dataUpdatedAt: number;
|
|
20
|
+
error: TError | null;
|
|
21
|
+
errorUpdateCount: number;
|
|
22
|
+
errorUpdatedAt: number;
|
|
23
|
+
fetchFailureCount: number;
|
|
24
|
+
fetchMeta: any;
|
|
25
|
+
isInvalidated: boolean;
|
|
26
|
+
status: QueryStatus;
|
|
27
|
+
fetchStatus: FetchStatus;
|
|
28
|
+
}
|
|
29
|
+
export interface FetchContext<TQueryFnData, TError, TData, TQueryKey extends QueryKey = QueryKey> {
|
|
30
|
+
fetchFn: () => unknown | Promise<unknown>;
|
|
31
|
+
fetchOptions?: FetchOptions;
|
|
32
|
+
signal?: AbortSignal;
|
|
33
|
+
options: QueryOptions<TQueryFnData, TError, TData, any>;
|
|
34
|
+
queryKey: TQueryKey;
|
|
35
|
+
state: QueryState<TData, TError>;
|
|
36
|
+
meta: QueryMeta | undefined;
|
|
37
|
+
}
|
|
38
|
+
export interface QueryBehavior<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> {
|
|
39
|
+
onFetch: (context: FetchContext<TQueryFnData, TError, TData, TQueryKey>) => void;
|
|
40
|
+
}
|
|
41
|
+
export interface FetchOptions {
|
|
42
|
+
cancelRefetch?: boolean;
|
|
43
|
+
meta?: any;
|
|
44
|
+
}
|
|
45
|
+
interface FailedAction {
|
|
46
|
+
type: 'failed';
|
|
47
|
+
}
|
|
48
|
+
interface FetchAction {
|
|
49
|
+
type: 'fetch';
|
|
50
|
+
meta?: any;
|
|
51
|
+
}
|
|
52
|
+
interface SuccessAction<TData> {
|
|
53
|
+
data: TData | undefined;
|
|
54
|
+
type: 'success';
|
|
55
|
+
dataUpdatedAt?: number;
|
|
56
|
+
manual?: boolean;
|
|
57
|
+
}
|
|
58
|
+
interface ErrorAction<TError> {
|
|
59
|
+
type: 'error';
|
|
60
|
+
error: TError;
|
|
61
|
+
}
|
|
62
|
+
interface InvalidateAction {
|
|
63
|
+
type: 'invalidate';
|
|
64
|
+
}
|
|
65
|
+
interface PauseAction {
|
|
66
|
+
type: 'pause';
|
|
67
|
+
}
|
|
68
|
+
interface ContinueAction {
|
|
69
|
+
type: 'continue';
|
|
70
|
+
}
|
|
71
|
+
interface SetStateAction<TData, TError> {
|
|
72
|
+
type: 'setState';
|
|
73
|
+
state: QueryState<TData, TError>;
|
|
74
|
+
setStateOptions?: SetStateOptions;
|
|
75
|
+
}
|
|
76
|
+
export declare type Action<TData, TError> = ContinueAction | ErrorAction<TError> | FailedAction | FetchAction | InvalidateAction | PauseAction | SetStateAction<TData, TError> | SuccessAction<TData>;
|
|
77
|
+
export interface SetStateOptions {
|
|
78
|
+
meta?: any;
|
|
79
|
+
}
|
|
80
|
+
export declare class Query<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends Removable {
|
|
81
|
+
queryKey: TQueryKey;
|
|
82
|
+
queryHash: string;
|
|
83
|
+
options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>;
|
|
84
|
+
initialState: QueryState<TData, TError>;
|
|
85
|
+
revertState?: QueryState<TData, TError>;
|
|
86
|
+
state: QueryState<TData, TError>;
|
|
87
|
+
meta: QueryMeta | undefined;
|
|
88
|
+
isFetchingOptimistic?: boolean;
|
|
89
|
+
private cache;
|
|
90
|
+
private logger;
|
|
91
|
+
private promise?;
|
|
92
|
+
private retryer?;
|
|
93
|
+
private observers;
|
|
94
|
+
private defaultOptions?;
|
|
95
|
+
private abortSignalConsumed;
|
|
96
|
+
constructor(config: QueryConfig<TQueryFnData, TError, TData, TQueryKey>);
|
|
97
|
+
private setOptions;
|
|
98
|
+
protected optionalRemove(): void;
|
|
99
|
+
setData(newData: TData, options?: SetDataOptions & {
|
|
100
|
+
manual: boolean;
|
|
101
|
+
}): TData;
|
|
102
|
+
setState(state: QueryState<TData, TError>, setStateOptions?: SetStateOptions): void;
|
|
103
|
+
cancel(options?: CancelOptions): Promise<void>;
|
|
104
|
+
destroy(): void;
|
|
105
|
+
reset(): void;
|
|
106
|
+
isActive(): boolean;
|
|
107
|
+
isDisabled(): boolean;
|
|
108
|
+
isStale(): boolean;
|
|
109
|
+
isStaleByTime(staleTime?: number): boolean;
|
|
110
|
+
onFocus(): void;
|
|
111
|
+
onOnline(): void;
|
|
112
|
+
addObserver(observer: QueryObserver<any, any, any, any, any>): void;
|
|
113
|
+
removeObserver(observer: QueryObserver<any, any, any, any, any>): void;
|
|
114
|
+
getObserversCount(): number;
|
|
115
|
+
invalidate(): void;
|
|
116
|
+
fetch(options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>, fetchOptions?: FetchOptions): Promise<TData>;
|
|
117
|
+
private dispatch;
|
|
118
|
+
}
|
|
119
|
+
export {};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { QueryFilters } from './utils';
|
|
2
|
+
import { Action, Query, QueryState } from './query';
|
|
3
|
+
import type { QueryKey, QueryOptions } from './types';
|
|
4
|
+
import type { QueryClient } from './queryClient';
|
|
5
|
+
import { Subscribable } from './subscribable';
|
|
6
|
+
import { QueryObserver } from './queryObserver';
|
|
7
|
+
interface QueryCacheConfig {
|
|
8
|
+
onError?: (error: unknown, query: Query<unknown, unknown, unknown>) => void;
|
|
9
|
+
onSuccess?: (data: unknown, query: Query<unknown, unknown, unknown>) => void;
|
|
10
|
+
}
|
|
11
|
+
interface NotifyEventQueryAdded {
|
|
12
|
+
type: 'added';
|
|
13
|
+
query: Query<any, any, any, any>;
|
|
14
|
+
}
|
|
15
|
+
interface NotifyEventQueryRemoved {
|
|
16
|
+
type: 'removed';
|
|
17
|
+
query: Query<any, any, any, any>;
|
|
18
|
+
}
|
|
19
|
+
interface NotifyEventQueryUpdated {
|
|
20
|
+
type: 'updated';
|
|
21
|
+
query: Query<any, any, any, any>;
|
|
22
|
+
action: Action<any, any>;
|
|
23
|
+
}
|
|
24
|
+
interface NotifyEventQueryObserverAdded {
|
|
25
|
+
type: 'observerAdded';
|
|
26
|
+
query: Query<any, any, any, any>;
|
|
27
|
+
observer: QueryObserver<any, any, any, any, any>;
|
|
28
|
+
}
|
|
29
|
+
interface NotifyEventQueryObserverRemoved {
|
|
30
|
+
type: 'observerRemoved';
|
|
31
|
+
query: Query<any, any, any, any>;
|
|
32
|
+
observer: QueryObserver<any, any, any, any, any>;
|
|
33
|
+
}
|
|
34
|
+
interface NotifyEventQueryObserverResultsUpdated {
|
|
35
|
+
type: 'observerResultsUpdated';
|
|
36
|
+
query: Query<any, any, any, any>;
|
|
37
|
+
}
|
|
38
|
+
declare type QueryCacheNotifyEvent = NotifyEventQueryAdded | NotifyEventQueryRemoved | NotifyEventQueryUpdated | NotifyEventQueryObserverAdded | NotifyEventQueryObserverRemoved | NotifyEventQueryObserverResultsUpdated;
|
|
39
|
+
declare type QueryCacheListener = (event: QueryCacheNotifyEvent) => void;
|
|
40
|
+
export declare class QueryCache extends Subscribable<QueryCacheListener> {
|
|
41
|
+
config: QueryCacheConfig;
|
|
42
|
+
private queries;
|
|
43
|
+
private queriesMap;
|
|
44
|
+
constructor(config?: QueryCacheConfig);
|
|
45
|
+
build<TQueryFnData, TError, TData, TQueryKey extends QueryKey>(client: QueryClient, options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>, state?: QueryState<TData, TError>): Query<TQueryFnData, TError, TData, TQueryKey>;
|
|
46
|
+
add(query: Query<any, any, any, any>): void;
|
|
47
|
+
remove(query: Query<any, any, any, any>): void;
|
|
48
|
+
clear(): void;
|
|
49
|
+
get<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueyKey extends QueryKey = QueryKey>(queryHash: string): Query<TQueryFnData, TError, TData, TQueyKey> | undefined;
|
|
50
|
+
getAll(): Query[];
|
|
51
|
+
find<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData>(arg1: QueryKey, arg2?: QueryFilters): Query<TQueryFnData, TError, TData> | undefined;
|
|
52
|
+
findAll(queryKey?: QueryKey, filters?: QueryFilters): Query[];
|
|
53
|
+
findAll(filters?: QueryFilters): Query[];
|
|
54
|
+
findAll(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): Query[];
|
|
55
|
+
notify(event: QueryCacheNotifyEvent): void;
|
|
56
|
+
onFocus(): void;
|
|
57
|
+
onOnline(): void;
|
|
58
|
+
}
|
|
59
|
+
export {};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { QueryFilters, Updater, MutationFilters } from './utils';
|
|
2
|
+
import type { QueryClientConfig, DefaultOptions, FetchInfiniteQueryOptions, FetchQueryOptions, InfiniteData, InvalidateOptions, InvalidateQueryFilters, MutationKey, MutationObserverOptions, MutationOptions, QueryFunction, QueryKey, QueryObserverOptions, RefetchOptions, RefetchQueryFilters, ResetOptions, ResetQueryFilters, SetDataOptions } from './types';
|
|
3
|
+
import type { QueryState } from './query';
|
|
4
|
+
import { QueryCache } from './queryCache';
|
|
5
|
+
import { MutationCache } from './mutationCache';
|
|
6
|
+
import { CancelOptions, DefaultedQueryObserverOptions } from './types';
|
|
7
|
+
import { Logger } from './logger';
|
|
8
|
+
export declare class QueryClient {
|
|
9
|
+
private queryCache;
|
|
10
|
+
private mutationCache;
|
|
11
|
+
private logger;
|
|
12
|
+
private defaultOptions;
|
|
13
|
+
private queryDefaults;
|
|
14
|
+
private mutationDefaults;
|
|
15
|
+
private unsubscribeFocus?;
|
|
16
|
+
private unsubscribeOnline?;
|
|
17
|
+
constructor(config?: QueryClientConfig);
|
|
18
|
+
mount(): void;
|
|
19
|
+
unmount(): void;
|
|
20
|
+
isFetching(filters?: QueryFilters): number;
|
|
21
|
+
isFetching(queryKey?: QueryKey, filters?: QueryFilters): number;
|
|
22
|
+
isMutating(filters?: MutationFilters): number;
|
|
23
|
+
getQueryData<TData = unknown>(queryKey: QueryKey, filters?: QueryFilters): TData | undefined;
|
|
24
|
+
getQueriesData<TData = unknown>(queryKey: QueryKey): [QueryKey, TData][];
|
|
25
|
+
getQueriesData<TData = unknown>(filters: QueryFilters): [QueryKey, TData][];
|
|
26
|
+
setQueryData<TData>(queryKey: QueryKey, updater: Updater<TData | undefined, TData | undefined>, options?: SetDataOptions): TData | undefined;
|
|
27
|
+
setQueriesData<TData>(queryKey: QueryKey, updater: Updater<TData | undefined, TData | undefined>, options?: SetDataOptions): [QueryKey, TData | undefined][];
|
|
28
|
+
setQueriesData<TData>(filters: QueryFilters, updater: Updater<TData | undefined, TData | undefined>, options?: SetDataOptions): [QueryKey, TData | undefined][];
|
|
29
|
+
getQueryState<TData = unknown, TError = undefined>(queryKey: QueryKey, filters?: QueryFilters): QueryState<TData, TError> | undefined;
|
|
30
|
+
removeQueries(filters?: QueryFilters): void;
|
|
31
|
+
removeQueries(queryKey?: QueryKey, filters?: QueryFilters): void;
|
|
32
|
+
resetQueries<TPageData = unknown>(filters?: ResetQueryFilters<TPageData>, options?: ResetOptions): Promise<void>;
|
|
33
|
+
resetQueries<TPageData = unknown>(queryKey?: QueryKey, filters?: ResetQueryFilters<TPageData>, options?: ResetOptions): Promise<void>;
|
|
34
|
+
cancelQueries(filters?: QueryFilters, options?: CancelOptions): Promise<void>;
|
|
35
|
+
cancelQueries(queryKey?: QueryKey, filters?: QueryFilters, options?: CancelOptions): Promise<void>;
|
|
36
|
+
invalidateQueries<TPageData = unknown>(filters?: InvalidateQueryFilters<TPageData>, options?: InvalidateOptions): Promise<void>;
|
|
37
|
+
invalidateQueries<TPageData = unknown>(queryKey?: QueryKey, filters?: InvalidateQueryFilters<TPageData>, options?: InvalidateOptions): Promise<void>;
|
|
38
|
+
refetchQueries<TPageData = unknown>(filters?: RefetchQueryFilters<TPageData>, options?: RefetchOptions): Promise<void>;
|
|
39
|
+
refetchQueries<TPageData = unknown>(queryKey?: QueryKey, filters?: RefetchQueryFilters<TPageData>, options?: RefetchOptions): Promise<void>;
|
|
40
|
+
fetchQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>): Promise<TData>;
|
|
41
|
+
fetchQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryKey: TQueryKey, options?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>): Promise<TData>;
|
|
42
|
+
fetchQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryKey: TQueryKey, queryFn: QueryFunction<TQueryFnData, TQueryKey>, options?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>): Promise<TData>;
|
|
43
|
+
prefetchQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>): Promise<void>;
|
|
44
|
+
prefetchQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryKey: TQueryKey, options?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>): Promise<void>;
|
|
45
|
+
prefetchQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryKey: TQueryKey, queryFn: QueryFunction<TQueryFnData, TQueryKey>, options?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>): Promise<void>;
|
|
46
|
+
fetchInfiniteQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>): Promise<InfiniteData<TData>>;
|
|
47
|
+
fetchInfiniteQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryKey: TQueryKey, options?: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>): Promise<InfiniteData<TData>>;
|
|
48
|
+
fetchInfiniteQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryKey: TQueryKey, queryFn: QueryFunction<TQueryFnData, TQueryKey>, options?: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>): Promise<InfiniteData<TData>>;
|
|
49
|
+
prefetchInfiniteQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>): Promise<void>;
|
|
50
|
+
prefetchInfiniteQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryKey: TQueryKey, options?: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>): Promise<void>;
|
|
51
|
+
prefetchInfiniteQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryKey: TQueryKey, queryFn: QueryFunction<TQueryFnData, TQueryKey>, options?: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>): Promise<void>;
|
|
52
|
+
resumePausedMutations(): Promise<void>;
|
|
53
|
+
getQueryCache(): QueryCache;
|
|
54
|
+
getMutationCache(): MutationCache;
|
|
55
|
+
getLogger(): Logger;
|
|
56
|
+
getDefaultOptions(): DefaultOptions;
|
|
57
|
+
setDefaultOptions(options: DefaultOptions): void;
|
|
58
|
+
setQueryDefaults(queryKey: QueryKey, options: QueryObserverOptions<unknown, any, any, any>): void;
|
|
59
|
+
getQueryDefaults(queryKey?: QueryKey): QueryObserverOptions<any, any, any, any, any> | undefined;
|
|
60
|
+
setMutationDefaults(mutationKey: MutationKey, options: MutationObserverOptions<any, any, any, any>): void;
|
|
61
|
+
getMutationDefaults(mutationKey?: MutationKey): MutationObserverOptions<any, any, any, any> | undefined;
|
|
62
|
+
defaultQueryOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey extends QueryKey>(options?: QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey> | DefaultedQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>): DefaultedQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>;
|
|
63
|
+
defaultMutationOptions<T extends MutationOptions<any, any, any, any>>(options?: T): T;
|
|
64
|
+
clear(): void;
|
|
65
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { DefaultedQueryObserverOptions, RefetchPageFilters } from './types';
|
|
2
|
+
import type { QueryKey, QueryObserverOptions, QueryObserverResult, RefetchOptions } from './types';
|
|
3
|
+
import type { Query, Action, FetchOptions } from './query';
|
|
4
|
+
import type { QueryClient } from './queryClient';
|
|
5
|
+
import { Subscribable } from './subscribable';
|
|
6
|
+
declare type QueryObserverListener<TData, TError> = (result: QueryObserverResult<TData, TError>) => void;
|
|
7
|
+
export interface NotifyOptions {
|
|
8
|
+
cache?: boolean;
|
|
9
|
+
listeners?: boolean;
|
|
10
|
+
onError?: boolean;
|
|
11
|
+
onSuccess?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface ObserverFetchOptions extends FetchOptions {
|
|
14
|
+
throwOnError?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare class QueryObserver<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends Subscribable<QueryObserverListener<TData, TError>> {
|
|
17
|
+
options: QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>;
|
|
18
|
+
private client;
|
|
19
|
+
private currentQuery;
|
|
20
|
+
private currentQueryInitialState;
|
|
21
|
+
private currentResult;
|
|
22
|
+
private currentResultState?;
|
|
23
|
+
private currentResultOptions?;
|
|
24
|
+
private previousQueryResult?;
|
|
25
|
+
private selectError;
|
|
26
|
+
private selectFn?;
|
|
27
|
+
private selectResult?;
|
|
28
|
+
private staleTimeoutId?;
|
|
29
|
+
private refetchIntervalId?;
|
|
30
|
+
private currentRefetchInterval?;
|
|
31
|
+
private trackedProps;
|
|
32
|
+
constructor(client: QueryClient, options: QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>);
|
|
33
|
+
protected bindMethods(): void;
|
|
34
|
+
protected onSubscribe(): void;
|
|
35
|
+
protected onUnsubscribe(): void;
|
|
36
|
+
shouldFetchOnReconnect(): boolean;
|
|
37
|
+
shouldFetchOnWindowFocus(): boolean;
|
|
38
|
+
destroy(): void;
|
|
39
|
+
setOptions(options?: QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>, notifyOptions?: NotifyOptions): void;
|
|
40
|
+
getOptimisticResult(options: DefaultedQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>): QueryObserverResult<TData, TError>;
|
|
41
|
+
getCurrentResult(): QueryObserverResult<TData, TError>;
|
|
42
|
+
trackResult(result: QueryObserverResult<TData, TError>): QueryObserverResult<TData, TError>;
|
|
43
|
+
getCurrentQuery(): Query<TQueryFnData, TError, TQueryData, TQueryKey>;
|
|
44
|
+
remove(): void;
|
|
45
|
+
refetch<TPageData>({ refetchPage, ...options }?: RefetchOptions & RefetchPageFilters<TPageData>): Promise<QueryObserverResult<TData, TError>>;
|
|
46
|
+
fetchOptimistic(options: QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>): Promise<QueryObserverResult<TData, TError>>;
|
|
47
|
+
protected fetch(fetchOptions: ObserverFetchOptions): Promise<QueryObserverResult<TData, TError>>;
|
|
48
|
+
private executeFetch;
|
|
49
|
+
private updateStaleTimeout;
|
|
50
|
+
private computeRefetchInterval;
|
|
51
|
+
private updateRefetchInterval;
|
|
52
|
+
private updateTimers;
|
|
53
|
+
private clearStaleTimeout;
|
|
54
|
+
private clearRefetchInterval;
|
|
55
|
+
protected createResult(query: Query<TQueryFnData, TError, TQueryData, TQueryKey>, options: QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>): QueryObserverResult<TData, TError>;
|
|
56
|
+
updateResult(notifyOptions?: NotifyOptions): void;
|
|
57
|
+
private updateQuery;
|
|
58
|
+
onQueryUpdate(action: Action<TData, TError>): void;
|
|
59
|
+
private notify;
|
|
60
|
+
}
|
|
61
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare abstract class Removable {
|
|
2
|
+
cacheTime: number;
|
|
3
|
+
private gcTimeout?;
|
|
4
|
+
destroy(): void;
|
|
5
|
+
protected scheduleGc(): void;
|
|
6
|
+
protected updateCacheTime(newCacheTime: number | undefined): void;
|
|
7
|
+
protected clearGcTimeout(): void;
|
|
8
|
+
protected abstract optionalRemove(): void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { CancelOptions, NetworkMode } from './types';
|
|
2
|
+
interface RetryerConfig<TData = unknown, TError = unknown> {
|
|
3
|
+
fn: () => TData | Promise<TData>;
|
|
4
|
+
abort?: () => void;
|
|
5
|
+
onError?: (error: TError) => void;
|
|
6
|
+
onSuccess?: (data: TData) => void;
|
|
7
|
+
onFail?: (failureCount: number, error: TError) => void;
|
|
8
|
+
onPause?: () => void;
|
|
9
|
+
onContinue?: () => void;
|
|
10
|
+
retry?: RetryValue<TError>;
|
|
11
|
+
retryDelay?: RetryDelayValue<TError>;
|
|
12
|
+
networkMode: NetworkMode | undefined;
|
|
13
|
+
}
|
|
14
|
+
export interface Retryer<TData = unknown> {
|
|
15
|
+
promise: Promise<TData>;
|
|
16
|
+
cancel: (cancelOptions?: CancelOptions) => void;
|
|
17
|
+
continue: () => void;
|
|
18
|
+
cancelRetry: () => void;
|
|
19
|
+
continueRetry: () => void;
|
|
20
|
+
}
|
|
21
|
+
export declare type RetryValue<TError> = boolean | number | ShouldRetryFunction<TError>;
|
|
22
|
+
declare type ShouldRetryFunction<TError> = (failureCount: number, error: TError) => boolean;
|
|
23
|
+
export declare type RetryDelayValue<TError> = number | RetryDelayFunction<TError>;
|
|
24
|
+
declare type RetryDelayFunction<TError = unknown> = (failureCount: number, error: TError) => number;
|
|
25
|
+
export declare function canFetch(networkMode: NetworkMode | undefined): boolean;
|
|
26
|
+
export declare class CancelledError {
|
|
27
|
+
revert?: boolean;
|
|
28
|
+
silent?: boolean;
|
|
29
|
+
constructor(options?: CancelOptions);
|
|
30
|
+
}
|
|
31
|
+
export declare function isCancelledError(value: any): value is CancelledError;
|
|
32
|
+
export declare function createRetryer<TData = unknown, TError = unknown>(config: RetryerConfig<TData, TError>): Retryer<TData>;
|
|
33
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
declare type Listener = () => void;
|
|
2
|
+
export declare class Subscribable<TListener extends Function = Listener> {
|
|
3
|
+
protected listeners: TListener[];
|
|
4
|
+
constructor();
|
|
5
|
+
subscribe(listener: TListener): () => void;
|
|
6
|
+
hasListeners(): boolean;
|
|
7
|
+
protected onSubscribe(): void;
|
|
8
|
+
protected onUnsubscribe(): void;
|
|
9
|
+
}
|
|
10
|
+
export {};
|