UNPKG

assertthat

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