UNPKG

3.54 kBTypeScriptView Raw
1import { DocumentNode, GraphQLError } from 'graphql';
2import { ApolloCache } from '../cache';
3import { FetchResult } from '../link/core';
4import { ApolloError } from '../errors';
5import { QueryInfo } from './QueryInfo';
6import { NetworkStatus } from './networkStatus';
7import { Resolver } from './LocalState';
8import { ObservableQuery } from './ObservableQuery';
9import { QueryOptions } from './watchQueryOptions';
10import { Cache } from '../cache';
11import { IsStrictlyAny } from '../utilities';
12export { TypedDocumentNode } from '@graphql-typed-document-node/core';
13export interface DefaultContext extends Record<string, any> {
14}
15export type QueryListener = (queryInfo: QueryInfo) => void;
16export type OnQueryUpdated<TResult> = (observableQuery: ObservableQuery<any>, diff: Cache.DiffResult<any>, lastDiff: Cache.DiffResult<any> | undefined) => boolean | TResult;
17export type RefetchQueryDescriptor = string | DocumentNode;
18export type InternalRefetchQueryDescriptor = RefetchQueryDescriptor | QueryOptions;
19type RefetchQueriesIncludeShorthand = "all" | "active";
20export type RefetchQueriesInclude = RefetchQueryDescriptor[] | RefetchQueriesIncludeShorthand;
21export type InternalRefetchQueriesInclude = InternalRefetchQueryDescriptor[] | RefetchQueriesIncludeShorthand;
22export interface RefetchQueriesOptions<TCache extends ApolloCache<any>, TResult> {
23 updateCache?: (cache: TCache) => void;
24 include?: RefetchQueriesInclude;
25 optimistic?: boolean;
26 onQueryUpdated?: OnQueryUpdated<TResult> | null;
27}
28export type RefetchQueriesPromiseResults<TResult> = IsStrictlyAny<TResult> extends true ? any[] : TResult extends boolean ? ApolloQueryResult<any>[] : TResult extends PromiseLike<infer U> ? U[] : TResult[];
29export interface RefetchQueriesResult<TResult> extends Promise<RefetchQueriesPromiseResults<TResult>> {
30 queries: ObservableQuery<any>[];
31 results: InternalRefetchQueriesResult<TResult>[];
32}
33export interface InternalRefetchQueriesOptions<TCache extends ApolloCache<any>, TResult> extends Omit<RefetchQueriesOptions<TCache, TResult>, "include"> {
34 include?: InternalRefetchQueriesInclude;
35 removeOptimistic?: string;
36}
37export type InternalRefetchQueriesResult<TResult> = TResult extends boolean ? Promise<ApolloQueryResult<any>> : TResult;
38export type InternalRefetchQueriesMap<TResult> = Map<ObservableQuery<any>, InternalRefetchQueriesResult<TResult>>;
39export type { QueryOptions as PureQueryOptions };
40export type OperationVariables = Record<string, any>;
41export type ApolloQueryResult<T> = {
42 data: T;
43 errors?: ReadonlyArray<GraphQLError>;
44 error?: ApolloError;
45 loading: boolean;
46 networkStatus: NetworkStatus;
47 partial?: boolean;
48};
49export type MutationQueryReducer<T> = (previousResult: Record<string, any>, options: {
50 mutationResult: FetchResult<T>;
51 queryName: string | undefined;
52 queryVariables: Record<string, any>;
53}) => Record<string, any>;
54export type MutationQueryReducersMap<T = {
55 [key: string]: any;
56}> = {
57 [queryName: string]: MutationQueryReducer<T>;
58};
59export type MutationUpdaterFn<T = {
60 [key: string]: any;
61}> = (cache: ApolloCache<T>, mutationResult: FetchResult<T>) => void;
62export type MutationUpdaterFunction<TData, TVariables, TContext, TCache extends ApolloCache<any>> = (cache: TCache, result: Omit<FetchResult<TData>, 'context'>, options: {
63 context?: TContext;
64 variables?: TVariables;
65}) => void;
66export interface Resolvers {
67 [key: string]: {
68 [field: string]: Resolver;
69 };
70}
71//# sourceMappingURL=types.d.ts.map
\No newline at end of file