The Metadata module analyses a distribution for the type of metadata information that would be helpful in automating things like data dictionaries, lineage tracking, and the such.
An enum extension is a special pattern of union type that is either an enum or a name with no arguments
The registry of enums through the entire distribution. An enum is identified as any union type that has only non-argument options.
The registry of modules through entire distribution.
The registry of types through entire distribution.
The registry of aliases through the entire distribution. An alias is any type alias that aliases a non-record type.
Structure for holding metadata information from processing the distribution.
The registry of union types through the entire distribution. A union type is any ADT that has more than one single-argument option.
Process this distribution into a Metadata structure.
Access function for getting the type registry from a Metadata structure.
Access function for getting the enum registry from a Metadata structure.
Access function for getting the base type registry from a Metadata structure.
Access function for getting the alias type registry from a Metadata structure.
Access function for getting the full type registry from a Metadata structure.
Access function for getting the module registry from a Metadata structure.
Access function for getting the enum registry from a Metadata structure that includes EnumExtensions.
Extract the names out of an enum extension.
Access function for getting the union type registry from a Metadata structure.
Decides whether a union type is an enum by ensuring it only has constructors with base type enum or no arg constructors.
The registry of base types through the entire distribution. A base type is any union type that has only one single-argument option.