@tanstack/query-core 4.0.10 → 4.0.11-beta.4

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.
Files changed (100) hide show
  1. package/build/{types/packages/query-core/src → lib}/focusManager.d.ts +0 -0
  2. package/build/{types/packages/query-core/src → lib}/hydration.d.ts +0 -0
  3. package/build/{types/packages/query-core/src → lib}/index.d.ts +2 -2
  4. package/build/lib/index.js +3115 -0
  5. package/build/lib/index.js.map +1 -0
  6. package/build/{esm/index.js → lib/index.mjs} +22 -7
  7. package/build/lib/index.mjs.map +1 -0
  8. package/build/{types/packages/query-core/src → lib}/infiniteQueryBehavior.d.ts +0 -0
  9. package/build/{types/packages/query-core/src → lib}/infiniteQueryObserver.d.ts +0 -0
  10. package/build/{types/packages/query-core/src → lib}/logger.d.ts +0 -0
  11. package/build/{types/packages/query-core/src → lib}/logger.native.d.ts +0 -0
  12. package/build/{types/packages/query-core/src → lib}/mutation.d.ts +0 -0
  13. package/build/{types/packages/query-core/src → lib}/mutationCache.d.ts +6 -1
  14. package/build/{types/packages/query-core/src → lib}/mutationObserver.d.ts +0 -0
  15. package/build/{types/packages/query-core/src → lib}/notifyManager.d.ts +0 -0
  16. package/build/{types/packages/query-core/src → lib}/onlineManager.d.ts +0 -0
  17. package/build/{types/packages/query-core/src → lib}/queriesObserver.d.ts +0 -0
  18. package/build/{types/packages/query-core/src → lib}/query.d.ts +0 -0
  19. package/build/{types/packages/query-core/src → lib}/queryCache.d.ts +6 -1
  20. package/build/{types/packages/query-core/src → lib}/queryClient.d.ts +0 -0
  21. package/build/{types/packages/query-core/src → lib}/queryObserver.d.ts +0 -0
  22. package/build/{types/packages/query-core/src → lib}/removable.d.ts +0 -0
  23. package/build/{types/packages/query-core/src → lib}/retryer.d.ts +0 -0
  24. package/build/{types/packages/query-core/src → lib}/subscribable.d.ts +0 -0
  25. package/build/{types/packages/query-core/src → lib}/types.d.ts +10 -8
  26. package/build/{types/packages/query-core/src → lib}/utils.d.ts +0 -0
  27. package/build/umd/index.development.js +21 -6
  28. package/build/umd/index.development.js.map +1 -1
  29. package/build/umd/index.production.js +1 -1
  30. package/build/umd/index.production.js.map +1 -1
  31. package/package.json +16 -8
  32. package/src/index.ts +2 -2
  33. package/src/mutationCache.ts +7 -0
  34. package/src/mutationObserver.ts +9 -0
  35. package/src/queryCache.ts +7 -0
  36. package/src/queryClient.ts +10 -14
  37. package/src/queryObserver.ts +8 -0
  38. package/src/tests/queryClient.test.tsx +33 -0
  39. package/src/tests/queryObserver.test.tsx +19 -0
  40. package/src/types.ts +15 -9
  41. package/src/utils.ts +2 -0
  42. package/build/cjs/focusManager.js +0 -101
  43. package/build/cjs/focusManager.js.map +0 -1
  44. package/build/cjs/hydration.js +0 -112
  45. package/build/cjs/hydration.js.map +0 -1
  46. package/build/cjs/index.js +0 -51
  47. package/build/cjs/index.js.map +0 -1
  48. package/build/cjs/infiniteQueryBehavior.js +0 -160
  49. package/build/cjs/infiniteQueryBehavior.js.map +0 -1
  50. package/build/cjs/infiniteQueryObserver.js +0 -92
  51. package/build/cjs/infiniteQueryObserver.js.map +0 -1
  52. package/build/cjs/logger.js +0 -18
  53. package/build/cjs/logger.js.map +0 -1
  54. package/build/cjs/mutation.js +0 -258
  55. package/build/cjs/mutation.js.map +0 -1
  56. package/build/cjs/mutationCache.js +0 -99
  57. package/build/cjs/mutationCache.js.map +0 -1
  58. package/build/cjs/mutationObserver.js +0 -130
  59. package/build/cjs/mutationObserver.js.map +0 -1
  60. package/build/cjs/notifyManager.js +0 -114
  61. package/build/cjs/notifyManager.js.map +0 -1
  62. package/build/cjs/onlineManager.js +0 -100
  63. package/build/cjs/onlineManager.js.map +0 -1
  64. package/build/cjs/queriesObserver.js +0 -170
  65. package/build/cjs/queriesObserver.js.map +0 -1
  66. package/build/cjs/query.js +0 -474
  67. package/build/cjs/query.js.map +0 -1
  68. package/build/cjs/queryCache.js +0 -140
  69. package/build/cjs/queryCache.js.map +0 -1
  70. package/build/cjs/queryClient.js +0 -357
  71. package/build/cjs/queryClient.js.map +0 -1
  72. package/build/cjs/queryObserver.js +0 -521
  73. package/build/cjs/queryObserver.js.map +0 -1
  74. package/build/cjs/removable.js +0 -47
  75. package/build/cjs/removable.js.map +0 -1
  76. package/build/cjs/retryer.js +0 -177
  77. package/build/cjs/retryer.js.map +0 -1
  78. package/build/cjs/subscribable.js +0 -43
  79. package/build/cjs/subscribable.js.map +0 -1
  80. package/build/cjs/utils.js +0 -356
  81. package/build/cjs/utils.js.map +0 -1
  82. package/build/esm/index.js.map +0 -1
  83. package/build/stats-html.html +0 -2689
  84. package/build/stats.json +0 -805
  85. package/build/types/packages/query-core/src/tests/focusManager.test.d.ts +0 -1
  86. package/build/types/packages/query-core/src/tests/hydration.test.d.ts +0 -1
  87. package/build/types/packages/query-core/src/tests/infiniteQueryBehavior.test.d.ts +0 -1
  88. package/build/types/packages/query-core/src/tests/infiniteQueryObserver.test.d.ts +0 -1
  89. package/build/types/packages/query-core/src/tests/mutationCache.test.d.ts +0 -1
  90. package/build/types/packages/query-core/src/tests/mutationObserver.test.d.ts +0 -1
  91. package/build/types/packages/query-core/src/tests/mutations.test.d.ts +0 -1
  92. package/build/types/packages/query-core/src/tests/notifyManager.test.d.ts +0 -1
  93. package/build/types/packages/query-core/src/tests/onlineManager.test.d.ts +0 -1
  94. package/build/types/packages/query-core/src/tests/queriesObserver.test.d.ts +0 -1
  95. package/build/types/packages/query-core/src/tests/query.test.d.ts +0 -1
  96. package/build/types/packages/query-core/src/tests/queryCache.test.d.ts +0 -1
  97. package/build/types/packages/query-core/src/tests/queryClient.test.d.ts +0 -1
  98. package/build/types/packages/query-core/src/tests/queryObserver.test.d.ts +0 -1
  99. package/build/types/packages/query-core/src/tests/utils.test.d.ts +0 -1
  100. package/build/types/tests/utils.d.ts +0 -24
