Implement OneOfStructJsonConverter that serializes OneOf structures with value and reference arguments. #4
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.
OneOfStructJsonConverter
sources with T0-T2 generic arguments and tests for them are provided. Unfortunately I don't know how to write code that generates code (and don't have the time to learn now), but additional implementations with T3 through T8 generic arguments can be easily implemented by copy-paste with minor adjustments and appropriate tests.The implementation doesn't cover all value types according to Newtonsoft's
JTokenType
, but these can be relatively easily added with the appropriate tests.The reasoning behind a second JSON converter in the repo is that I could not make
OneOfJsonConverter
work correctly directly withOneOf<>
structure, because of the latter's restrictions enforced by its design -- I'm certain you're quite aware of them. So I needed a different name for the converter, because of the variant with only T0 generic argument that clashes withOneOfJsonConverter
. Do you think thatOneOfStructJsonConverter
is a good name?