Simlified if statements

This commit is contained in:
Sjoerd Mulder 2021-04-08 08:28:31 +02:00
parent 0eb5e91ce4
commit cb4732d14f

View File

@ -13,18 +13,16 @@ function inverseDictionary(map: Dictionary<string>): Dictionary<string> {
}
export function findOneOfParentDiscriminator(openApi: OpenApi, parent?: Model): OpenApiDiscriminator | undefined {
if (openApi.components) {
if (openApi.components && parent) {
for (const definitionName in openApi.components.schemas) {
if (openApi.components.schemas.hasOwnProperty(definitionName)) {
const schema = openApi.components.schemas[definitionName];
if (parent && schema.oneOf?.length && schema.discriminator) {
const isPartOf =
schema.oneOf
.map(definition => definition.$ref && stripNamespace(definition.$ref) === parent.name)
.filter(Boolean).length > 0;
if (isPartOf) {
return schema.discriminator;
}
if (
schema.discriminator &&
schema.oneOf?.length &&
schema.oneOf.some(definition => definition.$ref && stripNamespace(definition.$ref) == parent.name)
) {
return schema.discriminator;
}
}
}