@@ -1,140 +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 query = require('./query.js');
17
- var notifyManager = require('./notifyManager.js');
18
- var subscribable = require('./subscribable.js');
19
-
20
- // CLASS
21
- class QueryCache extends subscribable.Subscribable {
22
- constructor(config) {
23
- super();
24
- this.config = config || {};
25
- this.queries = [];
26
- this.queriesMap = {};
27
- }
28
-
29
- build(client, options, state) {
30
- var _options$queryHash;
31
-
32
- const queryKey = options.queryKey;
33
- const queryHash = (_options$queryHash = options.queryHash) != null ? _options$queryHash : utils.hashQueryKeyByOptions(queryKey, options);
34
- let query$1 = this.get(queryHash);
35
-
36
- if (!query$1) {
37
- query$1 = new query.Query({
38
- cache: this,
39
- logger: client.getLogger(),
40
- queryKey,
41
- queryHash,
42
- options: client.defaultQueryOptions(options),
43
- state,
44
- defaultOptions: client.getQueryDefaults(queryKey),
45
- meta: options.meta
46
- });
47
- this.add(query$1);
48
- }
49
-
50
- return query$1;
51
- }
52
-
53
- add(query) {
54
- if (!this.queriesMap[query.queryHash]) {
55
- this.queriesMap[query.queryHash] = query;
56
- this.queries.push(query);
57
- this.notify({
58
- type: 'added',
59
- query
60
- });
61
- }
62
- }
63
-
64
- remove(query) {
65
- const queryInMap = this.queriesMap[query.queryHash];
66
-
67
- if (queryInMap) {
68
- query.destroy();
69
- this.queries = this.queries.filter(x => x !== query);
70
-
71
- if (queryInMap === query) {
72
- delete this.queriesMap[query.queryHash];
73
- }
74
-
75
- this.notify({
76
- type: 'removed',
77
- query
78
- });
79
- }
80
- }
81
-
82
- clear() {
83
- notifyManager.notifyManager.batch(() => {
84
- this.queries.forEach(query => {
85
- this.remove(query);
86
- });
87
- });
88
- }
89
-
90
- get(queryHash) {
91
- return this.queriesMap[queryHash];
92
- }
93
-
94
- getAll() {
95
- return this.queries;
96
- }
97
-
98
- find(arg1, arg2) {
99
- const [filters] = utils.parseFilterArgs(arg1, arg2);
100
-
101
- if (typeof filters.exact === 'undefined') {
102
- filters.exact = true;
103
- }
104
-
105
- return this.queries.find(query => utils.matchQuery(filters, query));
106
- }
107
-
108
- findAll(arg1, arg2) {
109
- const [filters] = utils.parseFilterArgs(arg1, arg2);
110
- return Object.keys(filters).length > 0 ? this.queries.filter(query => utils.matchQuery(filters, query)) : this.queries;
111
- }
112
-
113
- notify(event) {
114
- notifyManager.notifyManager.batch(() => {
115
- this.listeners.forEach(listener => {
116
- listener(event);
117
- });
118
- });
119
- }
120
-
121
- onFocus() {
122
- notifyManager.notifyManager.batch(() => {
123
- this.queries.forEach(query => {
124
- query.onFocus();
125
- });
126
- });
127
- }
128
-
129
- onOnline() {
130
- notifyManager.notifyManager.batch(() => {
131
- this.queries.forEach(query => {
132
- query.onOnline();
133
- });
134
- });
135
- }
136
-
137
- }
138
-
139
- exports.QueryCache = QueryCache;
140
- //# sourceMappingURL=queryCache.js.map
@@ -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\ntype QueryCacheNotifyEvent =\n | NotifyEventQueryAdded\n | NotifyEventQueryRemoved\n | NotifyEventQueryUpdated\n | NotifyEventQueryObserverAdded\n | NotifyEventQueryObserverRemoved\n | NotifyEventQueryObserverResultsUpdated\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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"}
@@ -1,357 +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
- if (process.env.NODE_ENV !== 'production') {
267
- 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.");
268
- }
269
- }
270
- }
271
-
272
- return firstMatchingDefaults == null ? void 0 : firstMatchingDefaults.defaultOptions;
273
- }
274
-
275
- setMutationDefaults(mutationKey, options) {
276
- const result = this.mutationDefaults.find(x => utils.hashQueryKey(mutationKey) === utils.hashQueryKey(x.mutationKey));
277
-
278
- if (result) {
279
- result.defaultOptions = options;
280
- } else {
281
- this.mutationDefaults.push({
282
- mutationKey,
283
- defaultOptions: options
284
- });
285
- }
286
- }
287
-
288
- getMutationDefaults(mutationKey) {
289
- if (!mutationKey) {
290
- return undefined;
291
- } // Get the first matching defaults
292
-
293
-
294
- const firstMatchingDefaults = this.mutationDefaults.find(x => utils.partialMatchKey(mutationKey, x.mutationKey)); // Additional checks and error in dev mode
295
-
296
- if (process.env.NODE_ENV !== 'production') {
297
- // Retrieve all matching defaults for the given key
298
- 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
299
-
300
- if (matchingDefaults.length > 1) {
301
- if (process.env.NODE_ENV !== 'production') {
302
- 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.");
303
- }
304
- }
305
- }
306
-
307
- return firstMatchingDefaults == null ? void 0 : firstMatchingDefaults.defaultOptions;
308
- }
309
-
310
- defaultQueryOptions(options) {
311
- if (options != null && options._defaulted) {
312
- return options;
313
- }
314
-
315
- const defaultedOptions = { ...this.defaultOptions.queries,
316
- ...this.getQueryDefaults(options == null ? void 0 : options.queryKey),
317
- ...options,
318
- _defaulted: true
319
- };
320
-
321
- if (!defaultedOptions.queryHash && defaultedOptions.queryKey) {
322
- defaultedOptions.queryHash = utils.hashQueryKeyByOptions(defaultedOptions.queryKey, defaultedOptions);
323
- } // dependent default values
324
-
325
-
326
- if (typeof defaultedOptions.refetchOnReconnect === 'undefined') {
327
- defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== 'always';
328
- }
329
-
330
- if (typeof defaultedOptions.useErrorBoundary === 'undefined') {
331
- defaultedOptions.useErrorBoundary = !!defaultedOptions.suspense;
332
- }
333
-
334
- return defaultedOptions;
335
- }
336
-
337
- defaultMutationOptions(options) {
338
- if (options != null && options._defaulted) {
339
- return options;
340
- }
341
-
342
- return { ...this.defaultOptions.mutations,
343
- ...this.getMutationDefaults(options == null ? void 0 : options.mutationKey),
344
- ...options,
345
- _defaulted: true
346
- };
347
- }
348
-
349
- clear() {
350
- this.queryCache.clear();
351
- this.mutationCache.clear();
352
- }
353
-
354
- }
355
-
356
- exports.QueryClient = QueryClient;
357
- //# 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 if (process.env.NODE_ENV !== 'production') {\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\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 if (process.env.NODE_ENV !== 'production') {\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\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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"}