import { MutationFunctionContext, MutationInfoOptions } from './mutationInfo' import { generatekey } from './utils' export interface MutationOptions< TData = unknown, TVars = void, TError = Error > extends Omit, 'mutation'> { fetcher: ( variables: TVars, context: MutationFunctionContext ) => Promise } export interface Mutation extends MutationOptions { key: string } export const mutation = ( options: MutationOptions ): Mutation => { return { ...options, key: generatekey(), } }