Skip to content

Commit e931464

Browse files
committed
feat: improve invalidateQueries fn for Mutation
1 parent 9c64105 commit e931464

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

src/mutation.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,14 +94,21 @@ export class Mutation<
9494

9595
if (invalidateQueries) {
9696
this.onDone((data, payload) => {
97-
let invalidateOptions: MutationInvalidateQueriesOptions;
97+
let invalidateOptions:
98+
| MutationInvalidateQueriesOptions
99+
| null
100+
| undefined;
98101

99102
if (typeof invalidateQueries === 'function') {
100103
invalidateOptions = invalidateQueries(data, payload);
101104
} else {
102105
invalidateOptions = invalidateQueries;
103106
}
104107

108+
if (!invalidateOptions) {
109+
return;
110+
}
111+
105112
if (invalidateOptions.allQueryKeys) {
106113
this.queryClient.invalidateQueries({
107114
...invalidateOptions,

src/mutation.types.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,10 @@ export interface MutationConfig<
7676
abortSignal?: AbortSignal;
7777
invalidateQueries?:
7878
| MutationInvalidateQueriesOptions
79-
| ((data: TData, payload: TVariables) => MutationInvalidateQueriesOptions);
79+
| ((
80+
data: TData,
81+
payload: TVariables,
82+
) => MutationInvalidateQueriesOptions | null | undefined);
8083
onInit?: (mutation: Mutation<TData, TVariables, TError, TContext>) => void;
8184
}
8285

0 commit comments

Comments
 (0)