diff --git a/.changeset/metal-bottles-swim.md b/.changeset/metal-bottles-swim.md new file mode 100644 index 0000000..2d01ab9 --- /dev/null +++ b/.changeset/metal-bottles-swim.md @@ -0,0 +1,5 @@ +--- +"tanstack-query-optimistic-updates": patch +--- + +- [PR](https://github.com/mugglim/tanstack-query-optimistic-updates/pull/9) diff --git a/src/react/__tests__/useOptimisticMutation.test.tsx b/src/react/__tests__/useOptimisticMutation.test.tsx index 591af49..b1593ea 100644 --- a/src/react/__tests__/useOptimisticMutation.test.tsx +++ b/src/react/__tests__/useOptimisticMutation.test.tsx @@ -36,7 +36,7 @@ describe("useOptimisticMutation", () => { mutationFn: () => Promise.resolve(), optimisticUpdateOptions: { queryKey: MOCK_QUERY_DATA.todo.queryKey, - optimisticUpdatesFn: ({ prevQueryData, variables }: { prevQueryData: Todo[]; variables: Todo }) => { + getOptimisticState: ({ prevQueryData, variables }: { prevQueryData: Todo[]; variables: Todo }) => { return [...prevQueryData, variables]; } } @@ -68,7 +68,7 @@ describe("useOptimisticMutation", () => { mutationFn: () => Promise.reject(), optimisticUpdateOptions: { queryKey: MOCK_QUERY_DATA.todo.queryKey, - optimisticUpdatesFn: ({ prevQueryData, variables }: { prevQueryData: Todo[]; variables: Todo }) => { + getOptimisticState: ({ prevQueryData, variables }: { prevQueryData: Todo[]; variables: Todo }) => { return [...prevQueryData, variables]; } } @@ -114,7 +114,7 @@ describe("useOptimisticMutation", () => { mutationFn: () => Promise.resolve(), optimisticUpdateOptions: { queryKey: MOCK_QUERY_DATA.todo.queryKey, - optimisticUpdatesFn: ({ prevQueryData, variables }: { prevQueryData: Todo[]; variables: Todo }) => { + getOptimisticState: ({ prevQueryData, variables }: { prevQueryData: Todo[]; variables: Todo }) => { return [...prevQueryData, variables]; }, invalidateQueryOnSuccess: true @@ -154,7 +154,7 @@ describe("useOptimisticMutation", () => { mutationFn: () => Promise.resolve(), optimisticUpdateOptions: { queryKey: MOCK_QUERY_DATA.todo.queryKey, - optimisticUpdatesFn: ({ prevQueryData, variables }: { prevQueryData: Todo[]; variables: Todo }) => { + getOptimisticState: ({ prevQueryData, variables }: { prevQueryData: Todo[]; variables: Todo }) => { return [...prevQueryData, variables]; }, invalidateQueryOnSuccess: () => { @@ -194,7 +194,7 @@ describe("useOptimisticMutation", () => { mutationFn: () => Promise.resolve(), optimisticUpdateOptions: { queryKey: MOCK_QUERY_DATA.todo.queryKey, - optimisticUpdatesFn: updateFnMock + getOptimisticState: updateFnMock } }); diff --git a/src/react/useOptimisticMutation/types.ts b/src/react/useOptimisticMutation/types.ts index fccaab8..649ade9 100644 --- a/src/react/useOptimisticMutation/types.ts +++ b/src/react/useOptimisticMutation/types.ts @@ -1,20 +1,9 @@ import { QueryKey } from "@tanstack/react-query"; export type OptimisticUpdateOptions = { - /** - * A query key for optimistic update - */ queryKey: QueryKey; - /** - * A function returns the resulting optimistic state. - */ - optimisticUpdatesFn: (param: { prevQueryData: TQueryData; variables: TVariables }) => TQueryData; - /** - * If set to `true`, the query will fetch if the data is stale. - * - * @default false - */ invalidateQueryOnSuccess?: boolean | (() => boolean); + getOptimisticState: (param: { prevQueryData: TQueryData; variables: TVariables }) => TQueryData; }; export type OptimisticUpdateContext = { diff --git a/src/react/useOptimisticMutation/useOptimisticMutation.ts b/src/react/useOptimisticMutation/useOptimisticMutation.ts index 4030fb8..1cd8bb3 100644 --- a/src/react/useOptimisticMutation/useOptimisticMutation.ts +++ b/src/react/useOptimisticMutation/useOptimisticMutation.ts @@ -20,7 +20,7 @@ export function useOptimisticMutation( @@ -35,7 +35,7 @@ export function useOptimisticMutation