@@ -92,6 +92,7 @@ const SVELTE_QUERY_DEPENDENCIES_V3: GeneratorDependency[] = [
92
92
{ name : 'UseQueryStoreResult' } ,
93
93
{ name : 'UseInfiniteQueryStoreResult' } ,
94
94
{ name : 'QueryKey' } ,
95
+ { name : 'CreateMutationResult' } ,
95
96
] ,
96
97
dependency : '@sveltestack/svelte-query' ,
97
98
} ,
@@ -113,6 +114,7 @@ const SVELTE_QUERY_DEPENDENCIES: GeneratorDependency[] = [
113
114
{ name : 'CreateInfiniteQueryResult' } ,
114
115
{ name : 'QueryKey' } ,
115
116
{ name : 'InfiniteData' } ,
117
+ { name : 'CreateMutationResult' } ,
116
118
] ,
117
119
dependency : '@tanstack/svelte-query' ,
118
120
} ,
@@ -160,6 +162,7 @@ const REACT_QUERY_DEPENDENCIES_V3: GeneratorDependency[] = [
160
162
{ name : 'UseInfiniteQueryResult' } ,
161
163
{ name : 'QueryKey' } ,
162
164
{ name : 'QueryClient' } ,
165
+ { name : 'UseMutationResult' } ,
163
166
] ,
164
167
dependency : 'react-query' ,
165
168
} ,
@@ -186,6 +189,7 @@ const REACT_QUERY_DEPENDENCIES: GeneratorDependency[] = [
186
189
{ name : 'QueryKey' } ,
187
190
{ name : 'QueryClient' } ,
188
191
{ name : 'InfiniteData' } ,
192
+ { name : 'UseMutationResult' } ,
189
193
] ,
190
194
dependency : '@tanstack/react-query' ,
191
195
} ,
@@ -231,6 +235,7 @@ const VUE_QUERY_DEPENDENCIES_V3: GeneratorDependency[] = [
231
235
{ name : 'UseQueryResult' } ,
232
236
{ name : 'UseInfiniteQueryResult' } ,
233
237
{ name : 'QueryKey' } ,
238
+ { name : 'UseMutationReturnType' } ,
234
239
] ,
235
240
dependency : 'vue-query/types' ,
236
241
} ,
@@ -262,6 +267,7 @@ const VUE_QUERY_DEPENDENCIES: GeneratorDependency[] = [
262
267
{ name : 'UseQueryReturnType' } ,
263
268
{ name : 'UseInfiniteQueryReturnType' } ,
264
269
{ name : 'InfiniteData' } ,
270
+ { name : 'UseMutationReturnType' } ,
265
271
] ,
266
272
dependency : '@tanstack/vue-query' ,
267
273
} ,
@@ -728,6 +734,42 @@ const generateQueryReturnType = ({
728
734
}
729
735
} ;
730
736
737
+ const generateMutatorReturnType = ( {
738
+ outputClient,
739
+ dataType,
740
+ variableType,
741
+ } : {
742
+ outputClient : OutputClient | OutputClientFunc ;
743
+ dataType : unknown ;
744
+ variableType : unknown ;
745
+ } ) => {
746
+ if ( outputClient === OutputClient . REACT_QUERY ) {
747
+ return `: UseMutationResult<
748
+ Awaited<ReturnType<${ dataType } >>,
749
+ TError,
750
+ ${ variableType } ,
751
+ TContext
752
+ >` ;
753
+ }
754
+ if ( outputClient === OutputClient . SVELTE_QUERY ) {
755
+ return `: CreateMutationResult<
756
+ Awaited<ReturnType<${ dataType } >>,
757
+ TError,
758
+ ${ variableType } ,
759
+ TContext
760
+ >` ;
761
+ }
762
+ if ( outputClient === OutputClient . VUE_QUERY ) {
763
+ return `: UseMutationReturnType<
764
+ Awaited<ReturnType<${ dataType } >>,
765
+ TError,
766
+ ${ variableType } ,
767
+ TContext
768
+ >` ;
769
+ }
770
+ return '' ;
771
+ } ;
772
+
731
773
const getQueryOptions = ( {
732
774
isRequestOptions,
733
775
mutator,
@@ -1382,17 +1424,17 @@ const generateQueryHook = async (
1382
1424
1383
1425
const mutationOptionsFn = `export const ${ mutationOptionsFnName } = <TError = ${ errorType } ,
1384
1426
TContext = unknown>(${ mutationArguments } ): ${ mutationOptionFnReturnType } => {
1385
- ${
1386
- isRequestOptions
1387
- ? `const {mutation: mutationOptions${
1388
- ! mutator
1389
- ? `, axios: axiosOptions`
1390
- : mutator ?. hasSecondArg
1391
- ? ', request: requestOptions'
1392
- : ''
1393
- } } = options ?? {};`
1394
- : ''
1395
- }
1427
+ ${
1428
+ isRequestOptions
1429
+ ? `const {mutation: mutationOptions${
1430
+ ! mutator
1431
+ ? `, axios: axiosOptions`
1432
+ : mutator ?. hasSecondArg
1433
+ ? ', request: requestOptions'
1434
+ : ''
1435
+ } } = options ?? {};`
1436
+ : ''
1437
+ }
1396
1438
1397
1439
${
1398
1440
mutator ?. isHook
@@ -1430,11 +1472,11 @@ const generateQueryHook = async (
1430
1472
}
1431
1473
1432
1474
1433
- return ${
1434
- ! mutationOptionsMutator
1435
- ? '{ mutationFn, ...mutationOptions }'
1436
- : 'customOptions'
1437
- } }`;
1475
+ return ${
1476
+ ! mutationOptionsMutator
1477
+ ? '{ mutationFn, ...mutationOptions }'
1478
+ : 'customOptions'
1479
+ } }`;
1438
1480
1439
1481
const operationPrefix = hasSvelteQueryV4 ? 'create' : 'use' ;
1440
1482
@@ -1458,7 +1500,11 @@ ${mutationOptionsFn}
1458
1500
${ doc } export const ${ camel (
1459
1501
`${ operationPrefix } -${ operationName } ` ,
1460
1502
) } = <TError = ${ errorType } ,
1461
- TContext = unknown>(${ mutationArguments } ) => {
1503
+ TContext = unknown>(${ mutationArguments } )${ generateMutatorReturnType ( {
1504
+ outputClient,
1505
+ dataType,
1506
+ variableType : definitions ? `{${ definitions } }` : 'void' ,
1507
+ } ) } => {
1462
1508
1463
1509
const ${ mutationOptionsVarName } = ${ mutationOptionsFnName } (${
1464
1510
isRequestOptions ? 'options' : 'mutationOptions'
0 commit comments