in src/docgen/render/markdown-render.ts [486:539]
public visitProperty(
prop: PropertySchema,
): MarkdownDocument {
const optionality = prop.optional
? 'Optional'
: 'Required';
const md = new MarkdownDocument({
id: this.anchorFormatter({
id: prop.id,
displayName: prop.displayName,
fqn: prop.fqn,
...this.metadata,
}),
header: {
title: prop.displayName,
sup: optionality,
pre: true,
strike: prop.docs.deprecated,
},
});
if (prop.docs.deprecated) {
md.bullet(
`${MarkdownDocument.italic('Deprecated:')} ${prop.docs.deprecationReason}`,
);
md.lines('');
}
if (prop.usage) {
md.code(this.language.toString(), prop.usage);
}
const metadata: Record<string, string> = {
Type: this.typeFormatter(prop.type, this.metadata, this.linkFormatter),
};
if (prop.default) {
metadata.Default = MarkdownDocument.sanitize(prop.default);
}
for (const [key, value] of Object.entries(metadata)) {
md.bullet(`${MarkdownDocument.italic(`${key}:`)} ${value}`);
}
md.lines('');
if (prop.docs) {
md.docs(prop.docs);
}
md.split();
return md;
}