@tanstack/query-core 4.29.1 → 4.29.7
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/lib/focusManager.d.ts +1 -0
- package/build/lib/focusManager.d.ts.map +1 -0
- package/build/lib/focusManager.esm.js +3 -1
- package/build/lib/focusManager.esm.js.map +1 -1
- package/build/lib/focusManager.js +3 -1
- package/build/lib/focusManager.js.map +1 -1
- package/build/lib/focusManager.mjs +3 -1
- package/build/lib/focusManager.mjs.map +1 -1
- package/build/lib/hydration.d.ts +1 -0
- package/build/lib/hydration.d.ts.map +1 -0
- package/build/lib/index.d.ts +1 -0
- package/build/lib/index.d.ts.map +1 -0
- package/build/lib/infiniteQueryBehavior.d.ts +1 -0
- package/build/lib/infiniteQueryBehavior.d.ts.map +1 -0
- package/build/lib/infiniteQueryObserver.d.ts +1 -0
- package/build/lib/infiniteQueryObserver.d.ts.map +1 -0
- package/build/lib/logger.d.ts +1 -0
- package/build/lib/logger.d.ts.map +1 -0
- package/build/lib/logger.native.d.ts +1 -0
- package/build/lib/logger.native.d.ts.map +1 -0
- package/build/lib/mutation.d.ts +1 -0
- package/build/lib/mutation.d.ts.map +1 -0
- package/build/lib/mutationCache.d.ts +1 -0
- package/build/lib/mutationCache.d.ts.map +1 -0
- package/build/lib/mutationCache.esm.js +3 -1
- package/build/lib/mutationCache.esm.js.map +1 -1
- package/build/lib/mutationCache.js +3 -1
- package/build/lib/mutationCache.js.map +1 -1
- package/build/lib/mutationCache.mjs +3 -1
- package/build/lib/mutationCache.mjs.map +1 -1
- package/build/lib/mutationObserver.d.ts +1 -0
- package/build/lib/mutationObserver.d.ts.map +1 -0
- package/build/lib/mutationObserver.esm.js +4 -2
- package/build/lib/mutationObserver.esm.js.map +1 -1
- package/build/lib/mutationObserver.js +4 -2
- package/build/lib/mutationObserver.js.map +1 -1
- package/build/lib/mutationObserver.mjs +4 -2
- package/build/lib/mutationObserver.mjs.map +1 -1
- package/build/lib/notifyManager.d.ts +1 -0
- package/build/lib/notifyManager.d.ts.map +1 -0
- package/build/lib/onlineManager.d.ts +1 -0
- package/build/lib/onlineManager.d.ts.map +1 -0
- package/build/lib/onlineManager.esm.js +3 -1
- package/build/lib/onlineManager.esm.js.map +1 -1
- package/build/lib/onlineManager.js +3 -1
- package/build/lib/onlineManager.js.map +1 -1
- package/build/lib/onlineManager.mjs +3 -1
- package/build/lib/onlineManager.mjs.map +1 -1
- package/build/lib/queriesObserver.d.ts +1 -0
- package/build/lib/queriesObserver.d.ts.map +1 -0
- package/build/lib/queriesObserver.esm.js +6 -4
- package/build/lib/queriesObserver.esm.js.map +1 -1
- package/build/lib/queriesObserver.js +6 -4
- package/build/lib/queriesObserver.js.map +1 -1
- package/build/lib/queriesObserver.mjs +6 -4
- package/build/lib/queriesObserver.mjs.map +1 -1
- package/build/lib/query.d.ts +1 -0
- package/build/lib/query.d.ts.map +1 -0
- package/build/lib/query.esm.js +1 -1
- package/build/lib/query.esm.js.map +1 -1
- package/build/lib/query.js +1 -1
- package/build/lib/query.js.map +1 -1
- package/build/lib/query.mjs +1 -1
- package/build/lib/query.mjs.map +1 -1
- package/build/lib/queryCache.d.ts +1 -0
- package/build/lib/queryCache.d.ts.map +1 -0
- package/build/lib/queryCache.esm.js +3 -1
- package/build/lib/queryCache.esm.js.map +1 -1
- package/build/lib/queryCache.js +3 -1
- package/build/lib/queryCache.js.map +1 -1
- package/build/lib/queryCache.mjs +3 -1
- package/build/lib/queryCache.mjs.map +1 -1
- package/build/lib/queryClient.d.ts +1 -0
- package/build/lib/queryClient.d.ts.map +1 -0
- package/build/lib/queryObserver.d.ts +1 -0
- package/build/lib/queryObserver.d.ts.map +1 -0
- package/build/lib/queryObserver.esm.js +6 -4
- package/build/lib/queryObserver.esm.js.map +1 -1
- package/build/lib/queryObserver.js +6 -4
- package/build/lib/queryObserver.js.map +1 -1
- package/build/lib/queryObserver.mjs +6 -4
- package/build/lib/queryObserver.mjs.map +1 -1
- package/build/lib/removable.d.ts +1 -0
- package/build/lib/removable.d.ts.map +1 -0
- package/build/lib/retryer.d.ts +1 -0
- package/build/lib/retryer.d.ts.map +1 -0
- package/build/lib/subscribable.d.ts +4 -1
- package/build/lib/subscribable.d.ts.map +1 -0
- package/build/lib/subscribable.esm.js +7 -4
- package/build/lib/subscribable.esm.js.map +1 -1
- package/build/lib/subscribable.js +7 -4
- package/build/lib/subscribable.js.map +1 -1
- package/build/lib/subscribable.mjs +7 -4
- package/build/lib/subscribable.mjs.map +1 -1
- package/build/lib/tests/focusManager.test.d.ts +1 -0
- package/build/lib/tests/focusManager.test.d.ts.map +1 -0
- package/build/lib/tests/hydration.test.d.ts +1 -0
- package/build/lib/tests/hydration.test.d.ts.map +1 -0
- package/build/lib/tests/infiniteQueryBehavior.test.d.ts +1 -0
- package/build/lib/tests/infiniteQueryBehavior.test.d.ts.map +1 -0
- package/build/lib/tests/infiniteQueryObserver.test.d.ts +1 -0
- package/build/lib/tests/infiniteQueryObserver.test.d.ts.map +1 -0
- package/build/lib/tests/mutationCache.test.d.ts +1 -0
- package/build/lib/tests/mutationCache.test.d.ts.map +1 -0
- package/build/lib/tests/mutationObserver.test.d.ts +1 -0
- package/build/lib/tests/mutationObserver.test.d.ts.map +1 -0
- package/build/lib/tests/mutations.test.d.ts +1 -0
- package/build/lib/tests/mutations.test.d.ts.map +1 -0
- package/build/lib/tests/notifyManager.test.d.ts +1 -0
- package/build/lib/tests/notifyManager.test.d.ts.map +1 -0
- package/build/lib/tests/onlineManager.test.d.ts +1 -0
- package/build/lib/tests/onlineManager.test.d.ts.map +1 -0
- package/build/lib/tests/queriesObserver.test.d.ts +1 -0
- package/build/lib/tests/queriesObserver.test.d.ts.map +1 -0
- package/build/lib/tests/query.test.d.ts +1 -0
- package/build/lib/tests/query.test.d.ts.map +1 -0
- package/build/lib/tests/queryCache.test.d.ts +1 -0
- package/build/lib/tests/queryCache.test.d.ts.map +1 -0
- package/build/lib/tests/queryClient.test.d.ts +1 -0
- package/build/lib/tests/queryClient.test.d.ts.map +1 -0
- package/build/lib/tests/queryObserver.test.d.ts +1 -0
- package/build/lib/tests/queryObserver.test.d.ts.map +1 -0
- package/build/lib/tests/utils.d.ts +1 -0
- package/build/lib/tests/utils.d.ts.map +1 -0
- package/build/lib/tests/utils.test.d.ts +1 -0
- package/build/lib/tests/utils.test.d.ts.map +1 -0
- package/build/lib/types.d.ts +7 -0
- package/build/lib/types.d.ts.map +1 -0
- package/build/lib/utils.d.ts +1 -0
- package/build/lib/utils.d.ts.map +1 -0
- package/build/umd/index.development.js +36 -19
- 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 +1 -1
- package/src/focusManager.ts +1 -1
- package/src/mutationCache.ts +1 -1
- package/src/mutationObserver.ts +2 -2
- package/src/onlineManager.ts +1 -1
- package/src/queriesObserver.ts +4 -4
- package/src/query.ts +1 -1
- package/src/queryCache.ts +1 -1
- package/src/queryObserver.ts +4 -4
- package/src/subscribable.ts +6 -5
- package/src/tests/query.test.tsx +1 -1
- package/src/types.ts +6 -0
package/package.json
CHANGED
package/src/focusManager.ts
CHANGED
package/src/mutationCache.ts
CHANGED
|
@@ -154,7 +154,7 @@ export class MutationCache extends Subscribable<MutationCacheListener> {
|
|
|
154
154
|
|
|
155
155
|
notify(event: MutationCacheNotifyEvent) {
|
|
156
156
|
notifyManager.batch(() => {
|
|
157
|
-
this.listeners.forEach((listener) => {
|
|
157
|
+
this.listeners.forEach(({ listener }) => {
|
|
158
158
|
listener(event)
|
|
159
159
|
})
|
|
160
160
|
})
|
package/src/mutationObserver.ts
CHANGED
|
@@ -78,7 +78,7 @@ export class MutationObserver<
|
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
protected onUnsubscribe(): void {
|
|
81
|
-
if (!this.
|
|
81
|
+
if (!this.hasListeners()) {
|
|
82
82
|
this.currentMutation?.removeObserver(this)
|
|
83
83
|
}
|
|
84
84
|
}
|
|
@@ -197,7 +197,7 @@ export class MutationObserver<
|
|
|
197
197
|
|
|
198
198
|
// Then trigger the listeners
|
|
199
199
|
if (options.listeners) {
|
|
200
|
-
this.listeners.forEach((listener) => {
|
|
200
|
+
this.listeners.forEach(({ listener }) => {
|
|
201
201
|
listener(this.currentResult)
|
|
202
202
|
})
|
|
203
203
|
}
|
package/src/onlineManager.ts
CHANGED
package/src/queriesObserver.ts
CHANGED
|
@@ -34,7 +34,7 @@ export class QueriesObserver extends Subscribable<QueriesObserverListener> {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
protected onSubscribe(): void {
|
|
37
|
-
if (this.listeners.
|
|
37
|
+
if (this.listeners.size === 1) {
|
|
38
38
|
this.observers.forEach((observer) => {
|
|
39
39
|
observer.subscribe((result) => {
|
|
40
40
|
this.onUpdate(observer, result)
|
|
@@ -44,13 +44,13 @@ export class QueriesObserver extends Subscribable<QueriesObserverListener> {
|
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
protected onUnsubscribe(): void {
|
|
47
|
-
if (!this.listeners.
|
|
47
|
+
if (!this.listeners.size) {
|
|
48
48
|
this.destroy()
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
destroy(): void {
|
|
53
|
-
this.listeners =
|
|
53
|
+
this.listeners = new Set()
|
|
54
54
|
this.observers.forEach((observer) => {
|
|
55
55
|
observer.destroy()
|
|
56
56
|
})
|
|
@@ -209,7 +209,7 @@ export class QueriesObserver extends Subscribable<QueriesObserverListener> {
|
|
|
209
209
|
|
|
210
210
|
private notify(): void {
|
|
211
211
|
notifyManager.batch(() => {
|
|
212
|
-
this.listeners.forEach((listener) => {
|
|
212
|
+
this.listeners.forEach(({ listener }) => {
|
|
213
213
|
listener(this.result)
|
|
214
214
|
})
|
|
215
215
|
})
|
package/src/query.ts
CHANGED
|
@@ -463,7 +463,7 @@ export class Query<
|
|
|
463
463
|
`Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`,
|
|
464
464
|
)
|
|
465
465
|
}
|
|
466
|
-
onError(new Error(
|
|
466
|
+
onError(new Error(`${this.queryHash} data is undefined`) as any)
|
|
467
467
|
return
|
|
468
468
|
}
|
|
469
469
|
|
package/src/queryCache.ts
CHANGED
|
@@ -190,7 +190,7 @@ export class QueryCache extends Subscribable<QueryCacheListener> {
|
|
|
190
190
|
|
|
191
191
|
notify(event: QueryCacheNotifyEvent) {
|
|
192
192
|
notifyManager.batch(() => {
|
|
193
|
-
this.listeners.forEach((listener) => {
|
|
193
|
+
this.listeners.forEach(({ listener }) => {
|
|
194
194
|
listener(event)
|
|
195
195
|
})
|
|
196
196
|
})
|
package/src/queryObserver.ts
CHANGED
|
@@ -100,7 +100,7 @@ export class QueryObserver<
|
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
protected onSubscribe(): void {
|
|
103
|
-
if (this.listeners.
|
|
103
|
+
if (this.listeners.size === 1) {
|
|
104
104
|
this.currentQuery.addObserver(this)
|
|
105
105
|
|
|
106
106
|
if (shouldFetchOnMount(this.currentQuery, this.options)) {
|
|
@@ -112,7 +112,7 @@ export class QueryObserver<
|
|
|
112
112
|
}
|
|
113
113
|
|
|
114
114
|
protected onUnsubscribe(): void {
|
|
115
|
-
if (!this.
|
|
115
|
+
if (!this.hasListeners()) {
|
|
116
116
|
this.destroy()
|
|
117
117
|
}
|
|
118
118
|
}
|
|
@@ -134,7 +134,7 @@ export class QueryObserver<
|
|
|
134
134
|
}
|
|
135
135
|
|
|
136
136
|
destroy(): void {
|
|
137
|
-
this.listeners =
|
|
137
|
+
this.listeners = new Set()
|
|
138
138
|
this.clearStaleTimeout()
|
|
139
139
|
this.clearRefetchInterval()
|
|
140
140
|
this.currentQuery.removeObserver(this)
|
|
@@ -691,7 +691,7 @@ export class QueryObserver<
|
|
|
691
691
|
|
|
692
692
|
// Then trigger the listeners
|
|
693
693
|
if (notifyOptions.listeners) {
|
|
694
|
-
this.listeners.forEach((listener) => {
|
|
694
|
+
this.listeners.forEach(({ listener }) => {
|
|
695
695
|
listener(this.currentResult)
|
|
696
696
|
})
|
|
697
697
|
}
|
package/src/subscribable.ts
CHANGED
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
type Listener = () => void
|
|
2
2
|
|
|
3
3
|
export class Subscribable<TListener extends Function = Listener> {
|
|
4
|
-
protected listeners: TListener
|
|
4
|
+
protected listeners: Set<{ listener: TListener }>
|
|
5
5
|
|
|
6
6
|
constructor() {
|
|
7
|
-
this.listeners =
|
|
7
|
+
this.listeners = new Set()
|
|
8
8
|
this.subscribe = this.subscribe.bind(this)
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
subscribe(listener: TListener): () => void {
|
|
12
|
-
|
|
12
|
+
const identity = { listener }
|
|
13
|
+
this.listeners.add(identity)
|
|
13
14
|
|
|
14
15
|
this.onSubscribe()
|
|
15
16
|
|
|
16
17
|
return () => {
|
|
17
|
-
this.listeners
|
|
18
|
+
this.listeners.delete(identity)
|
|
18
19
|
this.onUnsubscribe()
|
|
19
20
|
}
|
|
20
21
|
}
|
|
21
22
|
|
|
22
23
|
hasListeners(): boolean {
|
|
23
|
-
return this.listeners.
|
|
24
|
+
return this.listeners.size > 0
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
protected onSubscribe(): void {
|
package/src/tests/query.test.tsx
CHANGED
package/src/types.ts
CHANGED
|
@@ -204,14 +204,20 @@ export interface QueryObserverOptions<
|
|
|
204
204
|
notifyOnChangeProps?: Array<keyof InfiniteQueryObserverResult> | 'all'
|
|
205
205
|
/**
|
|
206
206
|
* This callback will fire any time the query successfully fetches new data.
|
|
207
|
+
*
|
|
208
|
+
* @deprecated This callback will be removed in the next major version.
|
|
207
209
|
*/
|
|
208
210
|
onSuccess?: (data: TData) => void
|
|
209
211
|
/**
|
|
210
212
|
* This callback will fire if the query encounters an error and will be passed the error.
|
|
213
|
+
*
|
|
214
|
+
* @deprecated This callback will be removed in the next major version.
|
|
211
215
|
*/
|
|
212
216
|
onError?: (err: TError) => void
|
|
213
217
|
/**
|
|
214
218
|
* This callback will fire any time the query is either successfully fetched or errors and be passed either the data or error.
|
|
219
|
+
*
|
|
220
|
+
* @deprecated This callback will be removed in the next major version.
|
|
215
221
|
*/
|
|
216
222
|
onSettled?: (data: TData | undefined, error: TError | null) => void
|
|
217
223
|
/**
|