diff --git a/src/react/data/MutationData.ts b/src/react/data/MutationData.ts index 88cd9d160d5..4f9cb33641f 100644 --- a/src/react/data/MutationData.ts +++ b/src/react/data/MutationData.ts @@ -6,20 +6,22 @@ import { MutationDataOptions, MutationTuple, MutationFunctionOptions, - MutationResult + MutationResult, } from '../types/types'; import { OperationData } from './OperationData'; import { OperationVariables } from '../../core/types'; import { FetchResult } from '../../link/core/types'; +type MutationResultWithoutClient = Omit, 'client'>; + export class MutationData< TData = any, TVariables = OperationVariables > extends OperationData { private mostRecentMutationId: number; - private result: MutationResult; - private previousResult?: MutationResult; - private setResult: (result: MutationResult) => any; + private result: MutationResultWithoutClient; + private previousResult?: MutationResultWithoutClient; + private setResult: (result: MutationResultWithoutClient) => any; constructor({ options, @@ -29,8 +31,8 @@ export class MutationData< }: { options: MutationDataOptions; context: any; - result: MutationResult; - setResult: (result: MutationResult) => any; + result: MutationResultWithoutClient; + setResult: (result: MutationResultWithoutClient) => any; }) { super(options, context); this.verifyDocumentType(options.mutation, DocumentType.Mutation); @@ -39,7 +41,7 @@ export class MutationData< this.mostRecentMutationId = 0; } - public execute(result: MutationResult) { + public execute(result: MutationResultWithoutClient): MutationTuple { this.isMounted = true; this.verifyDocumentType(this.getOptions().mutation, DocumentType.Mutation); return [ @@ -148,7 +150,7 @@ export class MutationData< return this.mostRecentMutationId === mutationId; } - private updateResult(result: MutationResult) { + private updateResult(result: MutationResultWithoutClient) { if ( this.isMounted && (!this.previousResult || !equal(this.previousResult, result)) diff --git a/src/react/types/types.ts b/src/react/types/types.ts index 0602bea4f77..e2e00cc85df 100644 --- a/src/react/types/types.ts +++ b/src/react/types/types.ts @@ -189,8 +189,8 @@ export interface MutationResult { error?: ApolloError; loading: boolean; called: boolean; - client?: ApolloClient; -} + client: ApolloClient; +}; export declare type MutationFunction< TData = any,