UNPKG

@loona/react

Version:

App State Management done with GraphQL (react integration)

30 lines (29 loc) 1.49 kB
import * as React from 'react'; import { MutationProps as ApolloMutationProps, MutationFn } from 'react-apollo'; import { ApolloError } from 'apollo-client'; import { DocumentNode } from 'graphql'; import { Loona } from '../client'; export interface MutationState<TData = any> { called: boolean; error?: ApolloError; data?: TData; loading: boolean; } export interface MutationProps extends ApolloMutationProps { loona?: Loona; } export declare class Mutation extends React.Component<MutationProps, MutationState> { static propTypes: { mutation: import("prop-types").Validator<object>; variables: import("prop-types").Requireable<object>; optimisticResponse: import("prop-types").Requireable<object>; refetchQueries: import("prop-types").Requireable<((...args: any[]) => any) | (string | object | null)[]>; awaitRefetchQueries: import("prop-types").Requireable<boolean>; update: import("prop-types").Requireable<(...args: any[]) => any>; children: import("prop-types").Validator<(...args: any[]) => any>; onCompleted: import("prop-types").Requireable<(...args: any[]) => any>; onError: import("prop-types").Requireable<(...args: any[]) => any>; }; render(): JSX.Element; } export declare function wrapMutation(loona: Loona | undefined, mutate: MutationFn, doc?: DocumentNode): (mutation: any) => Promise<void | import("react-apollo/Mutation").FetchResult<any, Record<string, any>>>;