Support oneof based conditional value #33
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds two features related to oneof.
1. Set the value for the oneof field
Previously, when assigning a value to a oneof field, it was only possible to use autobind to assign the preconstructed oneof value as is.
However, from now on, it will be possible to create a value for each oneof the fields with a
grpc.federation.field
option.Evaluate
messages
only ifexpr
istrue
.Finally, evaluate
by
and assign it to field.2. Retrieving the value of oneof
sel
is a variable name for got message.user
is aoneof
's name of the above proto.Normally, we cannot directly reference the name of
oneof
, but if all of theoneof
fields have the same type, we can retrieve the value of any field that is not nil.