@@ -176,21 +176,29 @@ export abstract class ApolloCache<TSerialized> implements DataProxy {
176
176
options : Cache . UpdateQueryOptions < TData , TVariables > ,
177
177
update : ( data : TData | null ) => TData | null | void ,
178
178
) : TData | null {
179
- const value = this . readQuery < TData , TVariables > ( options ) ;
180
- const data = update ( value ) ;
181
- if ( data === void 0 || data === null ) return value ;
182
- this . writeQuery < TData , TVariables > ( { ...options , data } ) ;
183
- return data ;
179
+ return this . batch ( {
180
+ update ( cache ) {
181
+ const value = cache . readQuery < TData , TVariables > ( options ) ;
182
+ const data = update ( value ) ;
183
+ if ( data === void 0 || data === null ) return value ;
184
+ cache . writeQuery < TData , TVariables > ( { ...options , data } ) ;
185
+ return data ;
186
+ } ,
187
+ } ) ;
184
188
}
185
189
186
190
public updateFragment < TData = any , TVariables = any > (
187
191
options : Cache . UpdateFragmentOptions < TData , TVariables > ,
188
192
update : ( data : TData | null ) => TData | null | void ,
189
193
) : TData | null {
190
- const value = this . readFragment < TData , TVariables > ( options ) ;
191
- const data = update ( value ) ;
192
- if ( data === void 0 || data === null ) return value ;
193
- this . writeFragment < TData , TVariables > ( { ...options , data } ) ;
194
- return data ;
194
+ return this . batch ( {
195
+ update ( cache ) {
196
+ const value = cache . readFragment < TData , TVariables > ( options ) ;
197
+ const data = update ( value ) ;
198
+ if ( data === void 0 || data === null ) return value ;
199
+ cache . writeFragment < TData , TVariables > ( { ...options , data } ) ;
200
+ return data ;
201
+ } ,
202
+ } ) ;
195
203
}
196
204
}
0 commit comments