Skip to content

Rewrite OptionDeserializer for Jackson#3605

Merged
serras merged 5 commits intomainfrom
serras/option-deserializer
Apr 14, 2025
Merged

Rewrite OptionDeserializer for Jackson#3605
serras merged 5 commits intomainfrom
serras/option-deserializer

Conversation

@serras
Copy link
Copy Markdown
Member

@serras serras commented Apr 13, 2025

This moves OptionDeserializer in line with the rest of the implementations; and seems to be much more resilient than before.

Fixes arrow-kt/arrow-integrations#131

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 13, 2025

Kover Report

File Coverage [94.29%]
arrow-libs/integrations/arrow-core-jackson/src/main/kotlin/arrow/integrations/jackson/module/OptionModule.kt 94.29%
Total Project Coverage 45.70%

@myuwono
Copy link
Copy Markdown
Collaborator

myuwono commented Apr 13, 2025

Thank you @serras! This is really nice!! I really like the refactor to using ReferenceTypeDeserializer<Option<*>>. I left a minor comment mainly to ensure we've factored in this case to all the other containers too. Making sure we left no stone unturned.

@serras
Copy link
Copy Markdown
Member Author

serras commented Apr 13, 2025

@myuwono thanks for your help in generalizing the tests! I've now added all of them for Either, Option, and Ior, and ensured that all use the same approach to deserialization.

Copy link
Copy Markdown
Collaborator

@myuwono myuwono left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @serras ! Looks amazing 👏

@serras serras merged commit ff3db0f into main Apr 14, 2025
12 checks passed
@serras serras deleted the serras/option-deserializer branch April 14, 2025 14:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] Map<SomeEnum, Option<String>> deserialization fails

2 participants