queryCache.d.ts 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import { Query } from './query';
  2. import { Subscribable } from './subscribable';
  3. import type { QueryFilters } from './utils';
  4. import type { Action, QueryState } from './query';
  5. import type { NotifyEvent, QueryKey, QueryOptions } from './types';
  6. import type { QueryClient } from './queryClient';
  7. import type { QueryObserver } from './queryObserver';
  8. interface QueryCacheConfig {
  9. onError?: (error: unknown, query: Query<unknown, unknown, unknown>) => void;
  10. onSuccess?: (data: unknown, query: Query<unknown, unknown, unknown>) => void;
  11. onSettled?: (data: unknown | undefined, error: unknown | null, query: Query<unknown, unknown, unknown>) => void;
  12. }
  13. interface NotifyEventQueryAdded extends NotifyEvent {
  14. type: 'added';
  15. query: Query<any, any, any, any>;
  16. }
  17. interface NotifyEventQueryRemoved extends NotifyEvent {
  18. type: 'removed';
  19. query: Query<any, any, any, any>;
  20. }
  21. interface NotifyEventQueryUpdated extends NotifyEvent {
  22. type: 'updated';
  23. query: Query<any, any, any, any>;
  24. action: Action<any, any>;
  25. }
  26. interface NotifyEventQueryObserverAdded extends NotifyEvent {
  27. type: 'observerAdded';
  28. query: Query<any, any, any, any>;
  29. observer: QueryObserver<any, any, any, any, any>;
  30. }
  31. interface NotifyEventQueryObserverRemoved extends NotifyEvent {
  32. type: 'observerRemoved';
  33. query: Query<any, any, any, any>;
  34. observer: QueryObserver<any, any, any, any, any>;
  35. }
  36. interface NotifyEventQueryObserverResultsUpdated extends NotifyEvent {
  37. type: 'observerResultsUpdated';
  38. query: Query<any, any, any, any>;
  39. }
  40. interface NotifyEventQueryObserverOptionsUpdated extends NotifyEvent {
  41. type: 'observerOptionsUpdated';
  42. query: Query<any, any, any, any>;
  43. observer: QueryObserver<any, any, any, any, any>;
  44. }
  45. export declare type QueryCacheNotifyEvent = NotifyEventQueryAdded | NotifyEventQueryRemoved | NotifyEventQueryUpdated | NotifyEventQueryObserverAdded | NotifyEventQueryObserverRemoved | NotifyEventQueryObserverResultsUpdated | NotifyEventQueryObserverOptionsUpdated;
  46. declare type QueryCacheListener = (event: QueryCacheNotifyEvent) => void;
  47. export declare class QueryCache extends Subscribable<QueryCacheListener> {
  48. config: QueryCacheConfig;
  49. private queries;
  50. private queriesMap;
  51. constructor(config?: QueryCacheConfig);
  52. build<TQueryFnData, TError, TData, TQueryKey extends QueryKey>(client: QueryClient, options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>, state?: QueryState<TData, TError>): Query<TQueryFnData, TError, TData, TQueryKey>;
  53. add(query: Query<any, any, any, any>): void;
  54. remove(query: Query<any, any, any, any>): void;
  55. clear(): void;
  56. get<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryHash: string): Query<TQueryFnData, TError, TData, TQueryKey> | undefined;
  57. getAll(): Query[];
  58. find<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData>(arg1: QueryKey, arg2?: QueryFilters): Query<TQueryFnData, TError, TData> | undefined;
  59. findAll(queryKey?: QueryKey, filters?: QueryFilters): Query[];
  60. findAll(filters?: QueryFilters): Query[];
  61. findAll(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): Query[];
  62. notify(event: QueryCacheNotifyEvent): void;
  63. onFocus(): void;
  64. onOnline(): void;
  65. }
  66. export {};
  67. //# sourceMappingURL=queryCache.d.ts.map