UNPKG

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