UNPKG

assertthat

Version:
32 lines (31 loc) 1.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.findArrayDiffOmissions = void 0; const findOmissions_1 = require("../findOmissions"); const sum_1 = require("../../utils/sum"); const ArrayDiff_1 = require("./ArrayDiff"); const ArrayDiffSegment_1 = require("./ArrayDiffSegment"); const findArrayDiffOmissions = function (diff) { const filteredSegments = diff.segments. map((segment) => { if ((0, ArrayDiffSegment_1.isChangeDiffSegment)(segment)) { const newSegmentContent = segment.change. map((change) => (0, findOmissions_1.findOmissions)(change)). filter((change) => change.cost > 0); const newCost = (0, sum_1.sum)(newSegmentContent.map((change) => change.cost)); return { change: newSegmentContent, cost: newCost }; } return segment; }). filter((segment) => !(0, ArrayDiffSegment_1.isEqualDiffSegment)(segment) && !(0, ArrayDiffSegment_1.isAdditionDiffSegment)(segment) && segment.cost > 0); return (0, ArrayDiff_1.arrayDiff)({ cost: (0, sum_1.sum)(filteredSegments.map((segment) => segment.cost)), segments: filteredSegments }); }; exports.findArrayDiffOmissions = findArrayDiffOmissions;