UNPKG

react-query

Version:

Hooks for managing, caching and syncing asynchronous and remote data in React

61 lines (60 loc) 3.24 kB
import { DefaultedQueryObserverOptions, RefetchPageFilters } from './types'; import type { QueryKey, QueryObserverOptions, QueryObserverResult, RefetchOptions } from './types'; import type { Query, Action, FetchOptions } from './query'; import type { QueryClient } from './queryClient'; import { Subscribable } from './subscribable'; declare type QueryObserverListener<TData, TError> = (result: QueryObserverResult<TData, TError>) => void; export interface NotifyOptions { cache?: boolean; listeners?: boolean; onError?: boolean; onSuccess?: boolean; } export interface ObserverFetchOptions extends FetchOptions { throwOnError?: boolean; } export declare class QueryObserver<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends Subscribable<QueryObserverListener<TData, TError>> { options: QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>; private client; private currentQuery; private currentQueryInitialState; private currentResult; private currentResultState?; private currentResultOptions?; private previousQueryResult?; private previousSelectError; private previousSelect?; private staleTimeoutId?; private refetchIntervalId?; private currentRefetchInterval?; private trackedProps; constructor(client: QueryClient, options: QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>); protected bindMethods(): void; protected onSubscribe(): void; protected onUnsubscribe(): void; shouldFetchOnReconnect(): boolean; shouldFetchOnWindowFocus(): boolean; destroy(): void; setOptions(options?: QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>, notifyOptions?: NotifyOptions): void; getOptimisticResult(options: DefaultedQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>): QueryObserverResult<TData, TError>; getCurrentResult(): QueryObserverResult<TData, TError>; trackResult(result: QueryObserverResult<TData, TError>): QueryObserverResult<TData, TError>; getCurrentQuery(): Query<TQueryFnData, TError, TQueryData, TQueryKey>; remove(): void; refetch<TPageData>({ refetchPage, ...options }?: RefetchOptions & RefetchPageFilters<TPageData>): Promise<QueryObserverResult<TData, TError>>; fetchOptimistic(options: QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>): Promise<QueryObserverResult<TData, TError>>; protected fetch(fetchOptions: ObserverFetchOptions): Promise<QueryObserverResult<TData, TError>>; private executeFetch; private updateStaleTimeout; private computeRefetchInterval; private updateRefetchInterval; private updateTimers; private clearStaleTimeout; private clearRefetchInterval; protected createResult(query: Query<TQueryFnData, TError, TQueryData, TQueryKey>, options: QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>): QueryObserverResult<TData, TError>; updateResult(notifyOptions?: NotifyOptions): void; private updateQuery; onQueryUpdate(action: Action<TData, TError>): void; private notify; } export {};