openapi-route-expander
Version:
A utility for resolving $ref in OpenAPI YAML routes, generating new YAML files without $ref, ready for OpenAPI processing.
25 lines • 1.55 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.resolveRefsInRoutes = resolveRefsInRoutes;
const fs_1 = __importDefault(require("fs"));
const validation_1 = require("./validation");
const file_util_1 = require("./util/file.util");
const openapi_json_1 = require("./openapi-json");
const y_a_m_l_util_1 = require("./util/y-a-m-l.util");
function resolveRefsInRoutes(inputFilePath, outputFilePath) {
validation_1.Validation.absolutePaths([inputFilePath, outputFilePath]);
validation_1.Validation.pathExist(inputFilePath);
file_util_1.FileUtil.createDirector(file_util_1.FileUtil.getDirectory(outputFilePath));
let openApiJSON = file_util_1.FileUtil.readYaml(inputFilePath);
const fileName = (0, openapi_json_1.extractFileName)(inputFilePath);
openApiJSON = (0, openapi_json_1.replaceRelativeToAbsolutePath)(openApiJSON, file_util_1.FileUtil.getDirectory(inputFilePath), fileName);
openApiJSON.paths = (0, openapi_json_1.mergeNestedPaths)(openApiJSON.paths, inputFilePath);
openApiJSON = (0, openapi_json_1.fixOpenApiAbsoluteRoute)(openApiJSON, file_util_1.FileUtil.getDirectory(outputFilePath));
let openAPIYaml = y_a_m_l_util_1.YAMLUtil.stringify(openApiJSON);
openAPIYaml = (0, openapi_json_1.fixOpenApiYamlStringIssue)(openAPIYaml);
fs_1.default.writeFileSync(outputFilePath, openAPIYaml, 'utf-8');
}
//# sourceMappingURL=index.js.map