Logo Xantham

Xantham.Decoder

Xantham.Decoder is the .NET-side counterpart of Xantham.Fable. It reads the JSON wire format produced by the extractor and materialises it into strongly typed F# structures suitable for downstream generators.

The decoder is intentionally thin: it does not generate F# code itself. Its job is to:

  1. Deserialize the JSON IR (Schema.EncodedResult) using Thoth.Json.Net.
  2. Apply optional compression and sanitization passes over the type/export maps.
  3. Produce a DecodedResult of frozen, key-addressable maps.
  4. Optionally lift those maps into an in-memory object graph (ArenaInterner) in which TypeKey references become Lazy<ResolvedType> values, breaking cycles at the lazy boundary.

Pipeline at a glance

JSON file
   
   
   
DecodedResult                
   
   
   
XanthamTree                  
   
   
   
ArenaInterner / ResolvedType 

Page index

API reference

The full XML-doc generated reference is available under the Reference section, organised by the same category groups that appear in this guide.

Type something to start searching.