Support serialization of object examples on unions #5180
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 fixes this issue:
@example
decorator not supported forunion
s #4869Currently, the
@typespec/openapi3
emitter supports@example
s formodel
s, but outputs incorrect examples forunion
s.For example (playground link):
should output with
{ a: 1 }
as the example, but instead it is{}
.The issue manifests in the
serializeValueAsJson
function in packages/compiler/src/lib/examples.ts, and occurs because theresolveUnions
function in the same file fails to detect the appropriate union variant.With this PR, the example is emitted correctly. I've added a unit test to confirm this.