xyncro / chiron

JSON for F#
https://xyncro.tech/chiron
MIT License
175 stars 41 forks source link

External serialization functions, plus moving of Lens functions #45

Closed kolektiv closed 8 years ago

kolektiv commented 8 years ago

Fantastic changes from @neoeinstein to allow passing in externally defined fromJson and toJson members for types that you don't control - makes it much simpler to write serialization code for System.* etc. types, or any other types where you can't write the serialization in the original type assembly.

Additionally, moved Json.setLens, etc. to Json.Lens.set, which is being harmonised across libraries which provide Aether lens functionality externally (generally monadic forms of the lens functions) - Freya is also moving to this. It also makes things consistent across libraries - Lens.set for core Aether lens functions, Json.Lens.set, Freya.Lens.set, etc. in external libraries which implement compatible functions. Non-breaking for now as shims are in place with deprecation - they will be removed in the next major version.