(
callback: (props: {
mutation: Mutation<TData, TError, TVariables, TContext>;
variables: TVariables;
}) => void,
{ mutationKey }: UseMutationOptions<TData, TError, TVariables, TContext>,
)
| 6 | import { useMutationSubscription } from './mutationSubscription'; |
| 7 | |
| 8 | export const useQuerySubscription = < |
| 9 | TData = unknown, |
| 10 | TError = DefaultError, |
| 11 | TVariables = void, |
| 12 | TContext = unknown, |
| 13 | >( |
| 14 | callback: (props: { |
| 15 | mutation: Mutation<TData, TError, TVariables, TContext>; |
| 16 | variables: TVariables; |
| 17 | }) => void, |
| 18 | { mutationKey }: UseMutationOptions<TData, TError, TVariables, TContext>, |
| 19 | ): void => { |
| 20 | useMutationSubscription({ |
| 21 | matcher: ({ mutation }) => { |
| 22 | return ( |
| 23 | JSON.stringify(mutation.options.mutationKey) === |
| 24 | JSON.stringify(mutationKey) |
| 25 | ); |
| 26 | }, |
| 27 | callback: ({ mutation, variables: mutationVariables }) => { |
| 28 | // can potentially use zod here to validate mutation/variables against schema |
| 29 | // to avoid just casting, but already type safety is much better |
| 30 | |
| 31 | callback({ |
| 32 | mutation: mutation as Mutation<TData, TError, TVariables, TContext>, |
| 33 | variables: mutationVariables as TVariables, |
| 34 | }); |
| 35 | }, |
| 36 | }); |
| 37 | }; |
nothing calls this directly
no test coverage detected