jet / FsCodec

F# Event-Union Contract Encoding with versioning tolerant converters supporting System.Text.Json and Newtonsoft.Json
https://github.com/jet/dotnet-templates
Apache License 2.0
83 stars 19 forks source link

Port UnionConverter to STJ re #43 #59

Closed bartelink closed 2 years ago

bartelink commented 3 years ago

The bulk of the commits in this PR derive from https://github.com/jet/FsCodec/pull/43 by @nickdarvey

In particular, the entire implementation and test suite was already complete, but was parked (and inadvertently closed, hence its in this PR).

The later commits effect minor cleanups:

bartelink commented 3 years ago

This has a set of failing test cases that need to be fixed.

The impl should end up being low double digit lines of code, but parking for someone with the time to do some reading of STJ source and/or fiddling about to handle the more complex cases cleanly!

bartelink commented 2 years ago

Woohoo I found the problem/solution (some tidying and/or extending of test suite still to be done, but seems this is on track for finally being released) cc @NickDarvey