UNPKG

assertthat

Version:
25 lines (24 loc) 1.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.findObjectDiffAdditions = void 0; const findAdditions_1 = require("../findAdditions"); const size_1 = require("../../size/typeAware/size"); const sum_1 = require("../../utils/sum"); const ObjectDiff_1 = require("./ObjectDiff"); const findObjectDiffAdditions = function (diff) { const filteredChanges = Object.fromEntries(Object.entries(diff.changes). map(([key, change]) => [key, (0, findAdditions_1.findAdditions)(change)]). filter(([, change]) => change.cost > 0)); const keptAdditionsCost = (0, sum_1.sum)(Object.values(diff.additions). map((addition) => (0, size_1.size)(addition))); const keptChangesCost = (0, sum_1.sum)(Object.values(filteredChanges). map((change) => change.cost)); return (0, ObjectDiff_1.objectDiff)({ cost: keptAdditionsCost + keptChangesCost, additions: diff.additions, changes: filteredChanges, omissions: {}, equal: {} }); }; exports.findObjectDiffAdditions = findObjectDiffAdditions;