All files / packages/mutations/src/receipts remove.ts

100% Statements 13/13
100% Branches 0/0
100% Functions 12/12
100% Lines 10/10

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48            102x   4x 4x 4x     3x 3x     3x           3x               2x               1x                
import {
	update as updateReceipts,
	updateRevert as updateRevertReceipts,
} from "../cache/receipts";
import type { UseContextedMutationOptions } from "../context";
 
export const options: UseContextedMutationOptions<"receipts.remove"> = {
	mutationKey: "receipts.remove",
	onMutate: (controllerContext) => (variables) =>
		updateRevertReceipts(controllerContext, {
			get: (controller) => controller.remove(variables.id),
			getPaged: undefined,
		}),
	onSuccess: (controllerContext) => () => {
		updateReceipts(controllerContext, {
			get: undefined,
			getPaged: (controller) => {
				void controller.invalidate();
			},
		});
	},
	mutateToastOptions:
		({ t }) =>
		(variablesSet) => ({
			text: t("toasts.removeReceipt.mutate", {
				ns: "receipts",
				receiptsCount: variablesSet.length,
			}),
		}),
	successToastOptions:
		({ t }) =>
		(resultSet) => ({
			text: t("toasts.removeReceipt.success", {
				ns: "receipts",
				receiptsCount: resultSet.length,
			}),
		}),
	errorToastOptions:
		({ t }) =>
		(errors) => ({
			text: t("toasts.removeReceipt.error", {
				ns: "receipts",
				receiptsCount: errors.length,
				errors,
			}),
		}),
};