Skip to content

Commit c6c292c

Browse files
committed
fix: add overloads to useIsMutating
1 parent 16b7d29 commit c6c292c

File tree

3 files changed

+20
-3
lines changed

3 files changed

+20
-3
lines changed

src/core/utils.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,13 @@ export function parseFilterArgs<
166166
: [arg1 || {}, arg2]) as [TFilters, TOptions]
167167
}
168168

169+
export function parseMutationFilterArgs(
170+
arg1?: QueryKey | MutationFilters,
171+
arg2?: MutationFilters
172+
): MutationFilters | undefined {
173+
return isQueryKey(arg1) ? { ...arg2, mutationKey: arg1 } : arg1
174+
}
175+
169176
export function mapQueryStatusFilter(
170177
active?: boolean,
171178
inactive?: boolean

src/react/tests/useIsMutating.test.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ describe('useIsMutating', () => {
4545
const queryClient = new QueryClient()
4646

4747
function IsMutating() {
48-
const isMutating = useIsMutating({ mutationKey: 'mutation1' })
48+
const isMutating = useIsMutating('mutation1')
4949
isMutatings.push(isMutating)
5050
return null
5151
}

src/react/useIsMutating.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,21 @@
11
import React from 'react'
22

33
import { notifyManager } from '../core/notifyManager'
4-
import { MutationFilters } from '../core/utils'
4+
import { QueryKey } from '../core/types'
5+
import { MutationFilters, parseMutationFilterArgs } from '../core/utils'
56
import { useQueryClient } from './QueryClientProvider'
67

7-
export function useIsMutating(filters?: MutationFilters): number {
8+
export function useIsMutating(filters?: MutationFilters): number
9+
export function useIsMutating(
10+
queryKey?: QueryKey,
11+
filters?: MutationFilters
12+
): number
13+
export function useIsMutating(
14+
arg1?: QueryKey | MutationFilters,
15+
arg2?: MutationFilters
16+
): number {
817
const mountedRef = React.useRef(false)
18+
const filters = parseMutationFilterArgs(arg1, arg2)
919

1020
const queryClient = useQueryClient()
1121

0 commit comments

Comments
 (0)