mutationCache.d.ts 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import { Mutation } from './mutation';
  2. import { Subscribable } from './subscribable';
  3. import type { MutationObserver } from './mutationObserver';
  4. import type { MutationOptions, NotifyEvent } from './types';
  5. import type { QueryClient } from './queryClient';
  6. import type { Action, MutationState } from './mutation';
  7. import type { MutationFilters } from './utils';
  8. interface MutationCacheConfig {
  9. onError?: (error: unknown, variables: unknown, context: unknown, mutation: Mutation<unknown, unknown, unknown>) => Promise<unknown> | unknown;
  10. onSuccess?: (data: unknown, variables: unknown, context: unknown, mutation: Mutation<unknown, unknown, unknown>) => Promise<unknown> | unknown;
  11. onMutate?: (variables: unknown, mutation: Mutation<unknown, unknown, unknown>) => Promise<unknown> | unknown;
  12. onSettled?: (data: unknown | undefined, error: unknown | null, variables: unknown, context: unknown, mutation: Mutation<unknown, unknown, unknown>) => Promise<unknown> | unknown;
  13. }
  14. interface NotifyEventMutationAdded extends NotifyEvent {
  15. type: 'added';
  16. mutation: Mutation<any, any, any, any>;
  17. }
  18. interface NotifyEventMutationRemoved extends NotifyEvent {
  19. type: 'removed';
  20. mutation: Mutation<any, any, any, any>;
  21. }
  22. interface NotifyEventMutationObserverAdded extends NotifyEvent {
  23. type: 'observerAdded';
  24. mutation: Mutation<any, any, any, any>;
  25. observer: MutationObserver<any, any, any>;
  26. }
  27. interface NotifyEventMutationObserverRemoved extends NotifyEvent {
  28. type: 'observerRemoved';
  29. mutation: Mutation<any, any, any, any>;
  30. observer: MutationObserver<any, any, any>;
  31. }
  32. interface NotifyEventMutationObserverOptionsUpdated extends NotifyEvent {
  33. type: 'observerOptionsUpdated';
  34. mutation?: Mutation<any, any, any, any>;
  35. observer: MutationObserver<any, any, any, any>;
  36. }
  37. interface NotifyEventMutationUpdated extends NotifyEvent {
  38. type: 'updated';
  39. mutation: Mutation<any, any, any, any>;
  40. action: Action<any, any, any, any>;
  41. }
  42. declare type MutationCacheNotifyEvent = NotifyEventMutationAdded | NotifyEventMutationRemoved | NotifyEventMutationObserverAdded | NotifyEventMutationObserverRemoved | NotifyEventMutationObserverOptionsUpdated | NotifyEventMutationUpdated;
  43. declare type MutationCacheListener = (event: MutationCacheNotifyEvent) => void;
  44. export declare class MutationCache extends Subscribable<MutationCacheListener> {
  45. config: MutationCacheConfig;
  46. private mutations;
  47. private mutationId;
  48. private resuming;
  49. constructor(config?: MutationCacheConfig);
  50. build<TData, TError, TVariables, TContext>(client: QueryClient, options: MutationOptions<TData, TError, TVariables, TContext>, state?: MutationState<TData, TError, TVariables, TContext>): Mutation<TData, TError, TVariables, TContext>;
  51. add(mutation: Mutation<any, any, any, any>): void;
  52. remove(mutation: Mutation<any, any, any, any>): void;
  53. clear(): void;
  54. getAll(): Mutation[];
  55. find<TData = unknown, TError = unknown, TVariables = any, TContext = unknown>(filters: MutationFilters): Mutation<TData, TError, TVariables, TContext> | undefined;
  56. findAll(filters: MutationFilters): Mutation[];
  57. notify(event: MutationCacheNotifyEvent): void;
  58. resumePausedMutations(): Promise<unknown>;
  59. }
  60. export {};
  61. //# sourceMappingURL=mutationCache.d.ts.map