In some cases, especially when creating entity states, an ID field has a value which equals the value of a field of a nested message.
For example, in ProtoData, ProtobufSourceFile message has the ID field file_path, which has the same value as the path value of the nested File message contained in the file field:
messageProtobufSourceFile {
option(entity).kind=VIEW;
// The relative path to the file.//// Must be the same as `file.path`.//FilePathfile_path=1;
Filefile=2;
...
}A programmer has to remember this fact, and currently there's no way to guard him against an error. It would be more convenient to have a validation option, which ensures that field values are equal:
messageProtobufSourceFile {
option(entity).kind=VIEW;
// The relative path to the file.//// Must be the same as `file.path`.//FilePathfile_path=1 [(same_as) = "file.path");
Filefile = 2;
...
In some cases, especially when creating entity states, an ID field has a value which equals the value of a field of a nested message.
For example, in ProtoData,
ProtobufSourceFilemessage has the ID fieldfile_path, which has the same value as thepathvalue of the nestedFilemessage contained in thefilefield:A programmer has to remember this fact, and currently there's no way to guard him against an error. It would be more convenient to have a validation option, which ensures that field values are equal: