UNPKG

openapi-diff

Version:

A CLI tool to identify differences between Swagger/OpenAPI specs.

42 lines (41 loc) 1.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DiffClassifier = void 0; const result_type_finder_1 = require("./result-type-finder"); const isBreakingDiffResult = (diffResult) => { return diffResult.type === 'breaking'; }; const isNonBreakingDiffResult = (diffResult) => { return diffResult.type === 'non-breaking'; }; const isUnclassifiedDiffResult = (diffResult) => { return diffResult.type === 'unclassified'; }; class DiffClassifier { static classifyDifferences(differences) { const classifiedDiffResults = { breakingDifferences: [], nonBreakingDifferences: [], unclassifiedDifferences: [] }; differences .map(DiffClassifier.differenceToDiffResult) .forEach((diffResult) => { if (isBreakingDiffResult(diffResult)) { classifiedDiffResults.breakingDifferences.push(diffResult); } else if (isNonBreakingDiffResult(diffResult)) { classifiedDiffResults.nonBreakingDifferences.push(diffResult); } else if (isUnclassifiedDiffResult(diffResult)) { classifiedDiffResults.unclassifiedDifferences.push(diffResult); } }); return classifiedDiffResults; } static differenceToDiffResult(difference) { const type = result_type_finder_1.resultTypeFinder.lookup(difference.code); return Object.assign({ type }, difference); } } exports.DiffClassifier = DiffClassifier;