Populate enum messages in nested lists/maps
This commit is contained in:
@@ -93,11 +93,11 @@ export class ProtoDefinitionService {
|
||||
configuration = listConfiguration.subConfiguration;
|
||||
}
|
||||
} else if (value.configuration.type === MessageTypeEnum.Map) {
|
||||
const listConfiguration = value.configuration as MapMessage;
|
||||
const mapConfiguration = value.configuration as MapMessage;
|
||||
if (
|
||||
listConfiguration.valueConfiguration.type === MessageTypeEnum.Object
|
||||
mapConfiguration.valueConfiguration.type === MessageTypeEnum.Object
|
||||
) {
|
||||
configuration = listConfiguration.valueConfiguration;
|
||||
configuration = mapConfiguration.valueConfiguration;
|
||||
}
|
||||
}
|
||||
if (configuration) {
|
||||
@@ -119,6 +119,26 @@ export class ProtoDefinitionService {
|
||||
value.configuration as ObjectMessage,
|
||||
enumMessages
|
||||
);
|
||||
} else if (value.configuration.type === MessageTypeEnum.List) {
|
||||
const listConfiguration = value.configuration as ListMessage;
|
||||
if (
|
||||
listConfiguration.subConfiguration.type === MessageTypeEnum.Object
|
||||
) {
|
||||
listConfiguration.subConfiguration = this.populateEnumMessages(
|
||||
listConfiguration.subConfiguration as ObjectMessage,
|
||||
enumMessages
|
||||
);
|
||||
}
|
||||
} else if (value.configuration.type === MessageTypeEnum.Map) {
|
||||
const mapConfiguration = value.configuration as MapMessage;
|
||||
if (
|
||||
mapConfiguration.valueConfiguration.type === MessageTypeEnum.Object
|
||||
) {
|
||||
mapConfiguration.valueConfiguration = this.populateEnumMessages(
|
||||
mapConfiguration.valueConfiguration as ObjectMessage,
|
||||
enumMessages
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -159,17 +179,44 @@ export class ProtoDefinitionService {
|
||||
}
|
||||
}
|
||||
objectMessage.messageDefinition.values =
|
||||
objectMessage.messageDefinition.values.map((obj) =>
|
||||
obj.configuration.type === MessageTypeEnum.Object
|
||||
? {
|
||||
objectMessage.messageDefinition.values.map((obj) => {
|
||||
if (obj.configuration.type === MessageTypeEnum.Object) {
|
||||
return {
|
||||
...obj,
|
||||
configuration: this.populateEnumMessages(
|
||||
obj.configuration as ObjectMessage,
|
||||
enumMessages
|
||||
),
|
||||
};
|
||||
} else if (obj.configuration.type === MessageTypeEnum.List) {
|
||||
const listConfiguration = obj.configuration as ListMessage;
|
||||
if (
|
||||
listConfiguration.subConfiguration.type === MessageTypeEnum.Object
|
||||
) {
|
||||
return {
|
||||
...obj,
|
||||
configuration: this.populateEnumMessages(
|
||||
obj.configuration as ObjectMessage,
|
||||
subConfiguration: this.populateEnumMessages(
|
||||
listConfiguration.subConfiguration as ObjectMessage,
|
||||
enumMessages
|
||||
),
|
||||
}
|
||||
: obj
|
||||
);
|
||||
};
|
||||
}
|
||||
} else if (obj.configuration.type === MessageTypeEnum.Map) {
|
||||
const mapConfiguration = obj.configuration as MapMessage;
|
||||
if (
|
||||
mapConfiguration.valueConfiguration.type === MessageTypeEnum.Object
|
||||
) {
|
||||
return {
|
||||
...obj,
|
||||
valueConfiguration: this.populateEnumMessages(
|
||||
mapConfiguration.valueConfiguration as ObjectMessage,
|
||||
enumMessages
|
||||
),
|
||||
};
|
||||
}
|
||||
}
|
||||
return obj;
|
||||
});
|
||||
return objectMessage;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user