assertthat
Version:
assertthat provides fluent TDD.
25 lines (24 loc) • 1.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.findMapDiffOmissions = void 0;
const findOmissions_1 = require("../findOmissions");
const size_1 = require("../../size/typeAware/size");
const sum_1 = require("../../utils/sum");
const MapDiff_1 = require("./MapDiff");
const findMapDiffOmissions = function (diff) {
const filteredChanges = new Map([...diff.changes.entries()].
map(([key, change]) => [key, (0, findOmissions_1.findOmissions)(change)]).
filter(([, change]) => change.cost > 0));
const keptOmissionsCost = (0, sum_1.sum)([...diff.omissions.values()].
map((omission) => (0, size_1.size)(omission)));
const keptChangesCost = (0, sum_1.sum)([...filteredChanges.values()].
map((change) => change.cost));
return (0, MapDiff_1.mapDiff)({
cost: keptOmissionsCost + keptChangesCost,
omissions: diff.omissions,
changes: filteredChanges,
additions: new Map(),
equal: new Map()
});
};
exports.findMapDiffOmissions = findMapDiffOmissions;