UNPKG

3.43 kBTypeScriptView Raw
1import { RefetchQueryFilters } from './types';
2import { QueryKey, QueryObserverOptions, QueryObserverResult, RefetchOptions, ResultOptions } from './types';
3import { Query, Action, FetchOptions } from './query';
4import { QueryClient } from './queryClient';
5import { Subscribable } from './subscribable';
6declare type QueryObserverListener<TData, TError> = (result: QueryObserverResult<TData, TError>) => void;
7export interface NotifyOptions {
8 cache?: boolean;
9 listeners?: boolean;
10 onError?: boolean;
11 onSuccess?: boolean;
12}
13export interface ObserverFetchOptions extends FetchOptions {
14 throwOnError?: boolean;
15}
16export declare class QueryObserver<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends Subscribable<QueryObserverListener<TData, TError>> {
17 options: QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>;
18 private client;
19 private currentQuery;
20 private currentQueryInitialState;
21 private currentResult;
22 private currentResultState?;
23 private currentResultOptions?;
24 private previousQueryResult?;
25 private selectError;
26 private selectFn?;
27 private selectResult?;
28 private staleTimeoutId?;
29 private refetchIntervalId?;
30 private currentRefetchInterval?;
31 private trackedProps;
32 constructor(client: QueryClient, options: QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>);
33 protected bindMethods(): void;
34 protected onSubscribe(): void;
35 protected onUnsubscribe(): void;
36 shouldFetchOnReconnect(): boolean;
37 shouldFetchOnWindowFocus(): boolean;
38 destroy(): void;
39 setOptions(options?: QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>, notifyOptions?: NotifyOptions): void;
40 getOptimisticResult(options: QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>): QueryObserverResult<TData, TError>;
41 getCurrentResult(): QueryObserverResult<TData, TError>;
42 trackResult(result: QueryObserverResult<TData, TError>, defaultedOptions: QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>): QueryObserverResult<TData, TError>;
43 getNextResult(options?: ResultOptions): Promise<QueryObserverResult<TData, TError>>;
44 getCurrentQuery(): Query<TQueryFnData, TError, TQueryData, TQueryKey>;
45 remove(): void;
46 refetch<TPageData>(options?: RefetchOptions & RefetchQueryFilters<TPageData>): Promise<QueryObserverResult<TData, TError>>;
47 fetchOptimistic(options: QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>): Promise<QueryObserverResult<TData, TError>>;
48 protected fetch(fetchOptions?: ObserverFetchOptions): Promise<QueryObserverResult<TData, TError>>;
49 private executeFetch;
50 private updateStaleTimeout;
51 private computeRefetchInterval;
52 private updateRefetchInterval;
53 private updateTimers;
54 private clearTimers;
55 private clearStaleTimeout;
56 private clearRefetchInterval;
57 protected createResult(query: Query<TQueryFnData, TError, TQueryData, TQueryKey>, options: QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>): QueryObserverResult<TData, TError>;
58 private shouldNotifyListeners;
59 updateResult(notifyOptions?: NotifyOptions): void;
60 private updateQuery;
61 onQueryUpdate(action: Action<TData, TError>): void;
62 private notify;
63}
64export {};