@eryx/eryxdoc/extract/types Module

JSON

Shared type definitions for the documentation extraction pipeline.

API Reference

Types

SignaturePart

text: string
typeRef: boolean?
hoverText: string?
kind: ("type" | "param" | "punct" | "keyword" | "name" | "plain")?

ParamMeta

name: string?
type: string?
typeParts: { SignaturePart }?
description: string?

ReturnMeta

type: string?
typeParts: { SignaturePart }?
description: string?

SignatureMeta

name: string
owner: string?
isMethod: boolean?
generics: { string }?
params: { ParamMeta }?
returns: { ReturnMeta }?

FuncDoc

Unified doc record for functions, methods, and properties. Used both as top-level functions and as class members/metamethods. Properties (non-function type table fields) have params=nil.

name: string
doc: string?
location: luau.Location
params: { string }?
returnStr: string?
parsedDoc: ParsedDoc?
yields: boolean
isMethod: boolean
selfType: string?
owner: string?
generics: { string }?
signature: string
signatureFull: string
signatureParts: { SignaturePart }?
signatureMeta: SignatureMeta?

TypeDoc

name: string
exported: boolean
kind: "class" | "table" | "alias"
doc: string?
signatureFull: string?
signatureParts: { SignaturePart }?
location: luau.Location
members: { FuncDoc }?
generics: { string }?
parsedDoc: ParsedDoc?
classImplTable: string?
classFieldsType: string?
isPrimaryExport: boolean?
metamethods: { FuncDoc }?
aliasedTypeNode: luau.AstType?

ConstDoc

name: string
value: string
doc: string?
groupTitle: string?
owner: string?

ExtractedDocs

types: { TypeDoc }
functions: { FuncDoc }
constants: { ConstDoc }
moduleDescription: string?
moduleRoot: string?

RawFuncSig

Internal struct holding everything extracted from an ExprFunction node.

params: { string }
paramNames: { string? }
paramTypeParts: { { SignaturePart }? }
paramTypeNodes: { (luau.AstType | luau.AstTypePack)? }
retStr: string?
retNode: (luau.AstType | luau.AstTypePack)?
retParts: { SignaturePart }?
isMethod: boolean
selfType: string?
generics: { string }?

CommentBlock

text: string
endLine: number