Skip to content

Commit 4f515de

Browse files
fix(svelte-query): Fix createMutation for functions that take no arguments (#4847)
* Update createMutation test function name * Default TVariables = void * Fix createMutation test * Fix prettier
1 parent 61c3d94 commit 4f515de

File tree

4 files changed

+23
-19
lines changed

4 files changed

+23
-19
lines changed

packages/svelte-query/src/__tests__/CreateMutation.svelte

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@
22
import { createMutation, QueryClient } from '../index'
33
import { setQueryClientContext } from '../context'
44
5-
export let queryFn: () => Promise<string>
5+
export let mutationFn: () => Promise<string>
66
77
const queryClient = new QueryClient()
88
setQueryClientContext(queryClient)
99
10-
const mutation = createMutation(queryFn)
10+
const mutation = createMutation({
11+
mutationFn,
12+
})
1113
</script>
1214

13-
<button on:click={$mutation.mutate}>Click</button>
15+
<button on:click={() => $mutation.mutate()}>Click</button>

packages/svelte-query/src/__tests__/createMutation.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,18 @@ import { sleep } from './utils'
55

66
describe('createMutation', () => {
77
it('Call mutate and check function runs', async () => {
8-
const queryFn = vi.fn()
8+
const mutationFn = vi.fn()
99

1010
render(CreateMutation, {
1111
props: {
12-
queryFn,
12+
mutationFn,
1313
},
1414
})
1515

1616
fireEvent.click(screen.getByRole('button'))
1717

1818
await sleep(200)
1919

20-
expect(queryFn).toHaveBeenCalledTimes(1)
20+
expect(mutationFn).toHaveBeenCalledTimes(1)
2121
})
2222
})

packages/svelte-query/src/createMutation.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {
77
parseMutationArgs,
88
} from '@tanstack/query-core'
99
import type {
10-
UseMutateFunction,
10+
CreateMutateFunction,
1111
CreateMutationOptions,
1212
CreateMutationResult,
1313
} from './types'
@@ -16,7 +16,7 @@ import { useQueryClient } from './useQueryClient'
1616
export function createMutation<
1717
TData = unknown,
1818
TError = unknown,
19-
TVariables = unknown,
19+
TVariables = void,
2020
TContext = unknown,
2121
>(
2222
options: CreateMutationOptions<TData, TError, TVariables, TContext>,
@@ -25,7 +25,7 @@ export function createMutation<
2525
export function createMutation<
2626
TData = unknown,
2727
TError = unknown,
28-
TVariables = unknown,
28+
TVariables = void,
2929
TContext = unknown,
3030
>(
3131
mutationFn: MutationFunction<TData, TVariables>,
@@ -38,7 +38,7 @@ export function createMutation<
3838
export function createMutation<
3939
TData = unknown,
4040
TError = unknown,
41-
TVariables = unknown,
41+
TVariables = void,
4242
TContext = unknown,
4343
>(
4444
mutationKey: MutationKey,
@@ -51,7 +51,7 @@ export function createMutation<
5151
export function createMutation<
5252
TData = unknown,
5353
TError = unknown,
54-
TVariables = unknown,
54+
TVariables = void,
5555
TContext = unknown,
5656
>(
5757
mutationKey: MutationKey,
@@ -65,7 +65,7 @@ export function createMutation<
6565
export function createMutation<
6666
TData = unknown,
6767
TError = unknown,
68-
TVariables = unknown,
68+
TVariables = void,
6969
TContext = unknown,
7070
>(
7171
arg1:
@@ -83,7 +83,7 @@ export function createMutation<
8383
queryClient,
8484
options,
8585
)
86-
let mutate: UseMutateFunction<TData, TError, TVariables, TContext>
86+
let mutate: CreateMutateFunction<TData, TError, TVariables, TContext>
8787

8888
readable(observer).subscribe(($observer) => {
8989
observer = $observer

packages/svelte-query/src/types.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ export interface CreateMutationOptions<
8787
'_defaulted' | 'variables'
8888
> {}
8989

90-
export type UseMutateFunction<
90+
export type CreateMutateFunction<
9191
TData = unknown,
9292
TError = unknown,
9393
TVariables = void,
@@ -96,30 +96,32 @@ export type UseMutateFunction<
9696
...args: Parameters<MutateFunction<TData, TError, TVariables, TContext>>
9797
) => void
9898

99-
export type UseMutateAsyncFunction<
99+
export type CreateMutateAsyncFunction<
100100
TData = unknown,
101101
TError = unknown,
102102
TVariables = void,
103103
TContext = unknown,
104104
> = MutateFunction<TData, TError, TVariables, TContext>
105105

106-
export type UseBaseMutationResult<
106+
export type CreateBaseMutationResult<
107107
TData = unknown,
108108
TError = unknown,
109109
TVariables = unknown,
110110
TContext = unknown,
111111
> = Override<
112112
MutationObserverResult<TData, TError, TVariables, TContext>,
113-
{ mutate: UseMutateFunction<TData, TError, TVariables, TContext> }
114-
> & { mutateAsync: UseMutateAsyncFunction<TData, TError, TVariables, TContext> }
113+
{ mutate: CreateMutateFunction<TData, TError, TVariables, TContext> }
114+
> & {
115+
mutateAsync: CreateMutateAsyncFunction<TData, TError, TVariables, TContext>
116+
}
115117

116118
export interface CreateMutationResult<
117119
TData = unknown,
118120
TError = unknown,
119121
TVariables = unknown,
120122
TContext = unknown,
121123
> extends Readable<
122-
UseBaseMutationResult<TData, TError, TVariables, TContext>
124+
CreateBaseMutationResult<TData, TError, TVariables, TContext>
123125
> {}
124126

125127
type Override<A, B> = { [K in keyof A]: K extends keyof B ? B[K] : A[K] }

0 commit comments

Comments
 (0)