Files
static-site-pipeline/hugo/content/posts/2023-12-31-woofware-myriad-plugins.md
2023-12-31 13:48:53 +00:00

1.4 KiB

lastmod, author, categories, date, title, summary
lastmod author categories date title summary
2023-12-31T13:42:00.0000000+00:00 patrick
uncategorized
2023-12-31T13:42:00.0000000+00:00 Announcing WoofWare.Myriad.Plugins Some F# source generators to solve common problems I have.

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 out jsonParse : JsonNode -> 'T methods)
  • [<RemoveOptions>] (to strip option 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").