Files
fastapi-openapi-to-postman/lib/swaggerUtils/swaggerToOpenapi.js
Luis Tejeda 3e62efcf4a PR requested changes
PR requested changes
2022-05-27 12:21:38 -05:00

36 lines
1.1 KiB
JavaScript

const Swagger2OpenAPI = require('swagger2openapi'),
{ isSwagger } = require('../common/versionUtils');
module.exports = {
/**
* Converts a Swagger 2.0 API definition into an OpenAPI 3.0 specification
* @param {Object} concreteUtils Concrete schema utils according to the specification version
* @param {object} parsedSwagger Parsed Swagger spec
* @param {function} convertExecution Function to perform the OAS-PM convertion after the Spec convertion
* @return {Object} {error, newOpenapi} The new open api spec or error if there was an error in the process
*/
convertToOAS30IfSwagger: function(concreteUtils, parsedSwagger, convertExecution) {
if (isSwagger(concreteUtils.version)) {
Swagger2OpenAPI.convertObj(
parsedSwagger,
{
fatal: false,
patch: true,
anchors: true,
warnOnly: true
},
(error, newOpenapi) => {
if (error) {
return convertExecution(error);
}
return convertExecution(null, newOpenapi.openapi);
}
);
}
else {
return convertExecution(null, parsedSwagger);
}
}
};