File tree Expand file tree Collapse file tree 1 file changed +22
-9
lines changed
Expand file tree Collapse file tree 1 file changed +22
-9
lines changed Original file line number Diff line number Diff line change @@ -224,15 +224,28 @@ export function addRevalidator(
224224 refetchOnFocus ?: boolean ,
225225 refetchOnReconnect ?: boolean ,
226226) {
227- revalidators . set ( key , [
228- revalidatorFn ,
229- timeNow ( ) ,
230- ttl ?? DEFAULT_TTL ,
231- staleTime ,
232- bgRevalidatorFn ,
233- refetchOnFocus ,
234- refetchOnReconnect ,
235- ] ) ;
227+ const existing = revalidators . get ( key ) ;
228+
229+ if ( existing ) {
230+ // Update in-place to avoid allocating a new tuple array
231+ existing [ 0 ] = revalidatorFn ;
232+ existing [ 1 ] = timeNow ( ) ;
233+ existing [ 2 ] = ttl ?? DEFAULT_TTL ;
234+ existing [ 3 ] = staleTime ;
235+ existing [ 4 ] = bgRevalidatorFn ;
236+ existing [ 5 ] = refetchOnFocus ;
237+ existing [ 6 ] = refetchOnReconnect ;
238+ } else {
239+ revalidators . set ( key , [
240+ revalidatorFn ,
241+ timeNow ( ) ,
242+ ttl ?? DEFAULT_TTL ,
243+ staleTime ,
244+ bgRevalidatorFn ,
245+ refetchOnFocus ,
246+ refetchOnReconnect ,
247+ ] ) ;
248+ }
236249
237250 if ( refetchOnFocus ) {
238251 addEventHandler ( 'focus' ) ;
You can’t perform that action at this time.
0 commit comments