11import {
2+ Mutation ,
23 MutationFilters ,
34 MutationFunction ,
45 MutationKey ,
@@ -11,7 +12,6 @@ import {
1112 useMutationState ,
1213 useQueryClient ,
1314} from '@tanstack/react-query' ;
14- import { useStableCallback } from '../hooks/useStableCallback' ;
1515import { mergeTagOptions } from '../tags/mergeTagOptions' ;
1616import { QueryInvalidatesMetadata } from '../tags/types' ;
1717import { QueryBuilder } from './QueryBuilder' ;
@@ -115,24 +115,12 @@ export class MutationBuilderFrozen<T extends BuilderTypeTemplate> {
115115 return useIsMutating ( this . getMutationFilters ( vars , filters ) , this . config . queryClient ) ;
116116 } ;
117117
118- useAllMutations : ( filters ?: MutationFilters < T [ 'data' ] , T [ 'error' ] , T [ 'vars' ] > ) => MutationStateHelper < T > = (
119- filters ,
120- ) => {
121- const list = useMutationState ( { filters : this . getMutationFilters ( undefined , filters ) } , this . config . queryClient ) ;
122-
123- const getMutation : MutationStateHelper < T > [ 'getMutation' ] = useStableCallback (
124- ( vars , predicate ?: ( mutation : MutationState < T [ 'data' ] , T [ 'error' ] , T [ 'vars' ] > ) => boolean ) =>
125- list . findLast ( ( m ) => areKeysEqual ( [ m . variables ] , [ vars ] ) && ( ! predicate || predicate ( m ) ) ) ,
126- ) ;
127-
128- return { list, getMutation } ;
129- } ;
130-
131- useMutationState : (
132- vars : T [ 'vars' ] ,
118+ useMutationState : < TSelect = Mutation < T [ 'data' ] , T [ 'error' ] , T [ 'vars' ] > > (
119+ vars ?: T [ 'vars' ] ,
133120 filters ?: MutationFilters < T [ 'data' ] , T [ 'error' ] , T [ 'vars' ] > ,
134- ) => MutationState < T [ 'data' ] , T [ 'error' ] , T [ 'vars' ] > | undefined = ( vars , filters ) => {
135- return useMutationState ( { filters : this . getMutationFilters ( vars , filters ) } , this . config . queryClient ) [ 0 ] ;
121+ select ?: ( mt : Mutation < T [ 'data' ] , T [ 'error' ] , T [ 'vars' ] > ) => TSelect ,
122+ ) => TSelect [ ] = ( vars , filters , select ) => {
123+ return useMutationState ( { filters : this . getMutationFilters ( vars , filters ) , select } , this . config . queryClient ) ;
136124 } ;
137125
138126 readonly getMutation = (
0 commit comments