@tanstack/query-core 5.91.2 → 5.94.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 (295) hide show
  1. package/package.json +1 -1
  2. package/build/legacy/_tsup-dts-rollup.d.cts +0 -2229
  3. package/build/legacy/_tsup-dts-rollup.d.ts +0 -2229
  4. package/build/legacy/chunk-PXG64RU4.js +0 -25
  5. package/build/legacy/chunk-PXG64RU4.js.map +0 -1
  6. package/build/legacy/environmentManager.cjs +0 -48
  7. package/build/legacy/environmentManager.cjs.map +0 -1
  8. package/build/legacy/environmentManager.d.cts +0 -2
  9. package/build/legacy/environmentManager.d.ts +0 -2
  10. package/build/legacy/environmentManager.js +0 -25
  11. package/build/legacy/environmentManager.js.map +0 -1
  12. package/build/legacy/focusManager.cjs +0 -107
  13. package/build/legacy/focusManager.cjs.map +0 -1
  14. package/build/legacy/focusManager.d.cts +0 -2
  15. package/build/legacy/focusManager.d.ts +0 -2
  16. package/build/legacy/focusManager.js +0 -80
  17. package/build/legacy/focusManager.js.map +0 -1
  18. package/build/legacy/hydration.cjs +0 -178
  19. package/build/legacy/hydration.cjs.map +0 -1
  20. package/build/legacy/hydration.d.cts +0 -7
  21. package/build/legacy/hydration.d.ts +0 -7
  22. package/build/legacy/hydration.js +0 -152
  23. package/build/legacy/hydration.js.map +0 -1
  24. package/build/legacy/index.cjs +0 -113
  25. package/build/legacy/index.cjs.map +0 -1
  26. package/build/legacy/index.d.cts +0 -142
  27. package/build/legacy/index.d.ts +0 -142
  28. package/build/legacy/index.js +0 -75
  29. package/build/legacy/index.js.map +0 -1
  30. package/build/legacy/infiniteQueryBehavior.cjs +0 -146
  31. package/build/legacy/infiniteQueryBehavior.cjs.map +0 -1
  32. package/build/legacy/infiniteQueryBehavior.d.cts +0 -3
  33. package/build/legacy/infiniteQueryBehavior.d.ts +0 -3
  34. package/build/legacy/infiniteQueryBehavior.js +0 -126
  35. package/build/legacy/infiniteQueryBehavior.js.map +0 -1
  36. package/build/legacy/infiniteQueryObserver.cjs +0 -93
  37. package/build/legacy/infiniteQueryObserver.cjs.map +0 -1
  38. package/build/legacy/infiniteQueryObserver.d.cts +0 -1
  39. package/build/legacy/infiniteQueryObserver.d.ts +0 -1
  40. package/build/legacy/infiniteQueryObserver.js +0 -74
  41. package/build/legacy/infiniteQueryObserver.js.map +0 -1
  42. package/build/legacy/mutation.cjs +0 -333
  43. package/build/legacy/mutation.cjs.map +0 -1
  44. package/build/legacy/mutation.d.cts +0 -4
  45. package/build/legacy/mutation.d.ts +0 -4
  46. package/build/legacy/mutation.js +0 -306
  47. package/build/legacy/mutation.js.map +0 -1
  48. package/build/legacy/mutationCache.cjs +0 -170
  49. package/build/legacy/mutationCache.cjs.map +0 -1
  50. package/build/legacy/mutationCache.d.cts +0 -2
  51. package/build/legacy/mutationCache.d.ts +0 -2
  52. package/build/legacy/mutationCache.js +0 -137
  53. package/build/legacy/mutationCache.js.map +0 -1
  54. package/build/legacy/mutationObserver.cjs +0 -190
  55. package/build/legacy/mutationObserver.cjs.map +0 -1
  56. package/build/legacy/mutationObserver.d.cts +0 -1
  57. package/build/legacy/mutationObserver.d.ts +0 -1
  58. package/build/legacy/mutationObserver.js +0 -164
  59. package/build/legacy/mutationObserver.js.map +0 -1
  60. package/build/legacy/notifyManager.cjs +0 -113
  61. package/build/legacy/notifyManager.cjs.map +0 -1
  62. package/build/legacy/notifyManager.d.cts +0 -3
  63. package/build/legacy/notifyManager.d.ts +0 -3
  64. package/build/legacy/notifyManager.js +0 -88
  65. package/build/legacy/notifyManager.js.map +0 -1
  66. package/build/legacy/onlineManager.cjs +0 -96
  67. package/build/legacy/onlineManager.cjs.map +0 -1
  68. package/build/legacy/onlineManager.d.cts +0 -2
  69. package/build/legacy/onlineManager.d.ts +0 -2
  70. package/build/legacy/onlineManager.js +0 -69
  71. package/build/legacy/onlineManager.js.map +0 -1
  72. package/build/legacy/queriesObserver.cjs +0 -260
  73. package/build/legacy/queriesObserver.cjs.map +0 -1
  74. package/build/legacy/queriesObserver.d.cts +0 -2
  75. package/build/legacy/queriesObserver.d.ts +0 -2
  76. package/build/legacy/queriesObserver.js +0 -234
  77. package/build/legacy/queriesObserver.js.map +0 -1
  78. package/build/legacy/query.cjs +0 -487
  79. package/build/legacy/query.cjs.map +0 -1
  80. package/build/legacy/query.d.cts +0 -10
  81. package/build/legacy/query.d.ts +0 -10
  82. package/build/legacy/query.js +0 -468
  83. package/build/legacy/query.js.map +0 -1
  84. package/build/legacy/queryCache.cjs +0 -131
  85. package/build/legacy/queryCache.cjs.map +0 -1
  86. package/build/legacy/queryCache.d.cts +0 -3
  87. package/build/legacy/queryCache.d.ts +0 -3
  88. package/build/legacy/queryCache.js +0 -105
  89. package/build/legacy/queryCache.js.map +0 -1
  90. package/build/legacy/queryClient.cjs +0 -349
  91. package/build/legacy/queryClient.cjs.map +0 -1
  92. package/build/legacy/queryClient.d.cts +0 -1
  93. package/build/legacy/queryClient.d.ts +0 -1
  94. package/build/legacy/queryClient.js +0 -324
  95. package/build/legacy/queryClient.js.map +0 -1
  96. package/build/legacy/queryObserver.cjs +0 -516
  97. package/build/legacy/queryObserver.cjs.map +0 -1
  98. package/build/legacy/queryObserver.d.cts +0 -1
  99. package/build/legacy/queryObserver.d.ts +0 -1
  100. package/build/legacy/queryObserver.js +0 -498
  101. package/build/legacy/queryObserver.js.map +0 -1
  102. package/build/legacy/removable.cjs +0 -70
  103. package/build/legacy/removable.cjs.map +0 -1
  104. package/build/legacy/removable.d.cts +0 -1
  105. package/build/legacy/removable.d.ts +0 -1
  106. package/build/legacy/removable.js +0 -44
  107. package/build/legacy/removable.js.map +0 -1
  108. package/build/legacy/retryer.cjs +0 -166
  109. package/build/legacy/retryer.cjs.map +0 -1
  110. package/build/legacy/retryer.d.cts +0 -7
  111. package/build/legacy/retryer.d.ts +0 -7
  112. package/build/legacy/retryer.js +0 -140
  113. package/build/legacy/retryer.js.map +0 -1
  114. package/build/legacy/streamedQuery.cjs +0 -80
  115. package/build/legacy/streamedQuery.cjs.map +0 -1
  116. package/build/legacy/streamedQuery.d.cts +0 -1
  117. package/build/legacy/streamedQuery.d.ts +0 -1
  118. package/build/legacy/streamedQuery.js +0 -57
  119. package/build/legacy/streamedQuery.js.map +0 -1
  120. package/build/legacy/subscribable.cjs +0 -51
  121. package/build/legacy/subscribable.cjs.map +0 -1
  122. package/build/legacy/subscribable.d.cts +0 -1
  123. package/build/legacy/subscribable.d.ts +0 -1
  124. package/build/legacy/subscribable.js +0 -28
  125. package/build/legacy/subscribable.js.map +0 -1
  126. package/build/legacy/thenable.cjs +0 -76
  127. package/build/legacy/thenable.cjs.map +0 -1
  128. package/build/legacy/thenable.d.cts +0 -6
  129. package/build/legacy/thenable.d.ts +0 -6
  130. package/build/legacy/thenable.js +0 -52
  131. package/build/legacy/thenable.js.map +0 -1
  132. package/build/legacy/timeoutManager.cjs +0 -110
  133. package/build/legacy/timeoutManager.cjs.map +0 -1
  134. package/build/legacy/timeoutManager.d.cts +0 -7
  135. package/build/legacy/timeoutManager.d.ts +0 -7
  136. package/build/legacy/timeoutManager.js +0 -81
  137. package/build/legacy/timeoutManager.js.map +0 -1
  138. package/build/legacy/types.cjs +0 -37
  139. package/build/legacy/types.cjs.map +0 -1
  140. package/build/legacy/types.d.cts +0 -95
  141. package/build/legacy/types.d.ts +0 -95
  142. package/build/legacy/types.js +0 -12
  143. package/build/legacy/types.js.map +0 -1
  144. package/build/legacy/utils.cjs +0 -330
  145. package/build/legacy/utils.cjs.map +0 -1
  146. package/build/legacy/utils.d.cts +0 -30
  147. package/build/legacy/utils.d.ts +0 -30
  148. package/build/legacy/utils.js +0 -283
  149. package/build/legacy/utils.js.map +0 -1
  150. package/build/modern/_tsup-dts-rollup.d.cts +0 -2229
  151. package/build/modern/_tsup-dts-rollup.d.ts +0 -2229
  152. package/build/modern/environmentManager.cjs +0 -48
  153. package/build/modern/environmentManager.cjs.map +0 -1
  154. package/build/modern/environmentManager.d.cts +0 -2
  155. package/build/modern/environmentManager.d.ts +0 -2
  156. package/build/modern/environmentManager.js +0 -23
  157. package/build/modern/environmentManager.js.map +0 -1
  158. package/build/modern/focusManager.cjs +0 -93
  159. package/build/modern/focusManager.cjs.map +0 -1
  160. package/build/modern/focusManager.d.cts +0 -2
  161. package/build/modern/focusManager.d.ts +0 -2
  162. package/build/modern/focusManager.js +0 -67
  163. package/build/modern/focusManager.js.map +0 -1
  164. package/build/modern/hydration.cjs +0 -173
  165. package/build/modern/hydration.cjs.map +0 -1
  166. package/build/modern/hydration.d.cts +0 -7
  167. package/build/modern/hydration.d.ts +0 -7
  168. package/build/modern/hydration.js +0 -145
  169. package/build/modern/hydration.js.map +0 -1
  170. package/build/modern/index.cjs +0 -113
  171. package/build/modern/index.cjs.map +0 -1
  172. package/build/modern/index.d.cts +0 -142
  173. package/build/modern/index.d.ts +0 -142
  174. package/build/modern/index.js +0 -73
  175. package/build/modern/index.js.map +0 -1
  176. package/build/modern/infiniteQueryBehavior.cjs +0 -142
  177. package/build/modern/infiniteQueryBehavior.cjs.map +0 -1
  178. package/build/modern/infiniteQueryBehavior.d.cts +0 -3
  179. package/build/modern/infiniteQueryBehavior.d.ts +0 -3
  180. package/build/modern/infiniteQueryBehavior.js +0 -120
  181. package/build/modern/infiniteQueryBehavior.js.map +0 -1
  182. package/build/modern/infiniteQueryObserver.cjs +0 -92
  183. package/build/modern/infiniteQueryObserver.cjs.map +0 -1
  184. package/build/modern/infiniteQueryObserver.d.cts +0 -1
  185. package/build/modern/infiniteQueryObserver.d.ts +0 -1
  186. package/build/modern/infiniteQueryObserver.js +0 -71
  187. package/build/modern/infiniteQueryObserver.js.map +0 -1
  188. package/build/modern/mutation.cjs +0 -307
  189. package/build/modern/mutation.cjs.map +0 -1
  190. package/build/modern/mutation.d.cts +0 -4
  191. package/build/modern/mutation.d.ts +0 -4
  192. package/build/modern/mutation.js +0 -281
  193. package/build/modern/mutation.js.map +0 -1
  194. package/build/modern/mutationCache.cjs +0 -149
  195. package/build/modern/mutationCache.cjs.map +0 -1
  196. package/build/modern/mutationCache.d.cts +0 -2
  197. package/build/modern/mutationCache.d.ts +0 -2
  198. package/build/modern/mutationCache.js +0 -124
  199. package/build/modern/mutationCache.js.map +0 -1
  200. package/build/modern/mutationObserver.cjs +0 -165
  201. package/build/modern/mutationObserver.cjs.map +0 -1
  202. package/build/modern/mutationObserver.d.cts +0 -1
  203. package/build/modern/mutationObserver.d.ts +0 -1
  204. package/build/modern/mutationObserver.js +0 -140
  205. package/build/modern/mutationObserver.js.map +0 -1
  206. package/build/modern/notifyManager.cjs +0 -113
  207. package/build/modern/notifyManager.cjs.map +0 -1
  208. package/build/modern/notifyManager.d.cts +0 -3
  209. package/build/modern/notifyManager.d.ts +0 -3
  210. package/build/modern/notifyManager.js +0 -86
  211. package/build/modern/notifyManager.js.map +0 -1
  212. package/build/modern/onlineManager.cjs +0 -83
  213. package/build/modern/onlineManager.cjs.map +0 -1
  214. package/build/modern/onlineManager.d.cts +0 -2
  215. package/build/modern/onlineManager.d.ts +0 -2
  216. package/build/modern/onlineManager.js +0 -57
  217. package/build/modern/onlineManager.js.map +0 -1
  218. package/build/modern/queriesObserver.cjs +0 -237
  219. package/build/modern/queriesObserver.cjs.map +0 -1
  220. package/build/modern/queriesObserver.d.cts +0 -2
  221. package/build/modern/queriesObserver.d.ts +0 -2
  222. package/build/modern/queriesObserver.js +0 -212
  223. package/build/modern/queriesObserver.js.map +0 -1
  224. package/build/modern/query.cjs +0 -461
  225. package/build/modern/query.cjs.map +0 -1
  226. package/build/modern/query.d.cts +0 -10
  227. package/build/modern/query.d.ts +0 -10
  228. package/build/modern/query.js +0 -443
  229. package/build/modern/query.js.map +0 -1
  230. package/build/modern/queryCache.cjs +0 -122
  231. package/build/modern/queryCache.cjs.map +0 -1
  232. package/build/modern/queryCache.d.cts +0 -3
  233. package/build/modern/queryCache.d.ts +0 -3
  234. package/build/modern/queryCache.js +0 -97
  235. package/build/modern/queryCache.js.map +0 -1
  236. package/build/modern/queryClient.cjs +0 -322
  237. package/build/modern/queryClient.cjs.map +0 -1
  238. package/build/modern/queryClient.d.cts +0 -1
  239. package/build/modern/queryClient.d.ts +0 -1
  240. package/build/modern/queryClient.js +0 -305
  241. package/build/modern/queryClient.js.map +0 -1
  242. package/build/modern/queryObserver.cjs +0 -489
  243. package/build/modern/queryObserver.cjs.map +0 -1
  244. package/build/modern/queryObserver.d.cts +0 -1
  245. package/build/modern/queryObserver.d.ts +0 -1
  246. package/build/modern/queryObserver.js +0 -472
  247. package/build/modern/queryObserver.js.map +0 -1
  248. package/build/modern/removable.cjs +0 -59
  249. package/build/modern/removable.cjs.map +0 -1
  250. package/build/modern/removable.d.cts +0 -1
  251. package/build/modern/removable.d.ts +0 -1
  252. package/build/modern/removable.js +0 -34
  253. package/build/modern/removable.js.map +0 -1
  254. package/build/modern/retryer.cjs +0 -162
  255. package/build/modern/retryer.cjs.map +0 -1
  256. package/build/modern/retryer.d.cts +0 -7
  257. package/build/modern/retryer.d.ts +0 -7
  258. package/build/modern/retryer.js +0 -134
  259. package/build/modern/retryer.js.map +0 -1
  260. package/build/modern/streamedQuery.cjs +0 -80
  261. package/build/modern/streamedQuery.cjs.map +0 -1
  262. package/build/modern/streamedQuery.d.cts +0 -1
  263. package/build/modern/streamedQuery.d.ts +0 -1
  264. package/build/modern/streamedQuery.js +0 -55
  265. package/build/modern/streamedQuery.js.map +0 -1
  266. package/build/modern/subscribable.cjs +0 -51
  267. package/build/modern/subscribable.cjs.map +0 -1
  268. package/build/modern/subscribable.d.cts +0 -1
  269. package/build/modern/subscribable.d.ts +0 -1
  270. package/build/modern/subscribable.js +0 -26
  271. package/build/modern/subscribable.js.map +0 -1
  272. package/build/modern/thenable.cjs +0 -75
  273. package/build/modern/thenable.cjs.map +0 -1
  274. package/build/modern/thenable.d.cts +0 -6
  275. package/build/modern/thenable.d.ts +0 -6
  276. package/build/modern/thenable.js +0 -49
  277. package/build/modern/thenable.js.map +0 -1
  278. package/build/modern/timeoutManager.cjs +0 -98
  279. package/build/modern/timeoutManager.cjs.map +0 -1
  280. package/build/modern/timeoutManager.d.cts +0 -7
  281. package/build/modern/timeoutManager.d.ts +0 -7
  282. package/build/modern/timeoutManager.js +0 -70
  283. package/build/modern/timeoutManager.js.map +0 -1
  284. package/build/modern/types.cjs +0 -37
  285. package/build/modern/types.cjs.map +0 -1
  286. package/build/modern/types.d.cts +0 -95
  287. package/build/modern/types.d.ts +0 -95
  288. package/build/modern/types.js +0 -10
  289. package/build/modern/types.js.map +0 -1
  290. package/build/modern/utils.cjs +0 -330
  291. package/build/modern/utils.cjs.map +0 -1
  292. package/build/modern/utils.d.cts +0 -30
  293. package/build/modern/utils.d.ts +0 -30
  294. package/build/modern/utils.js +0 -281
  295. package/build/modern/utils.js.map +0 -1
