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