You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This PR adds support for AnyOf and OneOf with the generateOneOfAnyOfWrappers flag in Kotlin Multiplatform.
I removed some checks to compare with the original anyof_class.mustache and oneof_class.mustache because multiplutform is more limited(kotlinx.serialization only).
is it correct to say that you've tested this fix locally to confirm it works for your use cases?
Yes, that’s correct. I verified it with the example from the first post.
In addition, I tested it against a large OpenAPI specification containing AnyOf and OneOf.
The generated code worked correctly in that case as well. While the result is not very convenient to use, it is functionally correct.
Yes. In the generated code(ResponseInner) our model is stored in the actualInstance field, which always has type Any. This is not ideal, because it loses type-safety.
It would be much better if the generator could produce a sealed class (or a similar construct) representing the possible types. That way the compiler could help ensure correct usage instead of relying on runtime checks.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 support for AnyOf and OneOf with the
generateOneOfAnyOfWrappersflag in Kotlin Multiplatform.I removed some checks to compare with the original
anyof_class.mustacheandoneof_class.mustachebecause multiplutform is more limited(kotlinx.serializationonly).For testing, you can use the following code:
It would be great if someone added testing for these cases, but I can't do that because I don't understand how they are organized here.
@dr4ke616 (2018/08) @karismann (2019/03) @Zomzog (2019/04) @andrewemery (2019/10) @4brunu (2019/11) @yutaka0m (2020/03) @stefankoppier (2022/06) @e5l (2024/10)
@wing328