- Filter empty composition models resolving "{...} & any" in extends

This commit is contained in:
Ferdi Koomen 2020-11-28 09:46:42 +01:00
parent 5559a15d2a
commit 3eb981cc57
2 changed files with 26 additions and 10 deletions

View File

@ -15,11 +15,19 @@ export function getModelComposition(openApi: OpenApi, definitions: OpenApiSchema
};
const modes = definitions.map(definition => getModel(openApi, definition));
modes.forEach(model => {
composition.imports.push(...model.imports);
composition.enums.push(...model.enums);
composition.properties.push(model);
});
modes
.filter(model => {
const hasProperties = model.properties.length;
const hasEnums = model.enums.length;
const isObject = model.type === 'any';
const isEmpty = isObject && !hasProperties && !hasEnums;
return !isEmpty;
})
.forEach(model => {
composition.imports.push(...model.imports);
composition.enums.push(...model.enums);
composition.properties.push(model);
});
return composition;
}

View File

@ -15,11 +15,19 @@ export function getModelComposition(openApi: OpenApi, definitions: OpenApiSchema
};
const modes = definitions.map(definition => getModel(openApi, definition));
modes.forEach(model => {
composition.imports.push(...model.imports);
composition.enums.push(...model.enums);
composition.properties.push(model);
});
modes
.filter(model => {
const hasProperties = model.properties.length;
const hasEnums = model.enums.length;
const isObject = model.type === 'any';
const isEmpty = isObject && !hasProperties && !hasEnums;
return !isEmpty;
})
.forEach(model => {
composition.imports.push(...model.imports);
composition.enums.push(...model.enums);
composition.properties.push(model);
});
return composition;
}