UNPKG

3.44 kBTypeScriptView Raw
1import { GraphQLError } from 'graphql';
2import { NetworkStatus } from './networkStatus';
3import { Observable } from '../util/Observable';
4import { ApolloError } from '../errors/ApolloError';
5import { QueryManager } from './QueryManager';
6import { ApolloQueryResult, OperationVariables } from './types';
7import { WatchQueryOptions, FetchMoreQueryOptions, SubscribeToMoreOptions, ErrorPolicy } from './watchQueryOptions';
8import { QueryStoreValue } from '../data/queries';
9export declare type ApolloCurrentResult<T> = {
10 data: T | {};
11 errors?: ReadonlyArray<GraphQLError>;
12 loading: boolean;
13 networkStatus: NetworkStatus;
14 error?: ApolloError;
15 partial?: boolean;
16};
17export declare type ApolloCurrentQueryResult<T> = {
18 data: T | undefined;
19 errors?: ReadonlyArray<GraphQLError>;
20 loading: boolean;
21 networkStatus: NetworkStatus;
22 error?: ApolloError;
23 partial?: boolean;
24 stale?: boolean;
25};
26export interface FetchMoreOptions<TData = any, TVariables = OperationVariables> {
27 updateQuery: (previousQueryResult: TData, options: {
28 fetchMoreResult?: TData;
29 variables?: TVariables;
30 }) => TData;
31}
32export interface UpdateQueryOptions<TVariables> {
33 variables?: TVariables;
34}
35export declare const hasError: (storeValue: QueryStoreValue, policy?: ErrorPolicy) => boolean | Error;
36export declare class ObservableQuery<TData = any, TVariables = OperationVariables> extends Observable<ApolloQueryResult<TData>> {
37 options: WatchQueryOptions<TVariables>;
38 readonly queryId: string;
39 readonly queryName?: string;
40 variables: TVariables;
41 private shouldSubscribe;
42 private isTornDown;
43 private queryManager;
44 private observers;
45 private subscriptions;
46 private lastResult;
47 private lastResultSnapshot;
48 private lastError;
49 constructor({ queryManager, options, shouldSubscribe, }: {
50 queryManager: QueryManager<any>;
51 options: WatchQueryOptions<TVariables>;
52 shouldSubscribe?: boolean;
53 });
54 result(): Promise<ApolloQueryResult<TData>>;
55 currentResult(): ApolloCurrentResult<TData>;
56 getCurrentResult(): ApolloCurrentQueryResult<TData>;
57 isDifferentFromLastResult(newResult: ApolloQueryResult<TData>): boolean;
58 getLastResult(): ApolloQueryResult<TData>;
59 getLastError(): ApolloError;
60 resetLastResults(): void;
61 resetQueryStoreErrors(): void;
62 refetch(variables?: TVariables): Promise<ApolloQueryResult<TData>>;
63 fetchMore<K extends keyof TVariables>(fetchMoreOptions: FetchMoreQueryOptions<TVariables, K> & FetchMoreOptions<TData, TVariables>): Promise<ApolloQueryResult<TData>>;
64 subscribeToMore<TSubscriptionData = TData, TSubscriptionVariables = TVariables>(options: SubscribeToMoreOptions<TData, TSubscriptionVariables, TSubscriptionData>): () => void;
65 setOptions(opts: WatchQueryOptions): Promise<ApolloQueryResult<TData> | void>;
66 setVariables(variables: TVariables, tryFetch?: boolean, fetchResults?: boolean): Promise<ApolloQueryResult<TData> | void>;
67 updateQuery<TVars = TVariables>(mapFn: (previousQueryResult: TData, options: UpdateQueryOptions<TVars>) => TData): void;
68 stopPolling(): void;
69 startPolling(pollInterval: number): void;
70 private updateLastResult;
71 private onSubscribe;
72 private setUpQuery;
73 private tearDownQuery;
74}
75//# sourceMappingURL=ObservableQuery.d.ts.map
\No newline at end of file