UNPKG

6.9 kBTypeScriptView Raw
1import { ReactNode } from 'react';
2import { DocumentNode } from 'graphql';
3import { TypedDocumentNode } from '@graphql-typed-document-node/core';
4import { Observable, ObservableSubscription } from '../../utilities';
5import { FetchResult } from '../../link/core';
6import { ApolloError } from '../../errors';
7import { ApolloCache, ApolloClient, DefaultContext, FetchPolicy, MutationOptions, NetworkStatus, ObservableQuery, OperationVariables, InternalRefetchQueriesInclude, WatchQueryOptions } from '../../core';
8export type { DefaultContext as Context } from "../../core";
9export declare type CommonOptions<TOptions> = TOptions & {
10 client?: ApolloClient<object>;
11};
12export interface BaseQueryOptions<TVariables = OperationVariables> extends Omit<WatchQueryOptions<TVariables>, "query"> {
13 ssr?: boolean;
14 client?: ApolloClient<any>;
15 context?: DefaultContext;
16}
17export interface QueryFunctionOptions<TData = any, TVariables = OperationVariables> extends BaseQueryOptions<TVariables> {
18 skip?: boolean;
19 onCompleted?: (data: TData) => void;
20 onError?: (error: ApolloError) => void;
21 defaultOptions?: Partial<WatchQueryOptions<TVariables, TData>>;
22}
23export declare type ObservableQueryFields<TData, TVariables> = Pick<ObservableQuery<TData, TVariables>, 'startPolling' | 'stopPolling' | 'subscribeToMore' | 'updateQuery' | 'refetch' | 'reobserve' | 'variables' | 'fetchMore'>;
24export interface QueryResult<TData = any, TVariables = OperationVariables> extends ObservableQueryFields<TData, TVariables> {
25 client: ApolloClient<any>;
26 observable: ObservableQuery<TData, TVariables>;
27 data: TData | undefined;
28 previousData?: TData;
29 error?: ApolloError;
30 loading: boolean;
31 networkStatus: NetworkStatus;
32 called: boolean;
33}
34export interface QueryDataOptions<TData = any, TVariables = OperationVariables> extends QueryFunctionOptions<TData, TVariables> {
35 children?: (result: QueryResult<TData, TVariables>) => ReactNode;
36 query: DocumentNode | TypedDocumentNode<TData, TVariables>;
37}
38export interface QueryHookOptions<TData = any, TVariables = OperationVariables> extends QueryFunctionOptions<TData, TVariables> {
39 query?: DocumentNode | TypedDocumentNode<TData, TVariables>;
40}
41export interface LazyQueryHookOptions<TData = any, TVariables = OperationVariables> extends Omit<QueryHookOptions<TData, TVariables>, 'skip'> {
42}
43export interface QueryLazyOptions<TVariables> {
44 variables?: TVariables;
45 context?: DefaultContext;
46}
47export declare type LazyQueryResult<TData, TVariables> = QueryResult<TData, TVariables>;
48export declare type QueryTuple<TData, TVariables> = LazyQueryResultTuple<TData, TVariables>;
49export declare type LazyQueryExecFunction<TData, TVariables> = (options?: Partial<LazyQueryHookOptions<TData, TVariables>>) => Promise<QueryResult<TData, TVariables>>;
50export declare type LazyQueryResultTuple<TData, TVariables> = [
51 LazyQueryExecFunction<TData, TVariables>,
52 QueryResult<TData, TVariables>
53];
54export declare type RefetchQueriesFunction = (...args: any[]) => InternalRefetchQueriesInclude;
55export interface BaseMutationOptions<TData = any, TVariables = OperationVariables, TContext = DefaultContext, TCache extends ApolloCache<any> = ApolloCache<any>> extends Omit<MutationOptions<TData, TVariables, TContext, TCache>, "mutation"> {
56 client?: ApolloClient<object>;
57 notifyOnNetworkStatusChange?: boolean;
58 onCompleted?: (data: TData, clientOptions?: BaseMutationOptions) => void;
59 onError?: (error: ApolloError, clientOptions?: BaseMutationOptions) => void;
60 ignoreResults?: boolean;
61}
62export interface MutationFunctionOptions<TData = any, TVariables = OperationVariables, TContext = DefaultContext, TCache extends ApolloCache<any> = ApolloCache<any>> extends BaseMutationOptions<TData, TVariables, TContext, TCache> {
63 mutation?: DocumentNode | TypedDocumentNode<TData, TVariables>;
64}
65export interface MutationResult<TData = any> {
66 data?: TData | null;
67 error?: ApolloError;
68 loading: boolean;
69 called: boolean;
70 client: ApolloClient<object>;
71 reset(): void;
72}
73export declare type MutationFunction<TData = any, TVariables = OperationVariables, TContext = DefaultContext, TCache extends ApolloCache<any> = ApolloCache<any>> = (options?: MutationFunctionOptions<TData, TVariables, TContext, TCache>) => Promise<FetchResult<TData>>;
74export interface MutationHookOptions<TData = any, TVariables = OperationVariables, TContext = DefaultContext, TCache extends ApolloCache<any> = ApolloCache<any>> extends BaseMutationOptions<TData, TVariables, TContext, TCache> {
75 mutation?: DocumentNode | TypedDocumentNode<TData, TVariables>;
76}
77export interface MutationDataOptions<TData = any, TVariables = OperationVariables, TContext = DefaultContext, TCache extends ApolloCache<any> = ApolloCache<any>> extends BaseMutationOptions<TData, TVariables, TContext, TCache> {
78 mutation: DocumentNode | TypedDocumentNode<TData, TVariables>;
79}
80export declare type MutationTuple<TData, TVariables, TContext = DefaultContext, TCache extends ApolloCache<any> = ApolloCache<any>> = [
81 (options?: MutationFunctionOptions<TData, TVariables, TContext, TCache>) => Promise<FetchResult<TData>>,
82 MutationResult<TData>
83];
84export interface OnDataOptions<TData = any> {
85 client: ApolloClient<object>;
86 data: SubscriptionResult<TData>;
87}
88export interface OnSubscriptionDataOptions<TData = any> {
89 client: ApolloClient<object>;
90 subscriptionData: SubscriptionResult<TData>;
91}
92export interface BaseSubscriptionOptions<TData = any, TVariables = OperationVariables> {
93 variables?: TVariables;
94 fetchPolicy?: FetchPolicy;
95 shouldResubscribe?: boolean | ((options: BaseSubscriptionOptions<TData, TVariables>) => boolean);
96 client?: ApolloClient<object>;
97 skip?: boolean;
98 context?: DefaultContext;
99 onComplete?: () => void;
100 onData?: (options: OnDataOptions<TData>) => any;
101 onSubscriptionData?: (options: OnSubscriptionDataOptions<TData>) => any;
102 onError?: (error: ApolloError) => void;
103 onSubscriptionComplete?: () => void;
104}
105export interface SubscriptionResult<TData = any, TVariables = any> {
106 loading: boolean;
107 data?: TData;
108 error?: ApolloError;
109 variables?: TVariables;
110}
111export interface SubscriptionHookOptions<TData = any, TVariables = OperationVariables> extends BaseSubscriptionOptions<TData, TVariables> {
112 subscription?: DocumentNode | TypedDocumentNode<TData, TVariables>;
113}
114export interface SubscriptionDataOptions<TData = any, TVariables = OperationVariables> extends BaseSubscriptionOptions<TData, TVariables> {
115 subscription: DocumentNode | TypedDocumentNode<TData, TVariables>;
116 children?: null | ((result: SubscriptionResult<TData>) => JSX.Element | null);
117}
118export interface SubscriptionCurrentObservable {
119 query?: Observable<any>;
120 subscription?: ObservableSubscription;
121}
122//# sourceMappingURL=types.d.ts.map
\No newline at end of file