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

100% Statements 14/14
100% Branches 0/0
100% Functions 13/13
100% Lines 11/11

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            41x       2x 2x 2x 2x 2x   1x 1x     2x               1x               1x                
import {
	invalidateSuggest as invalidateSuggestPeers,
	updateRevert as updateRevertPeers,
} from "../cache/peers";
import type { UseContextedMutationOptions } from "../context";
 
export const options: UseContextedMutationOptions<"peers.remove"> = {
	mutationKey: "peers.remove",
	onMutate:
		(controllerContext) =>
		({ id }) =>
			updateRevertPeers(controllerContext, {
				get: (controller) => controller.remove(id),
				getForeign: (controller) => controller.removeOwn(id),
				getPaged: (controller) => controller.remove(id),
			}),
	onSuccess: (controllerContext) => () =>
		invalidateSuggestPeers(controllerContext),
	mutateToastOptions:
		({ t }) =>
		(variablesSet) => ({
			text: t("toasts.removePeer.mutate", {
				ns: "peers",
				peersAmount: variablesSet.length,
			}),
		}),
	successToastOptions:
		({ t }) =>
		(_resultSet, variablesSet) => ({
			text: t("toasts.removePeer.success", {
				ns: "peers",
				peersAmount: variablesSet.length,
			}),
		}),
	errorToastOptions:
		({ t }) =>
		(errors) => ({
			text: t("toasts.removePeer.error", {
				ns: "peers",
				peersAmount: errors.length,
				errors,
			}),
		}),
};