Skip to content

Commit d00661c

Browse files
committed
fix: mutation hooks; fix: mutationFn second arg
1 parent 877572b commit d00661c

File tree

4 files changed

+22
-2
lines changed

4 files changed

+22
-2
lines changed

.changeset/quick-waves-return.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"mobx-tanstack-query": patch
3+
---
4+
5+
fix missing hooks use in mutation

.changeset/silver-bushes-admire.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"mobx-tanstack-query": patch
3+
---
4+
5+
fix missing pass second arg for `mutationFn` (`MutationContext`)

src/mutation.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import {
1515
MutationDoneListener,
1616
MutationErrorListener,
1717
MutationFeatures,
18+
MutationFunctionContext,
1819
MutationInvalidateQueriesOptions,
1920
MutationSettledListener,
2021
} from './mutation.types';
@@ -175,6 +176,8 @@ export class Mutation<
175176
config.transformError ?? qc.mutationFeatures?.transformError,
176177
};
177178

179+
this.hooks = qc.hooks;
180+
178181
this.settledListeners = [];
179182
this.errorListeners = [];
180183
this.doneListeners = [];
@@ -203,8 +206,11 @@ export class Mutation<
203206
// @ts-expect-error
204207
>(queryClient, {
205208
...this.mutationOptions,
206-
mutationFn: (variables) =>
207-
mutationFn?.(variables, { signal: this.abortController.signal }),
209+
mutationFn: (variables, context) =>
210+
mutationFn?.(variables, {
211+
...context,
212+
signal: this.abortController.signal,
213+
} satisfies MutationFunctionContext),
208214
});
209215

210216
this.updateResult(this.mutationObserver.getCurrentResult());

src/mutation.types.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import {
22
DefaultError,
33
InvalidateQueryFilters,
44
MutationObserverOptions,
5+
MutationFunctionContext as MutationFunctionContextCore,
56
} from '@tanstack/query-core';
67

78
import { Mutation } from './mutation';
@@ -114,6 +115,9 @@ export interface MutationConfig<
114115
) => MutationInvalidateQueriesOptions | null | undefined);
115116
onInit?: (mutation: Mutation<TData, TVariables, TError, TContext>) => void;
116117
}
118+
export interface MutationFunctionContext extends MutationFunctionContextCore {
119+
signal: AbortSignal;
120+
}
117121

118122
/**
119123
* @deprecated ⚠️ use `MutationConfig`. This type will be removed in next major release

0 commit comments

Comments
 (0)