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