@@ -32,11 +32,11 @@ export class QueriesObserver<
32
32
TCombinedResult = QueryObserverResult [ ] ,
33
33
> extends Subscribable < QueriesObserverListener > {
34
34
#client: QueryClient
35
- #result: QueryObserverResult [ ]
35
+ #result! : QueryObserverResult [ ]
36
36
#queries: QueryObserverOptions [ ]
37
37
#observers: QueryObserver [ ]
38
38
#options?: QueriesObserverOptions < TCombinedResult >
39
- #combinedResult? : TCombinedResult
39
+ #combinedResult! : TCombinedResult
40
40
41
41
constructor (
42
42
client : QueryClient ,
@@ -47,12 +47,17 @@ export class QueriesObserver<
47
47
48
48
this . #client = client
49
49
this . #queries = [ ]
50
- this . #result = [ ]
51
50
this . #observers = [ ]
52
51
52
+ this . #setResult( [ ] )
53
53
this . setQueries ( queries , options )
54
54
}
55
55
56
+ #setResult( value : QueryObserverResult [ ] ) {
57
+ this . #result = value
58
+ this . #combinedResult = this . #combineResult( value )
59
+ }
60
+
56
61
protected onSubscribe ( ) : void {
57
62
if ( this . listeners . length === 1 ) {
58
63
this . #observers. forEach ( ( observer ) => {
@@ -107,7 +112,7 @@ export class QueriesObserver<
107
112
}
108
113
109
114
this . #observers = newObservers
110
- this . #result = newResult
115
+ this . #setResult ( newResult )
111
116
112
117
if ( ! this . hasListeners ( ) ) {
113
118
return
@@ -127,7 +132,7 @@ export class QueriesObserver<
127
132
} )
128
133
}
129
134
130
- getCurrentResult ( ) : TCombinedResult | undefined {
135
+ getCurrentResult ( ) : TCombinedResult {
131
136
return this . #combinedResult
132
137
}
133
138
@@ -153,9 +158,7 @@ export class QueriesObserver<
153
158
const newResult = ( this . #options?. combine ?.( input ) ??
154
159
input ) as TCombinedResult
155
160
156
- this . #combinedResult = replaceEqualDeep ( this . #combinedResult, newResult )
157
-
158
- return this . #combinedResult
161
+ return replaceEqualDeep ( this . #combinedResult, newResult )
159
162
}
160
163
161
164
#findMatchingObservers(
@@ -220,7 +223,7 @@ export class QueriesObserver<
220
223
#onUpdate( observer : QueryObserver , result : QueryObserverResult ) : void {
221
224
const index = this . #observers. indexOf ( observer )
222
225
if ( index !== - 1 ) {
223
- this . #result = replaceAt ( this . #result, index , result )
226
+ this . #setResult ( replaceAt ( this . #result, index , result ) )
224
227
this . #notify( )
225
228
}
226
229
}
0 commit comments