@@ -13,7 +13,7 @@ import type {
1313 TagTypesFrom ,
1414} from '../endpointDefinitions'
1515import { expandTagDescription } from '../endpointDefinitions'
16- import { flatten , isNotNullish } from '../utils'
16+ import { filterMap , isNotNullish } from '../utils'
1717import type {
1818 InfiniteData ,
1919 InfiniteQueryConfigOptions ,
@@ -342,7 +342,8 @@ export function buildSelectors<
342342 } > {
343343 const apiState = state [ reducerPath ]
344344 const toInvalidate = new Set < QueryCacheKey > ( )
345- for ( const tag of tags . filter ( isNotNullish ) . map ( expandTagDescription ) ) {
345+ const finalTags = filterMap ( tags , isNotNullish , expandTagDescription )
346+ for ( const tag of finalTags ) {
346347 const provided = apiState . provided . tags [ tag . type ]
347348 if ( ! provided ) {
348349 continue
@@ -353,27 +354,23 @@ export function buildSelectors<
353354 ? // id given: invalidate all queries that provide this type & id
354355 provided [ tag . id ]
355356 : // no id: invalidate all queries that provide this type
356- flatten ( Object . values ( provided ) ) ) ?? [ ]
357+ Object . values ( provided ) . flat ( ) ) ?? [ ]
357358
358359 for ( const invalidate of invalidateSubscriptions ) {
359360 toInvalidate . add ( invalidate )
360361 }
361362 }
362363
363- return flatten (
364- Array . from ( toInvalidate . values ( ) ) . map ( ( queryCacheKey ) => {
365- const querySubState = apiState . queries [ queryCacheKey ]
366- return querySubState
367- ? [
368- {
369- queryCacheKey,
370- endpointName : querySubState . endpointName ! ,
371- originalArgs : querySubState . originalArgs ,
372- } ,
373- ]
374- : [ ]
375- } ) ,
376- )
364+ return Array . from ( toInvalidate . values ( ) ) . flatMap ( ( queryCacheKey ) => {
365+ const querySubState = apiState . queries [ queryCacheKey ]
366+ return querySubState
367+ ? {
368+ queryCacheKey,
369+ endpointName : querySubState . endpointName ! ,
370+ originalArgs : querySubState . originalArgs ,
371+ }
372+ : [ ]
373+ } )
377374 }
378375
379376 function selectCachedArgsForQuery <
@@ -382,18 +379,18 @@ export function buildSelectors<
382379 state : RootState ,
383380 queryName : QueryName ,
384381 ) : Array < QueryArgFromAnyQuery < Definitions [ QueryName ] > > {
385- return Object . values ( selectQueries ( state ) as QueryState < any > )
386- . filter (
387- (
388- entry ,
389- ) : entry is Exclude <
390- QuerySubState < Definitions [ QueryName ] > ,
391- { status : QueryStatus . uninitialized }
392- > =>
393- entry ?. endpointName === queryName &&
394- entry . status !== QueryStatus . uninitialized ,
395- )
396- . map ( ( entry ) => entry . originalArgs )
382+ return filterMap (
383+ Object . values ( selectQueries ( state ) as QueryState < any > ) ,
384+ (
385+ entry ,
386+ ) : entry is Exclude <
387+ QuerySubState < Definitions [ QueryName ] > ,
388+ { status : QueryStatus . uninitialized }
389+ > =>
390+ entry ?. endpointName === queryName &&
391+ entry . status !== QueryStatus . uninitialized ,
392+ ( entry ) => entry . originalArgs ,
393+ )
397394 }
398395
399396 function getHasNextPage (
0 commit comments