"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getOperationsChangedLabel = exports.getOperationsChanged = exports.getLabel = void 0; const group_diff_1 = require("../openapi3/group-diff"); const types_1 = require("../openapi3/sdk/types"); const getLabel = (operationsModifsCount, opts) => Object.keys(operationsModifsCount) .filter((k) => operationsModifsCount[k]) .map((key, ix) => `${operationsModifsCount[key]} ${ix === 0 ? operationsModifsCount[key] > 1 ? 'operations ' : 'operation ' : ''}${key}`) .join(opts?.joiner ?? ', '); exports.getLabel = getLabel; const getOperationsChanged = (groupedDiffs) => { const addedOps = new Set(); const changedOps = new Set(); const removedOps = new Set(); for (const endpoint of Object.values(groupedDiffs.endpoints)) { const id = `${endpoint.method.toUpperCase()} ${endpoint.path}`; const diffs = (0, group_diff_1.getEndpointDiffs)(endpoint); const typeofDiffs = (0, group_diff_1.typeofV3Diffs)(endpoint.diffs); if (typeofDiffs === 'added') { addedOps.add(id); } else if (typeofDiffs === 'removed') { removedOps.add(id); } else if (diffs.length > 0) { changedOps.add(id); } } return { added: addedOps, changed: changedOps, removed: removedOps, }; }; exports.getOperationsChanged = getOperationsChanged; const getOperationsChangedLabel = (groupedDiffs, opts) => { const { added, changed, removed } = (0, exports.getOperationsChanged)(groupedDiffs); return (0, exports.getLabel)({ added: added.size, changed: changed.size, removed: removed.size, }, opts); }; exports.getOperationsChangedLabel = getOperationsChangedLabel; //# sourceMappingURL=count-changed-operations.js.map