[wip] [experimental] New type and converter for expandable fields #1370
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.
Still very experimental, and the code is downright awful at the moment, but here's the gist of it:
ExpandableField<>
generic class used to replace the previousStringOrObject<>.Map
method. The class is simply a container for two properties:Id
)ExpandedObject
)ExpandableFieldConverter
custom converter class to deserializeExpandableField
s. The converter:ExpandableField
Id
with the string and setsExpandedObject
tonull
ExpandableField
to the deserialized instance andId
to the value of theId
property of the deserializes instanceid
property of the raw JSON objectExpandableField
instanceSort of works, but we'll also need to add a custom deserializer for
StripeList
to handle polymorphic types there as well.