Add support for populating objects in multiple nested lists

This commit is contained in:
2024-08-24 17:02:15 +09:30
parent dd6a4536c6
commit db9e63bac4
2 changed files with 35 additions and 3 deletions

View File

@@ -302,9 +302,27 @@ export class ProtoDefinitionService {
objectMessage.messageDefinition = {
name: objectMessage.messageDefinition.name,
values: message.values.map((value) => {
let configuration: MessageConfiguration | null = null;
if (value.configuration.type === MessageTypeEnum.Object) {
configuration = value.configuration;
} else if (value.configuration.type === MessageTypeEnum.List) {
const listConfiguration = value.configuration as ListMessage;
if (
listConfiguration.subConfiguration.type === MessageTypeEnum.Object
) {
configuration = listConfiguration.subConfiguration;
}
} else if (value.configuration.type === MessageTypeEnum.Map) {
const mapConfiguration = value.configuration as MapMessage;
if (
mapConfiguration.valueConfiguration.type === MessageTypeEnum.Object
) {
configuration = mapConfiguration.valueConfiguration;
}
}
if (configuration) {
this.populateNestedObject(
value.configuration as ObjectMessage,
configuration as ObjectMessage,
message.packageName!,
availableMessages
);