UNPKG

parse-openapi

Version:

OpenAPI v3 parser

25 lines (24 loc) 928 B
"use strict"; 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;