Merge pull request #916 from sjoerdmulder/feature/discriminator-cleanup

Small cleanup
This commit is contained in:
Ferdi Koomen 2022-01-06 13:46:52 +01:00 committed by GitHub
commit 708677684d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

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;
}
}
}