@tanstack/query-core 4.1.3 → 4.3.0-beta.0
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/{types/packages/query-core/src → lib}/focusManager.d.ts +0 -0
- package/build/{types/packages/query-core/src → lib}/hydration.d.ts +0 -0
- package/build/{types/packages/query-core/src → lib}/index.d.ts +2 -2
- package/build/lib/index.js +3115 -0
- package/build/lib/index.js.map +1 -0
- package/build/{esm/index.js → lib/index.mjs} +3 -1
- package/build/lib/index.mjs.map +1 -0
- package/build/{types/packages/query-core/src → lib}/infiniteQueryBehavior.d.ts +0 -0
- package/build/{types/packages/query-core/src → lib}/infiniteQueryObserver.d.ts +0 -0
- package/build/{types/packages/query-core/src → lib}/logger.d.ts +0 -0
- package/build/{types/packages/query-core/src → lib}/logger.native.d.ts +0 -0
- package/build/{types/packages/query-core/src → lib}/mutation.d.ts +0 -0
- package/build/{types/packages/query-core/src → lib}/mutationCache.d.ts +0 -0
- package/build/{types/packages/query-core/src → lib}/mutationObserver.d.ts +0 -0
- package/build/{types/packages/query-core/src → lib}/notifyManager.d.ts +0 -0
- package/build/{types/packages/query-core/src → lib}/onlineManager.d.ts +0 -0
- package/build/{types/packages/query-core/src → lib}/queriesObserver.d.ts +0 -0
- package/build/{types/packages/query-core/src → lib}/query.d.ts +0 -0
- package/build/{types/packages/query-core/src → lib}/queryCache.d.ts +0 -0
- package/build/{types/packages/query-core/src → lib}/queryClient.d.ts +0 -0
- package/build/{types/packages/query-core/src → lib}/queryObserver.d.ts +0 -0
- package/build/{types/packages/query-core/src → lib}/removable.d.ts +0 -0
- package/build/{types/packages/query-core/src → lib}/retryer.d.ts +0 -0
- package/build/{types/packages/query-core/src → lib}/subscribable.d.ts +0 -0
- package/build/{types/packages/query-core/src → lib}/types.d.ts +2 -1
- package/build/{types/packages/query-core/src → lib}/utils.d.ts +0 -0
- package/build/umd/index.development.js +2 -0
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +1 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +16 -8
- package/src/index.ts +2 -2
- package/src/tests/queryClient.test.tsx +33 -0
- package/src/types.ts +4 -1
- package/src/utils.ts +2 -0
- package/build/cjs/focusManager.js +0 -101
- package/build/cjs/focusManager.js.map +0 -1
- package/build/cjs/hydration.js +0 -112
- package/build/cjs/hydration.js.map +0 -1
- package/build/cjs/index.js +0 -51
- package/build/cjs/index.js.map +0 -1
- package/build/cjs/infiniteQueryBehavior.js +0 -160
- package/build/cjs/infiniteQueryBehavior.js.map +0 -1
- package/build/cjs/infiniteQueryObserver.js +0 -92
- package/build/cjs/infiniteQueryObserver.js.map +0 -1
- package/build/cjs/logger.js +0 -18
- package/build/cjs/logger.js.map +0 -1
- package/build/cjs/mutation.js +0 -258
- package/build/cjs/mutation.js.map +0 -1
- package/build/cjs/mutationCache.js +0 -99
- package/build/cjs/mutationCache.js.map +0 -1
- package/build/cjs/mutationObserver.js +0 -140
- package/build/cjs/mutationObserver.js.map +0 -1
- package/build/cjs/notifyManager.js +0 -114
- package/build/cjs/notifyManager.js.map +0 -1
- package/build/cjs/onlineManager.js +0 -100
- package/build/cjs/onlineManager.js.map +0 -1
- package/build/cjs/queriesObserver.js +0 -170
- package/build/cjs/queriesObserver.js.map +0 -1
- package/build/cjs/query.js +0 -474
- package/build/cjs/query.js.map +0 -1
- package/build/cjs/queryCache.js +0 -140
- package/build/cjs/queryCache.js.map +0 -1
- package/build/cjs/queryClient.js +0 -353
- package/build/cjs/queryClient.js.map +0 -1
- package/build/cjs/queryObserver.js +0 -529
- package/build/cjs/queryObserver.js.map +0 -1
- package/build/cjs/removable.js +0 -47
- package/build/cjs/removable.js.map +0 -1
- package/build/cjs/retryer.js +0 -177
- package/build/cjs/retryer.js.map +0 -1
- package/build/cjs/subscribable.js +0 -43
- package/build/cjs/subscribable.js.map +0 -1
- package/build/cjs/utils.js +0 -356
- package/build/cjs/utils.js.map +0 -1
- package/build/esm/index.js.map +0 -1
- package/build/stats-html.html +0 -2689
- package/build/stats.json +0 -811
- package/build/types/packages/query-core/src/tests/focusManager.test.d.ts +0 -1
- package/build/types/packages/query-core/src/tests/hydration.test.d.ts +0 -1
- package/build/types/packages/query-core/src/tests/infiniteQueryBehavior.test.d.ts +0 -1
- package/build/types/packages/query-core/src/tests/infiniteQueryObserver.test.d.ts +0 -1
- package/build/types/packages/query-core/src/tests/mutationCache.test.d.ts +0 -1
- package/build/types/packages/query-core/src/tests/mutationObserver.test.d.ts +0 -1
- package/build/types/packages/query-core/src/tests/mutations.test.d.ts +0 -1
- package/build/types/packages/query-core/src/tests/notifyManager.test.d.ts +0 -1
- package/build/types/packages/query-core/src/tests/onlineManager.test.d.ts +0 -1
- package/build/types/packages/query-core/src/tests/queriesObserver.test.d.ts +0 -1
- package/build/types/packages/query-core/src/tests/query.test.d.ts +0 -1
- package/build/types/packages/query-core/src/tests/queryCache.test.d.ts +0 -1
- package/build/types/packages/query-core/src/tests/queryClient.test.d.ts +0 -1
- package/build/types/packages/query-core/src/tests/queryObserver.test.d.ts +0 -1
- package/build/types/packages/query-core/src/tests/utils.test.d.ts +0 -1
- package/build/types/tests/utils.d.ts +0 -24
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"queryCache.js","sources":["../../src/queryCache.ts"],"sourcesContent":["import {\n QueryFilters,\n hashQueryKeyByOptions,\n matchQuery,\n parseFilterArgs,\n} from './utils'\nimport { Action, Query, QueryState } from './query'\nimport type { QueryKey, QueryOptions } from './types'\nimport { notifyManager } from './notifyManager'\nimport type { QueryClient } from './queryClient'\nimport { Subscribable } from './subscribable'\nimport { QueryObserver } from './queryObserver'\n\n// TYPES\n\ninterface QueryCacheConfig {\n onError?: (error: unknown, query: Query<unknown, unknown, unknown>) => void\n onSuccess?: (data: unknown, query: Query<unknown, unknown, unknown>) => void\n}\n\ninterface QueryHashMap {\n [hash: string]: Query<any, any, any, any>\n}\n\ninterface NotifyEventQueryAdded {\n type: 'added'\n query: Query<any, any, any, any>\n}\n\ninterface NotifyEventQueryRemoved {\n type: 'removed'\n query: Query<any, any, any, any>\n}\n\ninterface NotifyEventQueryUpdated {\n type: 'updated'\n query: Query<any, any, any, any>\n action: Action<any, any>\n}\n\ninterface NotifyEventQueryObserverAdded {\n type: 'observerAdded'\n query: Query<any, any, any, any>\n observer: QueryObserver<any, any, any, any, any>\n}\n\ninterface NotifyEventQueryObserverRemoved {\n type: 'observerRemoved'\n query: Query<any, any, any, any>\n observer: QueryObserver<any, any, any, any, any>\n}\n\ninterface NotifyEventQueryObserverResultsUpdated {\n type: 'observerResultsUpdated'\n query: Query<any, any, any, any>\n}\n\ninterface NotifyEventQueryObserverOptionsUpdated {\n type: 'observerOptionsUpdated'\n query: Query<any, any, any, any>\n observer: QueryObserver<any, any, any, any, any>\n}\n\ntype QueryCacheNotifyEvent =\n | NotifyEventQueryAdded\n | NotifyEventQueryRemoved\n | NotifyEventQueryUpdated\n | NotifyEventQueryObserverAdded\n | NotifyEventQueryObserverRemoved\n | NotifyEventQueryObserverResultsUpdated\n | NotifyEventQueryObserverOptionsUpdated\n\ntype QueryCacheListener = (event: QueryCacheNotifyEvent) => void\n\n// CLASS\n\nexport class QueryCache extends Subscribable<QueryCacheListener> {\n config: QueryCacheConfig\n\n private queries: Query<any, any, any, any>[]\n private queriesMap: QueryHashMap\n\n constructor(config?: QueryCacheConfig) {\n super()\n this.config = config || {}\n this.queries = []\n this.queriesMap = {}\n }\n\n build<TQueryFnData, TError, TData, TQueryKey extends QueryKey>(\n client: QueryClient,\n options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n state?: QueryState<TData, TError>,\n ): Query<TQueryFnData, TError, TData, TQueryKey> {\n const queryKey = options.queryKey!\n const queryHash =\n options.queryHash ?? hashQueryKeyByOptions(queryKey, options)\n let query = this.get<TQueryFnData, TError, TData, TQueryKey>(queryHash)\n\n if (!query) {\n query = new Query({\n cache: this,\n logger: client.getLogger(),\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey),\n meta: options.meta,\n })\n this.add(query)\n }\n\n return query\n }\n\n add(query: Query<any, any, any, any>): void {\n if (!this.queriesMap[query.queryHash]) {\n this.queriesMap[query.queryHash] = query\n this.queries.push(query)\n this.notify({\n type: 'added',\n query,\n })\n }\n }\n\n remove(query: Query<any, any, any, any>): void {\n const queryInMap = this.queriesMap[query.queryHash]\n\n if (queryInMap) {\n query.destroy()\n\n this.queries = this.queries.filter((x) => x !== query)\n\n if (queryInMap === query) {\n delete this.queriesMap[query.queryHash]\n }\n\n this.notify({ type: 'removed', query })\n }\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.queries.forEach((query) => {\n this.remove(query)\n })\n })\n }\n\n get<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueyKey extends QueryKey = QueryKey,\n >(\n queryHash: string,\n ): Query<TQueryFnData, TError, TData, TQueyKey> | undefined {\n return this.queriesMap[queryHash]\n }\n\n getAll(): Query[] {\n return this.queries\n }\n\n find<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData>(\n arg1: QueryKey,\n arg2?: QueryFilters,\n ): Query<TQueryFnData, TError, TData> | undefined {\n const [filters] = parseFilterArgs(arg1, arg2)\n\n if (typeof filters.exact === 'undefined') {\n filters.exact = true\n }\n\n return this.queries.find((query) => matchQuery(filters, query))\n }\n\n findAll(queryKey?: QueryKey, filters?: QueryFilters): Query[]\n findAll(filters?: QueryFilters): Query[]\n findAll(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): Query[]\n findAll(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): Query[] {\n const [filters] = parseFilterArgs(arg1, arg2)\n return Object.keys(filters).length > 0\n ? this.queries.filter((query) => matchQuery(filters, query))\n : this.queries\n }\n\n notify(event: QueryCacheNotifyEvent) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event)\n })\n })\n }\n\n onFocus(): void {\n notifyManager.batch(() => {\n this.queries.forEach((query) => {\n query.onFocus()\n })\n })\n }\n\n onOnline(): void {\n notifyManager.batch(() => {\n this.queries.forEach((query) => {\n query.onOnline()\n })\n })\n }\n}\n"],"names":["QueryCache","Subscribable","constructor","config","queries","queriesMap","build","client","options","state","queryKey","queryHash","hashQueryKeyByOptions","query","get","Query","cache","logger","getLogger","defaultQueryOptions","defaultOptions","getQueryDefaults","meta","add","push","notify","type","remove","queryInMap","destroy","filter","x","clear","notifyManager","batch","forEach","getAll","find","arg1","arg2","filters","parseFilterArgs","exact","matchQuery","findAll","Object","keys","length","event","listeners","listener","onFocus","onOnline"],"mappings":"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"}
|
package/build/cjs/queryClient.js
DELETED
|
@@ -1,353 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* query-core
|
|
3
|
-
*
|
|
4
|
-
* Copyright (c) TanStack
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
-
*
|
|
9
|
-
* @license MIT
|
|
10
|
-
*/
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
|
-
|
|
15
|
-
var utils = require('./utils.js');
|
|
16
|
-
var queryCache = require('./queryCache.js');
|
|
17
|
-
var mutationCache = require('./mutationCache.js');
|
|
18
|
-
var focusManager = require('./focusManager.js');
|
|
19
|
-
var onlineManager = require('./onlineManager.js');
|
|
20
|
-
var notifyManager = require('./notifyManager.js');
|
|
21
|
-
var infiniteQueryBehavior = require('./infiniteQueryBehavior.js');
|
|
22
|
-
var logger = require('./logger.js');
|
|
23
|
-
|
|
24
|
-
// CLASS
|
|
25
|
-
class QueryClient {
|
|
26
|
-
constructor(config = {}) {
|
|
27
|
-
this.queryCache = config.queryCache || new queryCache.QueryCache();
|
|
28
|
-
this.mutationCache = config.mutationCache || new mutationCache.MutationCache();
|
|
29
|
-
this.logger = config.logger || logger.defaultLogger;
|
|
30
|
-
this.defaultOptions = config.defaultOptions || {};
|
|
31
|
-
this.queryDefaults = [];
|
|
32
|
-
this.mutationDefaults = [];
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
mount() {
|
|
36
|
-
this.unsubscribeFocus = focusManager.focusManager.subscribe(() => {
|
|
37
|
-
if (focusManager.focusManager.isFocused()) {
|
|
38
|
-
this.resumePausedMutations();
|
|
39
|
-
this.queryCache.onFocus();
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
this.unsubscribeOnline = onlineManager.onlineManager.subscribe(() => {
|
|
43
|
-
if (onlineManager.onlineManager.isOnline()) {
|
|
44
|
-
this.resumePausedMutations();
|
|
45
|
-
this.queryCache.onOnline();
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
unmount() {
|
|
51
|
-
var _this$unsubscribeFocu, _this$unsubscribeOnli;
|
|
52
|
-
|
|
53
|
-
(_this$unsubscribeFocu = this.unsubscribeFocus) == null ? void 0 : _this$unsubscribeFocu.call(this);
|
|
54
|
-
(_this$unsubscribeOnli = this.unsubscribeOnline) == null ? void 0 : _this$unsubscribeOnli.call(this);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
isFetching(arg1, arg2) {
|
|
58
|
-
const [filters] = utils.parseFilterArgs(arg1, arg2);
|
|
59
|
-
filters.fetchStatus = 'fetching';
|
|
60
|
-
return this.queryCache.findAll(filters).length;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
isMutating(filters) {
|
|
64
|
-
return this.mutationCache.findAll({ ...filters,
|
|
65
|
-
fetching: true
|
|
66
|
-
}).length;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
getQueryData(queryKey, filters) {
|
|
70
|
-
var _this$queryCache$find;
|
|
71
|
-
|
|
72
|
-
return (_this$queryCache$find = this.queryCache.find(queryKey, filters)) == null ? void 0 : _this$queryCache$find.state.data;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
getQueriesData(queryKeyOrFilters) {
|
|
76
|
-
return this.getQueryCache().findAll(queryKeyOrFilters).map(({
|
|
77
|
-
queryKey,
|
|
78
|
-
state
|
|
79
|
-
}) => {
|
|
80
|
-
const data = state.data;
|
|
81
|
-
return [queryKey, data];
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
setQueryData(queryKey, updater, options) {
|
|
86
|
-
const query = this.queryCache.find(queryKey);
|
|
87
|
-
const prevData = query == null ? void 0 : query.state.data;
|
|
88
|
-
const data = utils.functionalUpdate(updater, prevData);
|
|
89
|
-
|
|
90
|
-
if (typeof data === 'undefined') {
|
|
91
|
-
return undefined;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
const parsedOptions = utils.parseQueryArgs(queryKey);
|
|
95
|
-
const defaultedOptions = this.defaultQueryOptions(parsedOptions);
|
|
96
|
-
return this.queryCache.build(this, defaultedOptions).setData(data, { ...options,
|
|
97
|
-
manual: true
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
setQueriesData(queryKeyOrFilters, updater, options) {
|
|
102
|
-
return notifyManager.notifyManager.batch(() => this.getQueryCache().findAll(queryKeyOrFilters).map(({
|
|
103
|
-
queryKey
|
|
104
|
-
}) => [queryKey, this.setQueryData(queryKey, updater, options)]));
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
getQueryState(queryKey, filters) {
|
|
108
|
-
var _this$queryCache$find2;
|
|
109
|
-
|
|
110
|
-
return (_this$queryCache$find2 = this.queryCache.find(queryKey, filters)) == null ? void 0 : _this$queryCache$find2.state;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
removeQueries(arg1, arg2) {
|
|
114
|
-
const [filters] = utils.parseFilterArgs(arg1, arg2);
|
|
115
|
-
const queryCache = this.queryCache;
|
|
116
|
-
notifyManager.notifyManager.batch(() => {
|
|
117
|
-
queryCache.findAll(filters).forEach(query => {
|
|
118
|
-
queryCache.remove(query);
|
|
119
|
-
});
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
resetQueries(arg1, arg2, arg3) {
|
|
124
|
-
const [filters, options] = utils.parseFilterArgs(arg1, arg2, arg3);
|
|
125
|
-
const queryCache = this.queryCache;
|
|
126
|
-
const refetchFilters = {
|
|
127
|
-
type: 'active',
|
|
128
|
-
...filters
|
|
129
|
-
};
|
|
130
|
-
return notifyManager.notifyManager.batch(() => {
|
|
131
|
-
queryCache.findAll(filters).forEach(query => {
|
|
132
|
-
query.reset();
|
|
133
|
-
});
|
|
134
|
-
return this.refetchQueries(refetchFilters, options);
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
cancelQueries(arg1, arg2, arg3) {
|
|
139
|
-
const [filters, cancelOptions = {}] = utils.parseFilterArgs(arg1, arg2, arg3);
|
|
140
|
-
|
|
141
|
-
if (typeof cancelOptions.revert === 'undefined') {
|
|
142
|
-
cancelOptions.revert = true;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
const promises = notifyManager.notifyManager.batch(() => this.queryCache.findAll(filters).map(query => query.cancel(cancelOptions)));
|
|
146
|
-
return Promise.all(promises).then(utils.noop).catch(utils.noop);
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
invalidateQueries(arg1, arg2, arg3) {
|
|
150
|
-
const [filters, options] = utils.parseFilterArgs(arg1, arg2, arg3);
|
|
151
|
-
return notifyManager.notifyManager.batch(() => {
|
|
152
|
-
var _ref, _filters$refetchType;
|
|
153
|
-
|
|
154
|
-
this.queryCache.findAll(filters).forEach(query => {
|
|
155
|
-
query.invalidate();
|
|
156
|
-
});
|
|
157
|
-
|
|
158
|
-
if (filters.refetchType === 'none') {
|
|
159
|
-
return Promise.resolve();
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
const refetchFilters = { ...filters,
|
|
163
|
-
type: (_ref = (_filters$refetchType = filters.refetchType) != null ? _filters$refetchType : filters.type) != null ? _ref : 'active'
|
|
164
|
-
};
|
|
165
|
-
return this.refetchQueries(refetchFilters, options);
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
refetchQueries(arg1, arg2, arg3) {
|
|
170
|
-
const [filters, options] = utils.parseFilterArgs(arg1, arg2, arg3);
|
|
171
|
-
const promises = notifyManager.notifyManager.batch(() => this.queryCache.findAll(filters).filter(query => !query.isDisabled()).map(query => {
|
|
172
|
-
var _options$cancelRefetc;
|
|
173
|
-
|
|
174
|
-
return query.fetch(undefined, { ...options,
|
|
175
|
-
cancelRefetch: (_options$cancelRefetc = options == null ? void 0 : options.cancelRefetch) != null ? _options$cancelRefetc : true,
|
|
176
|
-
meta: {
|
|
177
|
-
refetchPage: filters.refetchPage
|
|
178
|
-
}
|
|
179
|
-
});
|
|
180
|
-
}));
|
|
181
|
-
let promise = Promise.all(promises).then(utils.noop);
|
|
182
|
-
|
|
183
|
-
if (!(options != null && options.throwOnError)) {
|
|
184
|
-
promise = promise.catch(utils.noop);
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
return promise;
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
fetchQuery(arg1, arg2, arg3) {
|
|
191
|
-
const parsedOptions = utils.parseQueryArgs(arg1, arg2, arg3);
|
|
192
|
-
const defaultedOptions = this.defaultQueryOptions(parsedOptions); // https://github.com/tannerlinsley/react-query/issues/652
|
|
193
|
-
|
|
194
|
-
if (typeof defaultedOptions.retry === 'undefined') {
|
|
195
|
-
defaultedOptions.retry = false;
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
const query = this.queryCache.build(this, defaultedOptions);
|
|
199
|
-
return query.isStaleByTime(defaultedOptions.staleTime) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
prefetchQuery(arg1, arg2, arg3) {
|
|
203
|
-
return this.fetchQuery(arg1, arg2, arg3).then(utils.noop).catch(utils.noop);
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
fetchInfiniteQuery(arg1, arg2, arg3) {
|
|
207
|
-
const parsedOptions = utils.parseQueryArgs(arg1, arg2, arg3);
|
|
208
|
-
parsedOptions.behavior = infiniteQueryBehavior.infiniteQueryBehavior();
|
|
209
|
-
return this.fetchQuery(parsedOptions);
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
prefetchInfiniteQuery(arg1, arg2, arg3) {
|
|
213
|
-
return this.fetchInfiniteQuery(arg1, arg2, arg3).then(utils.noop).catch(utils.noop);
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
resumePausedMutations() {
|
|
217
|
-
return this.mutationCache.resumePausedMutations();
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
getQueryCache() {
|
|
221
|
-
return this.queryCache;
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
getMutationCache() {
|
|
225
|
-
return this.mutationCache;
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
getLogger() {
|
|
229
|
-
return this.logger;
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
getDefaultOptions() {
|
|
233
|
-
return this.defaultOptions;
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
setDefaultOptions(options) {
|
|
237
|
-
this.defaultOptions = options;
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
setQueryDefaults(queryKey, options) {
|
|
241
|
-
const result = this.queryDefaults.find(x => utils.hashQueryKey(queryKey) === utils.hashQueryKey(x.queryKey));
|
|
242
|
-
|
|
243
|
-
if (result) {
|
|
244
|
-
result.defaultOptions = options;
|
|
245
|
-
} else {
|
|
246
|
-
this.queryDefaults.push({
|
|
247
|
-
queryKey,
|
|
248
|
-
defaultOptions: options
|
|
249
|
-
});
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
getQueryDefaults(queryKey) {
|
|
254
|
-
if (!queryKey) {
|
|
255
|
-
return undefined;
|
|
256
|
-
} // Get the first matching defaults
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
const firstMatchingDefaults = this.queryDefaults.find(x => utils.partialMatchKey(queryKey, x.queryKey)); // Additional checks and error in dev mode
|
|
260
|
-
|
|
261
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
262
|
-
// Retrieve all matching defaults for the given key
|
|
263
|
-
const matchingDefaults = this.queryDefaults.filter(x => utils.partialMatchKey(queryKey, x.queryKey)); // It is ok not having defaults, but it is error prone to have more than 1 default for a given key
|
|
264
|
-
|
|
265
|
-
if (matchingDefaults.length > 1) {
|
|
266
|
-
this.logger.error("[QueryClient] Several query defaults match with key '" + JSON.stringify(queryKey) + "'. The first matching query defaults are used. Please check how query defaults are registered. Order does matter here. cf. https://react-query.tanstack.com/reference/QueryClient#queryclientsetquerydefaults.");
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
return firstMatchingDefaults == null ? void 0 : firstMatchingDefaults.defaultOptions;
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
setMutationDefaults(mutationKey, options) {
|
|
274
|
-
const result = this.mutationDefaults.find(x => utils.hashQueryKey(mutationKey) === utils.hashQueryKey(x.mutationKey));
|
|
275
|
-
|
|
276
|
-
if (result) {
|
|
277
|
-
result.defaultOptions = options;
|
|
278
|
-
} else {
|
|
279
|
-
this.mutationDefaults.push({
|
|
280
|
-
mutationKey,
|
|
281
|
-
defaultOptions: options
|
|
282
|
-
});
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
getMutationDefaults(mutationKey) {
|
|
287
|
-
if (!mutationKey) {
|
|
288
|
-
return undefined;
|
|
289
|
-
} // Get the first matching defaults
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
const firstMatchingDefaults = this.mutationDefaults.find(x => utils.partialMatchKey(mutationKey, x.mutationKey)); // Additional checks and error in dev mode
|
|
293
|
-
|
|
294
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
295
|
-
// Retrieve all matching defaults for the given key
|
|
296
|
-
const matchingDefaults = this.mutationDefaults.filter(x => utils.partialMatchKey(mutationKey, x.mutationKey)); // It is ok not having defaults, but it is error prone to have more than 1 default for a given key
|
|
297
|
-
|
|
298
|
-
if (matchingDefaults.length > 1) {
|
|
299
|
-
this.logger.error("[QueryClient] Several mutation defaults match with key '" + JSON.stringify(mutationKey) + "'. The first matching mutation defaults are used. Please check how mutation defaults are registered. Order does matter here. cf. https://react-query.tanstack.com/reference/QueryClient#queryclientsetmutationdefaults.");
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
|
|
303
|
-
return firstMatchingDefaults == null ? void 0 : firstMatchingDefaults.defaultOptions;
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
defaultQueryOptions(options) {
|
|
307
|
-
if (options != null && options._defaulted) {
|
|
308
|
-
return options;
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
const defaultedOptions = { ...this.defaultOptions.queries,
|
|
312
|
-
...this.getQueryDefaults(options == null ? void 0 : options.queryKey),
|
|
313
|
-
...options,
|
|
314
|
-
_defaulted: true
|
|
315
|
-
};
|
|
316
|
-
|
|
317
|
-
if (!defaultedOptions.queryHash && defaultedOptions.queryKey) {
|
|
318
|
-
defaultedOptions.queryHash = utils.hashQueryKeyByOptions(defaultedOptions.queryKey, defaultedOptions);
|
|
319
|
-
} // dependent default values
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
if (typeof defaultedOptions.refetchOnReconnect === 'undefined') {
|
|
323
|
-
defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== 'always';
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
if (typeof defaultedOptions.useErrorBoundary === 'undefined') {
|
|
327
|
-
defaultedOptions.useErrorBoundary = !!defaultedOptions.suspense;
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
return defaultedOptions;
|
|
331
|
-
}
|
|
332
|
-
|
|
333
|
-
defaultMutationOptions(options) {
|
|
334
|
-
if (options != null && options._defaulted) {
|
|
335
|
-
return options;
|
|
336
|
-
}
|
|
337
|
-
|
|
338
|
-
return { ...this.defaultOptions.mutations,
|
|
339
|
-
...this.getMutationDefaults(options == null ? void 0 : options.mutationKey),
|
|
340
|
-
...options,
|
|
341
|
-
_defaulted: true
|
|
342
|
-
};
|
|
343
|
-
}
|
|
344
|
-
|
|
345
|
-
clear() {
|
|
346
|
-
this.queryCache.clear();
|
|
347
|
-
this.mutationCache.clear();
|
|
348
|
-
}
|
|
349
|
-
|
|
350
|
-
}
|
|
351
|
-
|
|
352
|
-
exports.QueryClient = QueryClient;
|
|
353
|
-
//# sourceMappingURL=queryClient.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"queryClient.js","sources":["../../src/queryClient.ts"],"sourcesContent":["import {\n QueryFilters,\n Updater,\n hashQueryKey,\n noop,\n parseFilterArgs,\n parseQueryArgs,\n partialMatchKey,\n hashQueryKeyByOptions,\n MutationFilters,\n functionalUpdate,\n} from './utils'\nimport type {\n QueryClientConfig,\n DefaultOptions,\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n InfiniteData,\n InvalidateOptions,\n InvalidateQueryFilters,\n MutationKey,\n MutationObserverOptions,\n MutationOptions,\n QueryFunction,\n QueryKey,\n QueryObserverOptions,\n QueryOptions,\n RefetchOptions,\n RefetchQueryFilters,\n ResetOptions,\n ResetQueryFilters,\n SetDataOptions,\n} from './types'\nimport type { QueryState } from './query'\nimport { QueryCache } from './queryCache'\nimport { MutationCache } from './mutationCache'\nimport { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { notifyManager } from './notifyManager'\nimport { infiniteQueryBehavior } from './infiniteQueryBehavior'\nimport { CancelOptions, DefaultedQueryObserverOptions } from './types'\nimport { defaultLogger, Logger } from './logger'\n\n// TYPES\n\ninterface QueryDefaults {\n queryKey: QueryKey\n defaultOptions: QueryOptions<any, any, any>\n}\n\ninterface MutationDefaults {\n mutationKey: MutationKey\n defaultOptions: MutationOptions<any, any, any, any>\n}\n\n// CLASS\n\nexport class QueryClient {\n private queryCache: QueryCache\n private mutationCache: MutationCache\n private logger: Logger\n private defaultOptions: DefaultOptions\n private queryDefaults: QueryDefaults[]\n private mutationDefaults: MutationDefaults[]\n private unsubscribeFocus?: () => void\n private unsubscribeOnline?: () => void\n\n constructor(config: QueryClientConfig = {}) {\n this.queryCache = config.queryCache || new QueryCache()\n this.mutationCache = config.mutationCache || new MutationCache()\n this.logger = config.logger || defaultLogger\n this.defaultOptions = config.defaultOptions || {}\n this.queryDefaults = []\n this.mutationDefaults = []\n }\n\n mount(): void {\n this.unsubscribeFocus = focusManager.subscribe(() => {\n if (focusManager.isFocused()) {\n this.resumePausedMutations()\n this.queryCache.onFocus()\n }\n })\n this.unsubscribeOnline = onlineManager.subscribe(() => {\n if (onlineManager.isOnline()) {\n this.resumePausedMutations()\n this.queryCache.onOnline()\n }\n })\n }\n\n unmount(): void {\n this.unsubscribeFocus?.()\n this.unsubscribeOnline?.()\n }\n\n isFetching(filters?: QueryFilters): number\n isFetching(queryKey?: QueryKey, filters?: QueryFilters): number\n isFetching(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): number {\n const [filters] = parseFilterArgs(arg1, arg2)\n filters.fetchStatus = 'fetching'\n return this.queryCache.findAll(filters).length\n }\n\n isMutating(filters?: MutationFilters): number {\n return this.mutationCache.findAll({ ...filters, fetching: true }).length\n }\n\n getQueryData<TData = unknown>(\n queryKey: QueryKey,\n filters?: QueryFilters,\n ): TData | undefined {\n return this.queryCache.find<TData>(queryKey, filters)?.state.data\n }\n\n getQueriesData<TData = unknown>(queryKey: QueryKey): [QueryKey, TData][]\n getQueriesData<TData = unknown>(filters: QueryFilters): [QueryKey, TData][]\n getQueriesData<TData = unknown>(\n queryKeyOrFilters: QueryKey | QueryFilters,\n ): [QueryKey, TData][] {\n return this.getQueryCache()\n .findAll(queryKeyOrFilters)\n .map(({ queryKey, state }) => {\n const data = state.data as TData\n return [queryKey, data]\n })\n }\n\n setQueryData<TData>(\n queryKey: QueryKey,\n updater: Updater<TData | undefined, TData | undefined>,\n options?: SetDataOptions,\n ): TData | undefined {\n const query = this.queryCache.find<TData>(queryKey)\n const prevData = query?.state.data\n const data = functionalUpdate(updater, prevData)\n\n if (typeof data === 'undefined') {\n return undefined\n }\n\n const parsedOptions = parseQueryArgs(queryKey)\n const defaultedOptions = this.defaultQueryOptions(parsedOptions)\n return this.queryCache\n .build(this, defaultedOptions)\n .setData(data, { ...options, manual: true })\n }\n\n setQueriesData<TData>(\n queryKey: QueryKey,\n updater: Updater<TData | undefined, TData | undefined>,\n options?: SetDataOptions,\n ): [QueryKey, TData | undefined][]\n\n setQueriesData<TData>(\n filters: QueryFilters,\n updater: Updater<TData | undefined, TData | undefined>,\n options?: SetDataOptions,\n ): [QueryKey, TData | undefined][]\n\n setQueriesData<TData>(\n queryKeyOrFilters: QueryKey | QueryFilters,\n updater: Updater<TData | undefined, TData | undefined>,\n options?: SetDataOptions,\n ): [QueryKey, TData | undefined][] {\n return notifyManager.batch(() =>\n this.getQueryCache()\n .findAll(queryKeyOrFilters)\n .map(({ queryKey }) => [\n queryKey,\n this.setQueryData<TData>(queryKey, updater, options),\n ]),\n )\n }\n\n getQueryState<TData = unknown, TError = undefined>(\n queryKey: QueryKey,\n filters?: QueryFilters,\n ): QueryState<TData, TError> | undefined {\n return this.queryCache.find<TData, TError>(queryKey, filters)?.state\n }\n\n removeQueries(filters?: QueryFilters): void\n removeQueries(queryKey?: QueryKey, filters?: QueryFilters): void\n removeQueries(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): void {\n const [filters] = parseFilterArgs(arg1, arg2)\n const queryCache = this.queryCache\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query)\n })\n })\n }\n\n resetQueries<TPageData = unknown>(\n filters?: ResetQueryFilters<TPageData>,\n options?: ResetOptions,\n ): Promise<void>\n resetQueries<TPageData = unknown>(\n queryKey?: QueryKey,\n filters?: ResetQueryFilters<TPageData>,\n options?: ResetOptions,\n ): Promise<void>\n resetQueries(\n arg1?: QueryKey | ResetQueryFilters,\n arg2?: ResetQueryFilters | ResetOptions,\n arg3?: ResetOptions,\n ): Promise<void> {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3)\n const queryCache = this.queryCache\n\n const refetchFilters: RefetchQueryFilters = {\n type: 'active',\n ...filters,\n }\n\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n query.reset()\n })\n return this.refetchQueries(refetchFilters, options)\n })\n }\n\n cancelQueries(filters?: QueryFilters, options?: CancelOptions): Promise<void>\n cancelQueries(\n queryKey?: QueryKey,\n filters?: QueryFilters,\n options?: CancelOptions,\n ): Promise<void>\n cancelQueries(\n arg1?: QueryKey | QueryFilters,\n arg2?: QueryFilters | CancelOptions,\n arg3?: CancelOptions,\n ): Promise<void> {\n const [filters, cancelOptions = {}] = parseFilterArgs(arg1, arg2, arg3)\n\n if (typeof cancelOptions.revert === 'undefined') {\n cancelOptions.revert = true\n }\n\n const promises = notifyManager.batch(() =>\n this.queryCache\n .findAll(filters)\n .map((query) => query.cancel(cancelOptions)),\n )\n\n return Promise.all(promises).then(noop).catch(noop)\n }\n\n invalidateQueries<TPageData = unknown>(\n filters?: InvalidateQueryFilters<TPageData>,\n options?: InvalidateOptions,\n ): Promise<void>\n invalidateQueries<TPageData = unknown>(\n queryKey?: QueryKey,\n filters?: InvalidateQueryFilters<TPageData>,\n options?: InvalidateOptions,\n ): Promise<void>\n invalidateQueries(\n arg1?: QueryKey | InvalidateQueryFilters,\n arg2?: InvalidateQueryFilters | InvalidateOptions,\n arg3?: InvalidateOptions,\n ): Promise<void> {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3)\n\n return notifyManager.batch(() => {\n this.queryCache.findAll(filters).forEach((query) => {\n query.invalidate()\n })\n\n if (filters.refetchType === 'none') {\n return Promise.resolve()\n }\n const refetchFilters: RefetchQueryFilters = {\n ...filters,\n type: filters.refetchType ?? filters.type ?? 'active',\n }\n return this.refetchQueries(refetchFilters, options)\n })\n }\n\n refetchQueries<TPageData = unknown>(\n filters?: RefetchQueryFilters<TPageData>,\n options?: RefetchOptions,\n ): Promise<void>\n refetchQueries<TPageData = unknown>(\n queryKey?: QueryKey,\n filters?: RefetchQueryFilters<TPageData>,\n options?: RefetchOptions,\n ): Promise<void>\n refetchQueries(\n arg1?: QueryKey | RefetchQueryFilters,\n arg2?: RefetchQueryFilters | RefetchOptions,\n arg3?: RefetchOptions,\n ): Promise<void> {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3)\n\n const promises = notifyManager.batch(() =>\n this.queryCache\n .findAll(filters)\n .filter((query) => !query.isDisabled())\n .map((query) =>\n query.fetch(undefined, {\n ...options,\n cancelRefetch: options?.cancelRefetch ?? true,\n meta: { refetchPage: filters.refetchPage },\n }),\n ),\n )\n\n let promise = Promise.all(promises).then(noop)\n\n if (!options?.throwOnError) {\n promise = promise.catch(noop)\n }\n\n return promise\n }\n\n fetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<TData>\n fetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<TData>\n fetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction<TQueryFnData, TQueryKey>,\n options?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<TData>\n fetchQuery<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1: TQueryKey | FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n arg2?:\n | QueryFunction<TQueryFnData, TQueryKey>\n | FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n arg3?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<TData> {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3)\n const defaultedOptions = this.defaultQueryOptions(parsedOptions)\n\n // https://github.com/tannerlinsley/react-query/issues/652\n if (typeof defaultedOptions.retry === 'undefined') {\n defaultedOptions.retry = false\n }\n\n const query = this.queryCache.build(this, defaultedOptions)\n\n return query.isStaleByTime(defaultedOptions.staleTime)\n ? query.fetch(defaultedOptions)\n : Promise.resolve(query.state.data as TData)\n }\n\n prefetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void>\n prefetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void>\n prefetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction<TQueryFnData, TQueryKey>,\n options?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void>\n prefetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1: TQueryKey | FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n arg2?:\n | QueryFunction<TQueryFnData, TQueryKey>\n | FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n arg3?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void> {\n return this.fetchQuery(arg1 as any, arg2 as any, arg3)\n .then(noop)\n .catch(noop)\n }\n\n fetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<InfiniteData<TData>>\n fetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<InfiniteData<TData>>\n fetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction<TQueryFnData, TQueryKey>,\n options?: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<InfiniteData<TData>>\n fetchInfiniteQuery<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1:\n | TQueryKey\n | FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n arg2?:\n | QueryFunction<TQueryFnData, TQueryKey>\n | FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n arg3?: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<InfiniteData<TData>> {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3)\n parsedOptions.behavior = infiniteQueryBehavior<\n TQueryFnData,\n TError,\n TData\n >()\n return this.fetchQuery(parsedOptions)\n }\n\n prefetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void>\n prefetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void>\n prefetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction<TQueryFnData, TQueryKey>,\n options?: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void>\n prefetchInfiniteQuery<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1:\n | TQueryKey\n | FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n arg2?:\n | QueryFunction<TQueryFnData, TQueryKey>\n | FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n arg3?: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void> {\n return this.fetchInfiniteQuery(arg1 as any, arg2 as any, arg3)\n .then(noop)\n .catch(noop)\n }\n\n resumePausedMutations(): Promise<void> {\n return this.mutationCache.resumePausedMutations()\n }\n\n getQueryCache(): QueryCache {\n return this.queryCache\n }\n\n getMutationCache(): MutationCache {\n return this.mutationCache\n }\n\n getLogger(): Logger {\n return this.logger\n }\n\n getDefaultOptions(): DefaultOptions {\n return this.defaultOptions\n }\n\n setDefaultOptions(options: DefaultOptions): void {\n this.defaultOptions = options\n }\n\n setQueryDefaults(\n queryKey: QueryKey,\n options: QueryObserverOptions<unknown, any, any, any>,\n ): void {\n const result = this.queryDefaults.find(\n (x) => hashQueryKey(queryKey) === hashQueryKey(x.queryKey),\n )\n if (result) {\n result.defaultOptions = options\n } else {\n this.queryDefaults.push({ queryKey, defaultOptions: options })\n }\n }\n\n getQueryDefaults(\n queryKey?: QueryKey,\n ): QueryObserverOptions<any, any, any, any, any> | undefined {\n if (!queryKey) {\n return undefined\n }\n\n // Get the first matching defaults\n const firstMatchingDefaults = this.queryDefaults.find((x) =>\n partialMatchKey(queryKey, x.queryKey),\n )\n\n // Additional checks and error in dev mode\n if (process.env.NODE_ENV !== 'production') {\n // Retrieve all matching defaults for the given key\n const matchingDefaults = this.queryDefaults.filter((x) =>\n partialMatchKey(queryKey, x.queryKey),\n )\n // It is ok not having defaults, but it is error prone to have more than 1 default for a given key\n if (matchingDefaults.length > 1) {\n this.logger.error(\n `[QueryClient] Several query defaults match with key '${JSON.stringify(\n queryKey,\n )}'. The first matching query defaults are used. Please check how query defaults are registered. Order does matter here. cf. https://react-query.tanstack.com/reference/QueryClient#queryclientsetquerydefaults.`,\n )\n }\n }\n\n return firstMatchingDefaults?.defaultOptions\n }\n\n setMutationDefaults(\n mutationKey: MutationKey,\n options: MutationObserverOptions<any, any, any, any>,\n ): void {\n const result = this.mutationDefaults.find(\n (x) => hashQueryKey(mutationKey) === hashQueryKey(x.mutationKey),\n )\n if (result) {\n result.defaultOptions = options\n } else {\n this.mutationDefaults.push({ mutationKey, defaultOptions: options })\n }\n }\n\n getMutationDefaults(\n mutationKey?: MutationKey,\n ): MutationObserverOptions<any, any, any, any> | undefined {\n if (!mutationKey) {\n return undefined\n }\n\n // Get the first matching defaults\n const firstMatchingDefaults = this.mutationDefaults.find((x) =>\n partialMatchKey(mutationKey, x.mutationKey),\n )\n\n // Additional checks and error in dev mode\n if (process.env.NODE_ENV !== 'production') {\n // Retrieve all matching defaults for the given key\n const matchingDefaults = this.mutationDefaults.filter((x) =>\n partialMatchKey(mutationKey, x.mutationKey),\n )\n // It is ok not having defaults, but it is error prone to have more than 1 default for a given key\n if (matchingDefaults.length > 1) {\n this.logger.error(\n `[QueryClient] Several mutation defaults match with key '${JSON.stringify(\n mutationKey,\n )}'. The first matching mutation defaults are used. Please check how mutation defaults are registered. Order does matter here. cf. https://react-query.tanstack.com/reference/QueryClient#queryclientsetmutationdefaults.`,\n )\n }\n }\n\n return firstMatchingDefaults?.defaultOptions\n }\n\n defaultQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n >(\n options?:\n | QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n | DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n > {\n if (options?._defaulted) {\n return options as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n const defaultedOptions = {\n ...this.defaultOptions.queries,\n ...this.getQueryDefaults(options?.queryKey),\n ...options,\n _defaulted: true,\n }\n\n if (!defaultedOptions.queryHash && defaultedOptions.queryKey) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions,\n )\n }\n\n // dependent default values\n if (typeof defaultedOptions.refetchOnReconnect === 'undefined') {\n defaultedOptions.refetchOnReconnect =\n defaultedOptions.networkMode !== 'always'\n }\n if (typeof defaultedOptions.useErrorBoundary === 'undefined') {\n defaultedOptions.useErrorBoundary = !!defaultedOptions.suspense\n }\n\n return defaultedOptions as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n defaultMutationOptions<T extends MutationOptions<any, any, any, any>>(\n options?: T,\n ): T {\n if (options?._defaulted) {\n return options\n }\n return {\n ...this.defaultOptions.mutations,\n ...this.getMutationDefaults(options?.mutationKey),\n ...options,\n _defaulted: true,\n } as T\n }\n\n clear(): void {\n this.queryCache.clear()\n this.mutationCache.clear()\n }\n}\n"],"names":["QueryClient","constructor","config","queryCache","QueryCache","mutationCache","MutationCache","logger","defaultLogger","defaultOptions","queryDefaults","mutationDefaults","mount","unsubscribeFocus","focusManager","subscribe","isFocused","resumePausedMutations","onFocus","unsubscribeOnline","onlineManager","isOnline","onOnline","unmount","isFetching","arg1","arg2","filters","parseFilterArgs","fetchStatus","findAll","length","isMutating","fetching","getQueryData","queryKey","find","state","data","getQueriesData","queryKeyOrFilters","getQueryCache","map","setQueryData","updater","options","query","prevData","functionalUpdate","undefined","parsedOptions","parseQueryArgs","defaultedOptions","defaultQueryOptions","build","setData","manual","setQueriesData","notifyManager","batch","getQueryState","removeQueries","forEach","remove","resetQueries","arg3","refetchFilters","type","reset","refetchQueries","cancelQueries","cancelOptions","revert","promises","cancel","Promise","all","then","noop","catch","invalidateQueries","invalidate","refetchType","resolve","filter","isDisabled","fetch","cancelRefetch","meta","refetchPage","promise","throwOnError","fetchQuery","retry","isStaleByTime","staleTime","prefetchQuery","fetchInfiniteQuery","behavior","infiniteQueryBehavior","prefetchInfiniteQuery","getMutationCache","getLogger","getDefaultOptions","setDefaultOptions","setQueryDefaults","result","x","hashQueryKey","push","getQueryDefaults","firstMatchingDefaults","partialMatchKey","process","env","NODE_ENV","matchingDefaults","error","JSON","stringify","setMutationDefaults","mutationKey","getMutationDefaults","_defaulted","queries","queryHash","hashQueryKeyByOptions","refetchOnReconnect","networkMode","useErrorBoundary","suspense","defaultMutationOptions","mutations","clear"],"mappings":"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"}
|