FsCodec
FsCodec copied to clipboard
feat(UnionConverter): Support upconvert from string to nullary case
Support upconversion from a representation of an event starts with TypeSafeEnumConverter
for a given union (and hence has a string
value), being able to implicitly upconvert from that if the internal representation adds a non-nullary case (and hence switches to using UnionConverter).
Of course, in general one should have a clear picture of whether something is an enum or a full state with data per case. The point here is to be able to represent data that's specific to a case without that having to stuff it into adjacent optional fields with conditional logic defining when the field should be present etc.
#97 is slightly related, but is going the other direction, and is recovering from a missing converter rather than a natural evolution