Announcing WoofWare.Myriad.Plugins
This is a linkpost for WoofWare.Myriad.Plugins, a set of F# source generators (see it on NuGet). Go and read the README on GitHub if you’re interested. As of this writing, the following are implemented:
[<JsonParse>]
(to stamp outjsonParse : JsonNode -> 'T
methods)[<RemoveOptions>]
(to stripoption
modifiers from a type)[<HttpClient>]
(to stamp out a RestEase-style HTTP client)[<GenerateMock>]
(to stamp out a record type corresponding to an interface, for easy record-update syntax when mocking).
They are particularly intended for PublishAot
ahead-of-time compilation contexts, in which reflection is heavily restricted, but also for anyone who doesn’t want reflection for whatever reason (e.g. “to obtain the ability to step through code in a debugger”, or “for more predictable speed”).