All files / src/core types.ts

100% Statements 4/4
100% Branches 2/2
100% Functions 1/1
100% Lines 4/4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43  10x 10x 10x 10x                                                                            
import { DocumentNode, GraphQLError } from 'graphql';
import { QueryStoreValue } from '../data/queries';
import { NetworkStatus } from './networkStatus';
import { FetchResult } from 'apollo-link-core';
 
export type QueryListener = (
  queryStoreValue: QueryStoreValue,
  newData?: any,
) => void;
 
export type PureQueryOptions = {
  query: DocumentNode;
  variables?: { [key: string]: any };
};
 
export type ApolloQueryResult<T> = {
  data: T;
  errors?: GraphQLError[];
  loading: boolean;
  networkStatus: NetworkStatus;
  stale: boolean;
};
 
export enum FetchType {
  normal = 1,
  refetch = 2,
  poll = 3,
}
 
// This is part of the public API, people write these functions in `updateQueries`.
export type MutationQueryReducer<T> = (
  previousResult: Record<string, any>,
  options: {
    mutationResult: FetchResult<T>;
    queryName: string | undefined;
    queryVariables: Record<string, any>;
  },
) => Record<string, any>;
 
export type MutationQueryReducersMap<T = { [key: string]: any }> = {
  [queryName: string]: MutationQueryReducer<T>;
};