parse-openapi
Version:
OpenAPI v3 parser
25 lines (24 loc) • 928 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRequiredPropertiesFromComposition = void 0;
const getRef_1 = require("./getRef");
const getRequiredPropertiesFromComposition = (openApi, required, definitions, getModel) => {
return definitions
.reduce((properties, definition) => {
if (definition.$ref) {
const schema = (0, getRef_1.getRef)(openApi, definition);
return [...properties, ...getModel(openApi, schema).properties];
}
return [...properties, ...getModel(openApi, definition).properties];
}, [])
.filter((property) => {
return !property.isRequired && required.includes(property.name);
})
.map((property) => {
return {
...property,
isRequired: true,
};
});
};
exports.getRequiredPropertiesFromComposition = getRequiredPropertiesFromComposition;