All files / packages/mutations/src utils.ts

100% Statements 9/9
100% Branches 0/0
100% Functions 5/5
100% Lines 9/9

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        287x     121x 121x   44x 44x   44x       76x 78x   78x          
import { isNonNullish } from "remeda";
 
import type { UpdaterRevertResult } from "./types";
 
export const mergeUpdaterResults = (
	...results: (UpdaterRevertResult | undefined)[]
): UpdaterRevertResult => {
	const filteredResults = results.filter(isNonNullish);
	return {
		revertFn: () => {
			for (const fn of filteredResults
				.map(({ revertFn }) => revertFn)
				.filter(isNonNullish)) {
				fn();
			}
		},
		finalizeFn: () => {
			for (const fn of filteredResults
				.map(({ finalizeFn }) => finalizeFn)
				.filter(isNonNullish)) {
				fn();
			}
		},
	};
};