Skip to content

Commit bde1c37

Browse files
committed
refactor(react,vue): rename to mutate/mutateAsync
1 parent 3dcce69 commit bde1c37

File tree

21 files changed

+250
-249
lines changed

21 files changed

+250
-249
lines changed

packages/react/src/hooks/useConnect.test-d.ts

Lines changed: 73 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -13,78 +13,76 @@ const connector = config.connectors[0]!
1313
const contextValue = { foo: 'bar' } as const
1414

1515
test('context', () => {
16-
const { connect, connectAsync, context, data, error, variables } = useConnect(
17-
{
18-
mutation: {
19-
onMutate(variables) {
20-
expectTypeOf(variables).toEqualTypeOf<{
21-
chainId?: number | undefined
22-
connector: Connector | CreateConnectorFn
23-
withCapabilities?: boolean | undefined
24-
}>()
25-
return contextValue
26-
},
27-
onError(error, variables, context) {
28-
expectTypeOf(variables).toEqualTypeOf<{
29-
chainId?: number | undefined
30-
connector: Connector | CreateConnectorFn
31-
withCapabilities?: boolean | undefined
32-
}>()
33-
expectTypeOf(error).toEqualTypeOf<ConnectErrorType>()
34-
expectTypeOf(context).toEqualTypeOf<typeof contextValue | undefined>()
35-
},
36-
onSuccess(data, variables, context) {
37-
expectTypeOf(variables).toEqualTypeOf<{
38-
chainId?: number | undefined
39-
connector: Connector | CreateConnectorFn
40-
withCapabilities?: boolean | undefined
41-
}>()
42-
expectTypeOf(data).toEqualTypeOf<{
43-
accounts:
44-
| readonly [Address, ...Address[]]
45-
| readonly [
46-
{ address: Address; capabilities: Record<string, unknown> },
47-
...{
48-
address: Address
49-
capabilities: Record<string, unknown>
50-
}[],
51-
]
52-
chainId: number
53-
}>()
54-
expectTypeOf(context).toEqualTypeOf<typeof contextValue>()
55-
},
56-
onSettled(data, error, variables, context) {
57-
expectTypeOf(data).toEqualTypeOf<
58-
| {
59-
accounts:
60-
| readonly [Address, ...Address[]]
61-
| readonly [
62-
{
63-
address: Address
64-
capabilities: Record<string, unknown>
65-
},
66-
...{
67-
address: Address
68-
capabilities: Record<string, unknown>
69-
}[],
70-
]
71-
chainId: number
72-
}
73-
| undefined
74-
>()
75-
expectTypeOf(error).toEqualTypeOf<ConnectErrorType | null>()
76-
expectTypeOf(variables).toEqualTypeOf<{
77-
chainId?: number | undefined
78-
connector: Connector | CreateConnectorFn
79-
withCapabilities?: boolean | undefined
80-
}>()
81-
expectTypeOf(context).toEqualTypeOf<typeof contextValue | undefined>()
82-
},
16+
const connect = useConnect({
17+
mutation: {
18+
onMutate(variables) {
19+
expectTypeOf(variables).toEqualTypeOf<{
20+
chainId?: number | undefined
21+
connector: Connector | CreateConnectorFn
22+
withCapabilities?: boolean | undefined
23+
}>()
24+
return contextValue
25+
},
26+
onError(error, variables, context) {
27+
expectTypeOf(variables).toEqualTypeOf<{
28+
chainId?: number | undefined
29+
connector: Connector | CreateConnectorFn
30+
withCapabilities?: boolean | undefined
31+
}>()
32+
expectTypeOf(error).toEqualTypeOf<ConnectErrorType>()
33+
expectTypeOf(context).toEqualTypeOf<typeof contextValue | undefined>()
34+
},
35+
onSuccess(data, variables, context) {
36+
expectTypeOf(variables).toEqualTypeOf<{
37+
chainId?: number | undefined
38+
connector: Connector | CreateConnectorFn
39+
withCapabilities?: boolean | undefined
40+
}>()
41+
expectTypeOf(data).toEqualTypeOf<{
42+
accounts:
43+
| readonly [Address, ...Address[]]
44+
| readonly [
45+
{ address: Address; capabilities: Record<string, unknown> },
46+
...{
47+
address: Address
48+
capabilities: Record<string, unknown>
49+
}[],
50+
]
51+
chainId: number
52+
}>()
53+
expectTypeOf(context).toEqualTypeOf<typeof contextValue>()
54+
},
55+
onSettled(data, error, variables, context) {
56+
expectTypeOf(data).toEqualTypeOf<
57+
| {
58+
accounts:
59+
| readonly [Address, ...Address[]]
60+
| readonly [
61+
{
62+
address: Address
63+
capabilities: Record<string, unknown>
64+
},
65+
...{
66+
address: Address
67+
capabilities: Record<string, unknown>
68+
}[],
69+
]
70+
chainId: number
71+
}
72+
| undefined
73+
>()
74+
expectTypeOf(error).toEqualTypeOf<ConnectErrorType | null>()
75+
expectTypeOf(variables).toEqualTypeOf<{
76+
chainId?: number | undefined
77+
connector: Connector | CreateConnectorFn
78+
withCapabilities?: boolean | undefined
79+
}>()
80+
expectTypeOf(context).toEqualTypeOf<typeof contextValue | undefined>()
8381
},
8482
},
85-
)
83+
})
8684

87-
expectTypeOf(data).toEqualTypeOf<
85+
expectTypeOf(connect.data).toEqualTypeOf<
8886
| {
8987
accounts:
9088
| readonly [Address, ...Address[]]
@@ -96,17 +94,17 @@ test('context', () => {
9694
}
9795
| undefined
9896
>()
99-
expectTypeOf(error).toEqualTypeOf<ConnectErrorType | null>()
100-
expectTypeOf(variables).toMatchTypeOf<
97+
expectTypeOf(connect.error).toEqualTypeOf<ConnectErrorType | null>()
98+
expectTypeOf(connect.variables).toMatchTypeOf<
10199
| {
102100
chainId?: number | undefined
103101
connector: CreateConnectorFn | Connector
104102
}
105103
| undefined
106104
>()
107-
expectTypeOf(context).toEqualTypeOf<typeof contextValue | undefined>()
105+
expectTypeOf(connect.context).toEqualTypeOf<typeof contextValue | undefined>()
108106

109-
connect(
107+
connect.mutate(
110108
{
111109
connector,
112110
foo: 'bar',
@@ -155,7 +153,7 @@ test('context', () => {
155153
},
156154
)
157155

158-
connect(
156+
connect.mutate(
159157
{
160158
connector,
161159
foo: 'bar',
@@ -207,7 +205,7 @@ test('context', () => {
207205
)
208206

209207
;(async () => {
210-
const res = await connectAsync({
208+
const res = await connect.mutateAsync({
211209
connector,
212210
foo: 'bar',
213211
withCapabilities: true,

packages/react/src/hooks/useConnect.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ test('default', async () => {
2323
expect(result.current.useConnection.address).not.toBeDefined()
2424
expect(result.current.useConnection.status).toEqual('disconnected')
2525

26-
result.current.useConnect.connect({
26+
result.current.useConnect.mutate({
2727
connector: result.current.useConnectors[0]!,
2828
})
2929

packages/react/src/hooks/useConnect.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,11 @@ export type UseConnectReturnType<
4646
ConnectVariables<config, config['connectors'][number], boolean>,
4747
context
4848
> & {
49+
mutate: ConnectMutate<config, context>
50+
mutateAsync: ConnectMutateAsync<config, context>
51+
/** @deprecated use `mutate` instead */
4952
connect: ConnectMutate<config, context>
53+
/** @deprecated use `mutateAsync` instead */
5054
connectAsync: ConnectMutateAsync<config, context>
5155
/** @deprecated use `useConnectors` instead */
5256
connectors: Compute<UseConnectorsReturnType> | config['connectors']
@@ -84,6 +88,8 @@ export function useConnect<
8488
type Return = UseConnectReturnType<config, context>
8589
return {
8690
...(result as Return),
91+
mutate: mutate as Return['mutate'],
92+
mutateAsync: mutateAsync as Return['mutateAsync'],
8793
connect: mutate as Return['connect'],
8894
connectAsync: mutateAsync as Return['connectAsync'],
8995
connectors: useConnectors({ config }),

packages/react/src/hooks/useSignMessage.test-d.ts

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ const message = 'hello world'
88
const contextValue = { foo: 'bar' } as const
99

1010
test('context', () => {
11-
const { context, data, error, signMessage, variables } = useSignMessage({
11+
const signMessage = useSignMessage({
1212
mutation: {
1313
onMutate(variables) {
1414
expectTypeOf(variables).toEqualTypeOf<SignMessageVariables>()
@@ -33,12 +33,16 @@ test('context', () => {
3333
},
3434
})
3535

36-
expectTypeOf(data).toEqualTypeOf<`0x${string}` | undefined>()
37-
expectTypeOf(error).toEqualTypeOf<SignMessageErrorType | null>()
38-
expectTypeOf(variables).toEqualTypeOf<SignMessageVariables | undefined>()
39-
expectTypeOf(context).toEqualTypeOf<typeof contextValue | undefined>()
36+
expectTypeOf(signMessage.data).toEqualTypeOf<`0x${string}` | undefined>()
37+
expectTypeOf(signMessage.error).toEqualTypeOf<SignMessageErrorType | null>()
38+
expectTypeOf(signMessage.variables).toEqualTypeOf<
39+
SignMessageVariables | undefined
40+
>()
41+
expectTypeOf(signMessage.context).toEqualTypeOf<
42+
typeof contextValue | undefined
43+
>()
4044

41-
signMessage(
45+
signMessage.mutate(
4246
{ message },
4347
{
4448
onError(error, variables, context) {

packages/react/src/hooks/useSignMessage.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ test('default', async () => {
1313

1414
const { result } = await renderHook(() => useSignMessage())
1515

16-
result.current.signMessage({ message: 'foo bar baz' })
16+
result.current.mutate({ message: 'foo bar baz' })
1717
await vi.waitUntil(() => result.current.isSuccess, { timeout: 5_000 })
1818

1919
await expect(
@@ -30,7 +30,7 @@ test('behavior: local account', async () => {
3030
const { result } = await renderHook(() => useSignMessage())
3131

3232
const account = privateKeyToAccount(privateKey)
33-
result.current.signMessage({ account, message: 'foo bar baz' })
33+
result.current.mutate({ account, message: 'foo bar baz' })
3434
await vi.waitUntil(() => result.current.isSuccess, { timeout: 5_000 })
3535

3636
await expect(

packages/react/src/hooks/useSignMessage.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,9 @@ export type UseSignMessageReturnType<context = unknown> = Compute<
3838
SignMessageVariables,
3939
context
4040
> & {
41+
/** @deprecated use `mutate` instead */
4142
signMessage: SignMessageMutate<context>
43+
/** @deprecated use `mutateAsync` instead */
4244
signMessageAsync: SignMessageMutateAsync<context>
4345
}
4446
>
@@ -47,19 +49,17 @@ export type UseSignMessageReturnType<context = unknown> = Compute<
4749
export function useSignMessage<context = unknown>(
4850
parameters: UseSignMessageParameters<context> = {},
4951
): UseSignMessageReturnType<context> {
50-
const { mutation } = parameters
51-
5252
const config = useConfig(parameters)
5353

5454
const mutationOptions = signMessageMutationOptions(config)
55-
const { mutate, mutateAsync, ...result } = useMutation({
56-
...mutation,
55+
const mutation = useMutation({
56+
...parameters.mutation,
5757
...mutationOptions,
5858
})
5959

6060
return {
61-
...result,
62-
signMessage: mutate,
63-
signMessageAsync: mutateAsync,
61+
...mutation,
62+
signMessage: mutation.mutate,
63+
signMessageAsync: mutation.mutateAsync,
6464
}
6565
}

packages/react/src/utils/query.ts

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,7 @@ import {
1111
type UseQueryResult,
1212
useMutation,
1313
} from '@tanstack/react-query'
14-
import type {
15-
Compute,
16-
ExactPartial,
17-
Omit,
18-
UnionStrictOmit,
19-
} from '@wagmi/core/internal'
14+
import type { Compute, ExactPartial, Omit } from '@wagmi/core/internal'
2015
import { hashFn } from '@wagmi/core/query'
2116

2217
export type UseMutationParameters<
@@ -36,12 +31,7 @@ export type UseMutationReturnType<
3631
error = Error,
3732
variables = void,
3833
context = unknown,
39-
> = Compute<
40-
UnionStrictOmit<
41-
UseMutationResult<data, error, variables, context>,
42-
'mutate' | 'mutateAsync'
43-
>
44-
>
34+
> = Compute<UseMutationResult<data, error, variables, context>>
4535

4636
export { useMutation }
4737

packages/register-tests/react/src/useConnect.test-d.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ import { expectTypeOf, test } from 'vitest'
33
import { useConnect, useConnectors } from 'wagmi'
44

55
test('infers connect parameters', () => {
6-
const { connect, connectAsync, variables } = useConnect()
6+
const connect = useConnect()
77
const connectors = useConnectors()
88
const connector = connectors[0]!
99

10-
connect({
10+
connect.mutate({
1111
connector,
1212
foo: 'bar',
1313
})
14-
connect({
14+
connect.mutate({
1515
connector,
1616
capabilities: {
1717
signInWithEthereum: {
@@ -20,14 +20,14 @@ test('infers connect parameters', () => {
2020
},
2121
})
2222

23-
if (variables && 'foo' in variables)
24-
expectTypeOf(variables?.foo).toEqualTypeOf<string | undefined>()
25-
if (variables && 'capabilities' in variables)
26-
expectTypeOf(variables?.capabilities?.signInWithEthereum).toEqualTypeOf<
27-
{ nonce: string } | undefined
28-
>()
23+
if (connect.variables && 'foo' in connect.variables)
24+
expectTypeOf(connect.variables?.foo).toEqualTypeOf<string | undefined>()
25+
if (connect.variables && 'capabilities' in connect.variables)
26+
expectTypeOf(
27+
connect.variables?.capabilities?.signInWithEthereum,
28+
).toEqualTypeOf<{ nonce: string } | undefined>()
2929

30-
connect(
30+
connect.mutate(
3131
{
3232
connector,
3333
foo: 'bar',
@@ -103,12 +103,12 @@ test('infers connect parameters', () => {
103103
)
104104

105105
;(async () => {
106-
await connectAsync({
106+
await connect.mutateAsync({
107107
connector,
108108
foo: 'bar',
109109
withCapabilities: true,
110110
})
111-
const res = await connectAsync({
111+
const res = await connect.mutateAsync({
112112
connector,
113113
capabilities: {
114114
signInWithEthereum: {

0 commit comments

Comments
 (0)