@@ -119,7 +119,7 @@ export type UseMutateAsyncFunction<
119119 options ?: MutateOptions < TData , TError , TVariables , TContext >
120120) => Promise < TData >
121121
122- export interface UseMutationResult <
122+ export interface UseMutationBaseResult <
123123 TData = unknown ,
124124 TError = unknown ,
125125 TVariables = unknown ,
@@ -140,3 +140,74 @@ export interface UseMutationResult<
140140 status : MutationStatus
141141 variables : TVariables | undefined
142142}
143+
144+ export interface UseMutationIdleResult <
145+ TData = unknown ,
146+ TError = unknown ,
147+ TVariables = unknown ,
148+ TContext = unknown
149+ > extends UseMutationBaseResult < TData , TError , TVariables , TContext > {
150+ data : undefined
151+ error : null
152+ isError : false
153+ isIdle : true
154+ isLoading : false
155+ isSuccess : false
156+ status : 'idle'
157+ }
158+
159+ export interface UseMutationLoadingResult <
160+ TData = unknown ,
161+ TError = unknown ,
162+ TVariables = unknown ,
163+ TContext = unknown
164+ > extends UseMutationBaseResult < TData , TError , TVariables , TContext > {
165+ data : undefined
166+ error : null
167+ isError : false
168+ isIdle : false
169+ isLoading : true
170+ isSuccess : false
171+ status : 'loading'
172+ }
173+
174+ export interface UseMutationErrorResult <
175+ TData = unknown ,
176+ TError = unknown ,
177+ TVariables = unknown ,
178+ TContext = unknown
179+ > extends UseMutationBaseResult < TData , TError , TVariables , TContext > {
180+ data : undefined
181+ error : TError
182+ isError : true
183+ isIdle : false
184+ isLoading : false
185+ isSuccess : false
186+ status : 'error'
187+ }
188+
189+ export interface UseMutationSuccessResult <
190+ TData = unknown ,
191+ TError = unknown ,
192+ TVariables = unknown ,
193+ TContext = unknown
194+ > extends UseMutationBaseResult < TData , TError , TVariables , TContext > {
195+ data : TData
196+ error : null
197+ isError : false
198+ isIdle : false
199+ isLoading : false
200+ isSuccess : true
201+ status : 'success'
202+ }
203+
204+ export type UseMutationResult <
205+ TData = unknown ,
206+ TError = unknown ,
207+ TVariables = unknown ,
208+ TContext = unknown
209+ > =
210+ | UseMutationIdleResult < TData , TError , TVariables , TContext >
211+ | UseMutationLoadingResult < TData , TError , TVariables , TContext >
212+ | UseMutationErrorResult < TData , TError , TVariables , TContext >
213+ | UseMutationSuccessResult < TData , TError , TVariables , TContext >
0 commit comments