UNPKG

assertthat

Version:
32 lines (31 loc) 1.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.findArrayDiffAdditions = void 0; const findAdditions_1 = require("../findAdditions"); const sum_1 = require("../../utils/sum"); const ArrayDiff_1 = require("./ArrayDiff"); const ArrayDiffSegment_1 = require("./ArrayDiffSegment"); const findArrayDiffAdditions = function (diff) { const filteredSegments = diff.segments. map((segment) => { if ((0, ArrayDiffSegment_1.isChangeDiffSegment)(segment)) { const newSegmentContent = segment.change. map((change) => (0, findAdditions_1.findAdditions)(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.findArrayDiffAdditions = findArrayDiffAdditions;