Tey.Docgen.Json
Model records → JSON artifacts. This is the single boundary where typed records become plain maps (atom keys, JSON-ready values) so JSON.stringify can serialise them: model.json (the full model) and search.json (a flat index for dynamic name/kind/type search on the docs site).
module Tey.Docgen.Json
modelJson
modelJson(model: PackageModel) -> String
moduleIndexValue
moduleIndexValue(m: Tey.Docgen.Model.ModuleIndexEntry) -> Any
labelOrPackage
labelOrPackage(model: PackageModel) -> String
pageValue
pageValue(page: SourcePage) -> Any
entityValue
entityValue(e: Entity) -> Any
variantsValue
variantsValue(variants: [VariantEntry]?) -> Any
fieldValue
fieldValue(f: FieldEntry) -> Any
fieldValues
fieldValues(fields: [FieldEntry]) -> Any
A named helper so the lambda's element type comes from the [FieldEntry] parameter, not from the surrounding map literal's value type.
functionValue
functionValue(f: FunctionEntry) -> Any
returnsValue
returnsValue(doc: Doc) -> Any
searchJson
searchJson(model: PackageModel) -> String
searchEntries
searchEntries(model: PackageModel) -> [SearchEntry]
pageSearchEntries
pageSearchEntries(page: SourcePage) -> [SearchEntry]
entitySearchEntries
entitySearchEntries(e: Entity, page: SourcePage) -> [SearchEntry]
entityTypes
entityTypes(e: Entity) -> [String]
The type names an entity is "about" — the search-by-type dimension. For a function that is its signature's types; for a record its field types; for a type its parents and variant fields; for a trait/make the types its methods mention; for a module the union of its children.
variantFieldTypes
variantFieldTypes(variants: [VariantEntry]?) -> [String]
childSearchEntries
childSearchEntries(e: Entity, page: SourcePage) -> [SearchEntry]
functionSearchEntry
functionSearchEntry(f: FunctionEntry, page: SourcePage, owner: String) -> SearchEntry
searchValue
searchValue(entry: SearchEntry) -> Any
entitySignatures
entitySignatures(e: Entity) -> [String]
entitySummary
entitySummary(e: Entity) -> String