UNPKG

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