@@ -1,305 +0,0 @@
1
- // src/queryClient.ts
2
- import {
3
- functionalUpdate,
4
- hashKey,
5
- hashQueryKeyByOptions,
6
- noop,
7
- partialMatchKey,
8
- resolveStaleTime,
9
- skipToken
10
- } from "./utils.js";
11
- import { QueryCache } from "./queryCache.js";
12
- import { MutationCache } from "./mutationCache.js";
13
- import { focusManager } from "./focusManager.js";
14
- import { onlineManager } from "./onlineManager.js";
15
- import { notifyManager } from "./notifyManager.js";
16
- import { infiniteQueryBehavior } from "./infiniteQueryBehavior.js";
17
- var QueryClient = class {
18
- #queryCache;
19
- #mutationCache;
20
- #defaultOptions;
21
- #queryDefaults;
22
- #mutationDefaults;
23
- #mountCount;
24
- #unsubscribeFocus;
25
- #unsubscribeOnline;
26
- constructor(config = {}) {
27
- this.#queryCache = config.queryCache || new QueryCache();
28
- this.#mutationCache = config.mutationCache || new MutationCache();
29
- this.#defaultOptions = config.defaultOptions || {};
30
- this.#queryDefaults = /* @__PURE__ */ new Map();
31
- this.#mutationDefaults = /* @__PURE__ */ new Map();
32
- this.#mountCount = 0;
33
- }
34
- mount() {
35
- this.#mountCount++;
36
- if (this.#mountCount !== 1) return;
37
- this.#unsubscribeFocus = focusManager.subscribe(async (focused) => {
38
- if (focused) {
39
- await this.resumePausedMutations();
40
- this.#queryCache.onFocus();
41
- }
42
- });
43
- this.#unsubscribeOnline = onlineManager.subscribe(async (online) => {
44
- if (online) {
45
- await this.resumePausedMutations();
46
- this.#queryCache.onOnline();
47
- }
48
- });
49
- }
50
- unmount() {
51
- this.#mountCount--;
52
- if (this.#mountCount !== 0) return;
53
- this.#unsubscribeFocus?.();
54
- this.#unsubscribeFocus = void 0;
55
- this.#unsubscribeOnline?.();
56
- this.#unsubscribeOnline = void 0;
57
- }
58
- isFetching(filters) {
59
- return this.#queryCache.findAll({ ...filters, fetchStatus: "fetching" }).length;
60
- }
61
- isMutating(filters) {
62
- return this.#mutationCache.findAll({ ...filters, status: "pending" }).length;
63
- }
64
- /**
65
- * Imperative (non-reactive) way to retrieve data for a QueryKey.
66
- * Should only be used in callbacks or functions where reading the latest data is necessary, e.g. for optimistic updates.
67
- *
68
- * Hint: Do not use this function inside a component, because it won't receive updates.
69
- * Use `useQuery` to create a `QueryObserver` that subscribes to changes.
70
- */
71
- getQueryData(queryKey) {
72
- const options = this.defaultQueryOptions({ queryKey });
73
- return this.#queryCache.get(options.queryHash)?.state.data;
74
- }
75
- ensureQueryData(options) {
76
- const defaultedOptions = this.defaultQueryOptions(options);
77
- const query = this.#queryCache.build(this, defaultedOptions);
78
- const cachedData = query.state.data;
79
- if (cachedData === void 0) {
80
- return this.fetchQuery(options);
81
- }
82
- if (options.revalidateIfStale && query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query))) {
83
- void this.prefetchQuery(defaultedOptions);
84
- }
85
- return Promise.resolve(cachedData);
86
- }
87
- getQueriesData(filters) {
88
- return this.#queryCache.findAll(filters).map(({ queryKey, state }) => {
89
- const data = state.data;
90
- return [queryKey, data];
91
- });
92
- }
93
- setQueryData(queryKey, updater, options) {
94
- const defaultedOptions = this.defaultQueryOptions({ queryKey });
95
- const query = this.#queryCache.get(
96
- defaultedOptions.queryHash
97
- );
98
- const prevData = query?.state.data;
99
- const data = functionalUpdate(updater, prevData);
100
- if (data === void 0) {
101
- return void 0;
102
- }
103
- return this.#queryCache.build(this, defaultedOptions).setData(data, { ...options, manual: true });
104
- }
105
- setQueriesData(filters, updater, options) {
106
- return notifyManager.batch(
107
- () => this.#queryCache.findAll(filters).map(({ queryKey }) => [
108
- queryKey,
109
- this.setQueryData(queryKey, updater, options)
110
- ])
111
- );
112
- }
113
- getQueryState(queryKey) {
114
- const options = this.defaultQueryOptions({ queryKey });
115
- return this.#queryCache.get(
116
- options.queryHash
117
- )?.state;
118
- }
119
- removeQueries(filters) {
120
- const queryCache = this.#queryCache;
121
- notifyManager.batch(() => {
122
- queryCache.findAll(filters).forEach((query) => {
123
- queryCache.remove(query);
124
- });
125
- });
126
- }
127
- resetQueries(filters, options) {
128
- const queryCache = this.#queryCache;
129
- return notifyManager.batch(() => {
130
- queryCache.findAll(filters).forEach((query) => {
131
- query.reset();
132
- });
133
- return this.refetchQueries(
134
- {
135
- type: "active",
136
- ...filters
137
- },
138
- options
139
- );
140
- });
141
- }
142
- cancelQueries(filters, cancelOptions = {}) {
143
- const defaultedCancelOptions = { revert: true, ...cancelOptions };
144
- const promises = notifyManager.batch(
145
- () => this.#queryCache.findAll(filters).map((query) => query.cancel(defaultedCancelOptions))
146
- );
147
- return Promise.all(promises).then(noop).catch(noop);
148
- }
149
- invalidateQueries(filters, options = {}) {
150
- return notifyManager.batch(() => {
151
- this.#queryCache.findAll(filters).forEach((query) => {
152
- query.invalidate();
153
- });
154
- if (filters?.refetchType === "none") {
155
- return Promise.resolve();
156
- }
157
- return this.refetchQueries(
158
- {
159
- ...filters,
160
- type: filters?.refetchType ?? filters?.type ?? "active"
161
- },
162
- options
163
- );
164
- });
165
- }
166
- refetchQueries(filters, options = {}) {
167
- const fetchOptions = {
168
- ...options,
169
- cancelRefetch: options.cancelRefetch ?? true
170
- };
171
- const promises = notifyManager.batch(
172
- () => this.#queryCache.findAll(filters).filter((query) => !query.isDisabled() && !query.isStatic()).map((query) => {
173
- let promise = query.fetch(void 0, fetchOptions);
174
- if (!fetchOptions.throwOnError) {
175
- promise = promise.catch(noop);
176
- }
177
- return query.state.fetchStatus === "paused" ? Promise.resolve() : promise;
178
- })
179
- );
180
- return Promise.all(promises).then(noop);
181
- }
182
- fetchQuery(options) {
183
- const defaultedOptions = this.defaultQueryOptions(options);
184
- if (defaultedOptions.retry === void 0) {
185
- defaultedOptions.retry = false;
186
- }
187
- const query = this.#queryCache.build(this, defaultedOptions);
188
- return query.isStaleByTime(
189
- resolveStaleTime(defaultedOptions.staleTime, query)
190
- ) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);
191
- }
192
- prefetchQuery(options) {
193
- return this.fetchQuery(options).then(noop).catch(noop);
194
- }
195
- fetchInfiniteQuery(options) {
196
- options.behavior = infiniteQueryBehavior(options.pages);
197
- return this.fetchQuery(options);
198
- }
199
- prefetchInfiniteQuery(options) {
200
- return this.fetchInfiniteQuery(options).then(noop).catch(noop);
201
- }
202
- ensureInfiniteQueryData(options) {
203
- options.behavior = infiniteQueryBehavior(options.pages);
204
- return this.ensureQueryData(options);
205
- }
206
- resumePausedMutations() {
207
- if (onlineManager.isOnline()) {
208
- return this.#mutationCache.resumePausedMutations();
209
- }
210
- return Promise.resolve();
211
- }
212
- getQueryCache() {
213
- return this.#queryCache;
214
- }
215
- getMutationCache() {
216
- return this.#mutationCache;
217
- }
218
- getDefaultOptions() {
219
- return this.#defaultOptions;
220
- }
221
- setDefaultOptions(options) {
222
- this.#defaultOptions = options;
223
- }
224
- setQueryDefaults(queryKey, options) {
225
- this.#queryDefaults.set(hashKey(queryKey), {
226
- queryKey,
227
- defaultOptions: options
228
- });
229
- }
230
- getQueryDefaults(queryKey) {
231
- const defaults = [...this.#queryDefaults.values()];
232
- const result = {};
233
- defaults.forEach((queryDefault) => {
234
- if (partialMatchKey(queryKey, queryDefault.queryKey)) {
235
- Object.assign(result, queryDefault.defaultOptions);
236
- }
237
- });
238
- return result;
239
- }
240
- setMutationDefaults(mutationKey, options) {
241
- this.#mutationDefaults.set(hashKey(mutationKey), {
242
- mutationKey,
243
- defaultOptions: options
244
- });
245
- }
246
- getMutationDefaults(mutationKey) {
247
- const defaults = [...this.#mutationDefaults.values()];
248
- const result = {};
249
- defaults.forEach((queryDefault) => {
250
- if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {
251
- Object.assign(result, queryDefault.defaultOptions);
252
- }
253
- });
254
- return result;
255
- }
256
- defaultQueryOptions(options) {
257
- if (options._defaulted) {
258
- return options;
259
- }
260
- const defaultedOptions = {
261
- ...this.#defaultOptions.queries,
262
- ...this.getQueryDefaults(options.queryKey),
263
- ...options,
264
- _defaulted: true
265
- };
266
- if (!defaultedOptions.queryHash) {
267
- defaultedOptions.queryHash = hashQueryKeyByOptions(
268
- defaultedOptions.queryKey,
269
- defaultedOptions
270
- );
271
- }
272
- if (defaultedOptions.refetchOnReconnect === void 0) {
273
- defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== "always";
274
- }
275
- if (defaultedOptions.throwOnError === void 0) {
276
- defaultedOptions.throwOnError = !!defaultedOptions.suspense;
277
- }
278
- if (!defaultedOptions.networkMode && defaultedOptions.persister) {
279
- defaultedOptions.networkMode = "offlineFirst";
280
- }
281
- if (defaultedOptions.queryFn === skipToken) {
282
- defaultedOptions.enabled = false;
283
- }
284
- return defaultedOptions;
285
- }
286
- defaultMutationOptions(options) {
287
- if (options?._defaulted) {
288
- return options;
289
- }
290
- return {
291
- ...this.#defaultOptions.mutations,
292
- ...options?.mutationKey && this.getMutationDefaults(options.mutationKey),
293
- ...options,
294
- _defaulted: true
295
- };
296
- }
297
- clear() {
298
- this.#queryCache.clear();
299
- this.#mutationCache.clear();
300
- }
301
- };
302
- export {
303
- QueryClient
304
- };
305
- //# sourceMappingURL=queryClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/queryClient.ts"],"sourcesContent":["import {\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n noop,\n partialMatchKey,\n resolveStaleTime,\n skipToken,\n} from './utils'\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 type {\n CancelOptions,\n DefaultError,\n DefaultOptions,\n DefaultedQueryObserverOptions,\n EnsureInfiniteQueryDataOptions,\n EnsureQueryDataOptions,\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n InferDataFromTag,\n InferErrorFromTag,\n InfiniteData,\n InvalidateOptions,\n InvalidateQueryFilters,\n MutationKey,\n MutationObserverOptions,\n MutationOptions,\n NoInfer,\n OmitKeyof,\n QueryClientConfig,\n QueryKey,\n QueryObserverOptions,\n QueryOptions,\n RefetchOptions,\n RefetchQueryFilters,\n ResetOptions,\n SetDataOptions,\n} from './types'\nimport type { QueryState } from './query'\nimport type { MutationFilters, QueryFilters, Updater } from './utils'\n\n// TYPES\n\ninterface QueryDefaults {\n queryKey: QueryKey\n defaultOptions: OmitKeyof<QueryOptions<any, any, any>, 'queryKey'>\n}\n\ninterface MutationDefaults {\n mutationKey: MutationKey\n defaultOptions: MutationOptions<any, any, any, any>\n}\n\n// CLASS\n\nexport class QueryClient {\n #queryCache: QueryCache\n #mutationCache: MutationCache\n #defaultOptions: DefaultOptions\n #queryDefaults: Map<string, QueryDefaults>\n #mutationDefaults: Map<string, MutationDefaults>\n #mountCount: number\n #unsubscribeFocus?: () => void\n #unsubscribeOnline?: () => void\n\n constructor(config: QueryClientConfig = {}) {\n this.#queryCache = config.queryCache || new QueryCache()\n this.#mutationCache = config.mutationCache || new MutationCache()\n this.#defaultOptions = config.defaultOptions || {}\n this.#queryDefaults = new Map()\n this.#mutationDefaults = new Map()\n this.#mountCount = 0\n }\n\n mount(): void {\n this.#mountCount++\n if (this.#mountCount !== 1) return\n\n this.#unsubscribeFocus = focusManager.subscribe(async (focused) => {\n if (focused) {\n await this.resumePausedMutations()\n this.#queryCache.onFocus()\n }\n })\n this.#unsubscribeOnline = onlineManager.subscribe(async (online) => {\n if (online) {\n await this.resumePausedMutations()\n this.#queryCache.onOnline()\n }\n })\n }\n\n unmount(): void {\n this.#mountCount--\n if (this.#mountCount !== 0) return\n\n this.#unsubscribeFocus?.()\n this.#unsubscribeFocus = undefined\n\n this.#unsubscribeOnline?.()\n this.#unsubscribeOnline = undefined\n }\n\n isFetching<TQueryFilters extends QueryFilters<any> = QueryFilters>(\n filters?: TQueryFilters,\n ): number {\n return this.#queryCache.findAll({ ...filters, fetchStatus: 'fetching' })\n .length\n }\n\n isMutating<\n TMutationFilters extends MutationFilters<any, any> = MutationFilters,\n >(filters?: TMutationFilters): number {\n return this.#mutationCache.findAll({ ...filters, status: 'pending' }).length\n }\n\n /**\n * Imperative (non-reactive) way to retrieve data for a QueryKey.\n * Should only be used in callbacks or functions where reading the latest data is necessary, e.g. for optimistic updates.\n *\n * Hint: Do not use this function inside a component, because it won't receive updates.\n * Use `useQuery` to create a `QueryObserver` that subscribes to changes.\n */\n getQueryData<\n TQueryFnData = unknown,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n >(queryKey: TTaggedQueryKey): TInferredQueryFnData | undefined {\n const options = this.defaultQueryOptions({ queryKey })\n\n return this.#queryCache.get<TInferredQueryFnData>(options.queryHash)?.state\n .data\n }\n\n ensureQueryData<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: EnsureQueryDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\n const query = this.#queryCache.build(this, defaultedOptions)\n const cachedData = query.state.data\n\n if (cachedData === undefined) {\n return this.fetchQuery(options)\n }\n\n if (\n options.revalidateIfStale &&\n query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query))\n ) {\n void this.prefetchQuery(defaultedOptions)\n }\n\n return Promise.resolve(cachedData)\n }\n\n getQueriesData<\n TQueryFnData = unknown,\n TQueryFilters extends QueryFilters<any> = QueryFilters,\n >(filters: TQueryFilters): Array<[QueryKey, TQueryFnData | undefined]> {\n return this.#queryCache.findAll(filters).map(({ queryKey, state }) => {\n const data = state.data as TQueryFnData | undefined\n return [queryKey, data]\n })\n }\n\n setQueryData<\n TQueryFnData = unknown,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n >(\n queryKey: TTaggedQueryKey,\n updater: Updater<\n NoInfer<TInferredQueryFnData> | undefined,\n NoInfer<TInferredQueryFnData> | undefined\n >,\n options?: SetDataOptions,\n ): NoInfer<TInferredQueryFnData> | undefined {\n const defaultedOptions = this.defaultQueryOptions<\n any,\n any,\n unknown,\n any,\n QueryKey\n >({ queryKey })\n\n const query = this.#queryCache.get<TInferredQueryFnData>(\n defaultedOptions.queryHash,\n )\n const prevData = query?.state.data\n const data = functionalUpdate(updater, prevData)\n\n if (data === undefined) {\n return undefined\n }\n\n return this.#queryCache\n .build(this, defaultedOptions)\n .setData(data, { ...options, manual: true })\n }\n\n setQueriesData<\n TQueryFnData,\n TQueryFilters extends QueryFilters<any> = QueryFilters,\n >(\n filters: TQueryFilters,\n updater: Updater<\n NoInfer<TQueryFnData> | undefined,\n NoInfer<TQueryFnData> | undefined\n >,\n options?: SetDataOptions,\n ): Array<[QueryKey, TQueryFnData | undefined]> {\n return notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .map(({ queryKey }) => [\n queryKey,\n this.setQueryData<TQueryFnData>(queryKey, updater, options),\n ]),\n )\n }\n\n getQueryState<\n TQueryFnData = unknown,\n TError = DefaultError,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>,\n >(\n queryKey: TTaggedQueryKey,\n ): QueryState<TInferredQueryFnData, TInferredError> | undefined {\n const options = this.defaultQueryOptions({ queryKey })\n return this.#queryCache.get<TInferredQueryFnData, TInferredError>(\n options.queryHash,\n )?.state\n }\n\n removeQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n ): void {\n const queryCache = this.#queryCache\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query)\n })\n })\n }\n\n resetQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n options?: ResetOptions,\n ): Promise<void> {\n const queryCache = this.#queryCache\n\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n query.reset()\n })\n return this.refetchQueries(\n {\n type: 'active',\n ...filters,\n },\n options,\n )\n })\n }\n\n cancelQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n cancelOptions: CancelOptions = {},\n ): Promise<void> {\n const defaultedCancelOptions = { revert: true, ...cancelOptions }\n\n const promises = notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .map((query) => query.cancel(defaultedCancelOptions)),\n )\n\n return Promise.all(promises).then(noop).catch(noop)\n }\n\n invalidateQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: InvalidateQueryFilters<TTaggedQueryKey>,\n options: InvalidateOptions = {},\n ): Promise<void> {\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 return this.refetchQueries(\n {\n ...filters,\n type: filters?.refetchType ?? filters?.type ?? 'active',\n },\n options,\n )\n })\n }\n\n refetchQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: RefetchQueryFilters<TTaggedQueryKey>,\n options: RefetchOptions = {},\n ): Promise<void> {\n const fetchOptions = {\n ...options,\n cancelRefetch: options.cancelRefetch ?? true,\n }\n const promises = notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .filter((query) => !query.isDisabled() && !query.isStatic())\n .map((query) => {\n let promise = query.fetch(undefined, fetchOptions)\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop)\n }\n return query.state.fetchStatus === 'paused'\n ? Promise.resolve()\n : promise\n }),\n )\n\n return Promise.all(promises).then(noop)\n }\n\n fetchQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options: FetchQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\n\n // https://github.com/tannerlinsley/react-query/issues/652\n if (defaultedOptions.retry === undefined) {\n defaultedOptions.retry = false\n }\n\n const query = this.#queryCache.build(this, defaultedOptions)\n\n return query.isStaleByTime(\n resolveStaleTime(defaultedOptions.staleTime, query),\n )\n ? query.fetch(defaultedOptions)\n : Promise.resolve(query.state.data as TData)\n }\n\n prefetchQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void> {\n return this.fetchQuery(options).then(noop).catch(noop)\n }\n\n fetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<InfiniteData<TData, TPageParam>> {\n options.behavior = infiniteQueryBehavior<\n TQueryFnData,\n TError,\n TData,\n TPageParam\n >(options.pages)\n return this.fetchQuery(options as any)\n }\n\n prefetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<void> {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop)\n }\n\n ensureInfiniteQueryData<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: EnsureInfiniteQueryDataOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<InfiniteData<TData, TPageParam>> {\n options.behavior = infiniteQueryBehavior<\n TQueryFnData,\n TError,\n TData,\n TPageParam\n >(options.pages)\n\n return this.ensureQueryData(options as any)\n }\n\n resumePausedMutations(): Promise<unknown> {\n if (onlineManager.isOnline()) {\n return this.#mutationCache.resumePausedMutations()\n }\n return Promise.resolve()\n }\n\n getQueryCache(): QueryCache {\n return this.#queryCache\n }\n\n getMutationCache(): MutationCache {\n return this.#mutationCache\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 TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n >(\n queryKey: QueryKey,\n options: Partial<\n OmitKeyof<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData>,\n 'queryKey'\n >\n >,\n ): void {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options,\n })\n }\n\n getQueryDefaults(\n queryKey: QueryKey,\n ): OmitKeyof<QueryObserverOptions<any, any, any, any, any>, 'queryKey'> {\n const defaults = [...this.#queryDefaults.values()]\n\n const result: OmitKeyof<\n QueryObserverOptions<any, any, any, any, any>,\n 'queryKey'\n > = {}\n\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n Object.assign(result, queryDefault.defaultOptions)\n }\n })\n return result\n }\n\n setMutationDefaults<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n >(\n mutationKey: MutationKey,\n options: OmitKeyof<\n MutationObserverOptions<TData, TError, TVariables, TOnMutateResult>,\n 'mutationKey'\n >,\n ): void {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options,\n })\n }\n\n getMutationDefaults(\n mutationKey: MutationKey,\n ): OmitKeyof<MutationObserverOptions<any, any, any, any>, 'mutationKey'> {\n const defaults = [...this.#mutationDefaults.values()]\n\n const result: OmitKeyof<\n MutationObserverOptions<any, any, any, any>,\n 'mutationKey'\n > = {}\n\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n Object.assign(result, queryDefault.defaultOptions)\n }\n })\n\n return result\n }\n\n defaultQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options:\n | QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >\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) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions,\n )\n }\n\n // dependent default values\n if (defaultedOptions.refetchOnReconnect === undefined) {\n defaultedOptions.refetchOnReconnect =\n defaultedOptions.networkMode !== 'always'\n }\n if (defaultedOptions.throwOnError === undefined) {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense\n }\n\n if (!defaultedOptions.networkMode && defaultedOptions.persister) {\n defaultedOptions.networkMode = 'offlineFirst'\n }\n\n if (defaultedOptions.queryFn === skipToken) {\n defaultedOptions.enabled = false\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 ...(options?.mutationKey &&\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"],"mappings":"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","names":[]}