@gravity-ui/data-source
Version:
A wrapper around data fetching
19 lines (18 loc) • 1.69 kB
TypeScript
import type { InvalidateQueryFilters, QueryClientConfig } from '@tanstack/react-query';
import { QueryClient } from '@tanstack/react-query';
import { type AnyDataSource, type DataManager, type DataSourceParams, type DataSourceTag } from '../core';
import type { InvalidateOptions, InvalidateRepeatOptions } from '../core/types/DataManagerOptions';
export type ClientDataManagerConfig = QueryClientConfig;
export declare class ClientDataManager implements DataManager {
readonly queryClient: QueryClient;
constructor(config?: ClientDataManagerConfig);
invalidateTag(tag: DataSourceTag, invalidateOptions?: InvalidateOptions): Promise<void>;
invalidateTags(tags: DataSourceTag[], invalidateOptions?: InvalidateOptions): Promise<void>;
invalidateSource<TDataSource extends AnyDataSource>(dataSource: TDataSource, invalidateOptions?: InvalidateOptions): Promise<void>;
resetSource<TDataSource extends AnyDataSource>(dataSource: TDataSource): Promise<void>;
invalidateParams<TDataSource extends AnyDataSource>(dataSource: TDataSource, params: DataSourceParams<TDataSource>, invalidateOptions?: InvalidateOptions): Promise<void>;
resetParams<TDataSource extends AnyDataSource>(dataSource: TDataSource, params: DataSourceParams<TDataSource>): Promise<void>;
invalidateSourceTags<TDataSource extends AnyDataSource>(dataSource: TDataSource, params: DataSourceParams<TDataSource>, invalidateOptions?: InvalidateOptions): Promise<void>;
protected invalidateQueries(filters: InvalidateQueryFilters, invalidateOptions?: InvalidateOptions): Promise<void>;
protected repeatInvalidate(invalidate: () => Promise<void>, repeat?: InvalidateRepeatOptions): void;
}