UNPKG

3.18 kBTypeScriptView Raw
1import { DocumentNode } from 'graphql';
2import { FetchResult } from 'apollo-link';
3import { DataProxy } from 'apollo-cache';
4import { MutationQueryReducersMap } from './types';
5import { PureQueryOptions, OperationVariables } from './types';
6export declare type FetchPolicy = 'cache-first' | 'network-only' | 'cache-only' | 'no-cache' | 'standby';
7export declare type WatchQueryFetchPolicy = FetchPolicy | 'cache-and-network';
8export declare type ErrorPolicy = 'none' | 'ignore' | 'all';
9export interface QueryBaseOptions<TVariables = OperationVariables> {
10 query: DocumentNode;
11 variables?: TVariables;
12 errorPolicy?: ErrorPolicy;
13 fetchResults?: boolean;
14 metadata?: any;
15 context?: any;
16}
17export interface QueryOptions<TVariables = OperationVariables> extends QueryBaseOptions<TVariables> {
18 fetchPolicy?: FetchPolicy;
19}
20export interface ModifiableWatchQueryOptions<TVariables = OperationVariables> extends QueryBaseOptions<TVariables> {
21 pollInterval?: number;
22 notifyOnNetworkStatusChange?: boolean;
23 returnPartialData?: boolean;
24}
25export interface WatchQueryOptions<TVariables = OperationVariables> extends QueryBaseOptions<TVariables>, ModifiableWatchQueryOptions<TVariables> {
26 fetchPolicy?: WatchQueryFetchPolicy;
27}
28export interface FetchMoreQueryOptions<TVariables, K extends keyof TVariables> {
29 query?: DocumentNode;
30 variables?: Pick<TVariables, K>;
31 context?: any;
32}
33export declare type UpdateQueryFn<TData = any, TSubscriptionVariables = OperationVariables, TSubscriptionData = TData> = (previousQueryResult: TData, options: {
34 subscriptionData: {
35 data: TSubscriptionData;
36 };
37 variables?: TSubscriptionVariables;
38}) => TData;
39export declare type SubscribeToMoreOptions<TData = any, TSubscriptionVariables = OperationVariables, TSubscriptionData = TData> = {
40 document: DocumentNode;
41 variables?: TSubscriptionVariables;
42 updateQuery?: UpdateQueryFn<TData, TSubscriptionVariables, TSubscriptionData>;
43 onError?: (error: Error) => void;
44};
45export interface SubscriptionOptions<TVariables = OperationVariables> {
46 query: DocumentNode;
47 variables?: TVariables;
48 fetchPolicy?: FetchPolicy;
49}
50export declare type RefetchQueryDescription = Array<string | PureQueryOptions>;
51export interface MutationBaseOptions<T = {
52 [key: string]: any;
53}, TVariables = OperationVariables> {
54 optimisticResponse?: T | ((vars: TVariables) => T);
55 updateQueries?: MutationQueryReducersMap<T>;
56 refetchQueries?: ((result: FetchResult<T>) => RefetchQueryDescription) | RefetchQueryDescription;
57 awaitRefetchQueries?: boolean;
58 update?: MutationUpdaterFn<T>;
59 errorPolicy?: ErrorPolicy;
60 variables?: TVariables;
61}
62export interface MutationOptions<T = {
63 [key: string]: any;
64}, TVariables = OperationVariables> extends MutationBaseOptions<T, TVariables> {
65 mutation: DocumentNode;
66 context?: any;
67 fetchPolicy?: FetchPolicy;
68}
69export declare type MutationUpdaterFn<T = {
70 [key: string]: any;
71}> = (proxy: DataProxy, mutationResult: FetchResult<T>) => void;
72//# sourceMappingURL=watchQueryOptions.d.ts.map
\No newline at end of file