moxygen
Version:
Doxygen XML to Markdown converter
177 lines • 4.47 kB
TypeScript
export interface SourceUrlInput {
path: string;
line?: string;
symbol?: string;
}
export interface SourceUrlRoute {
/** Doxygen source path prefix. Longest matching prefix wins. */
prefix: string;
/**
* Base URL or template for this route. Omit or set false to suppress public
* links while still rendering the plain "Defined in path:line" location.
*/
url?: string | false;
}
export type SourceUrlResolver = string | SourceUrlRoute[] | ((input: SourceUrlInput) => string | undefined);
export interface MoxygenOptions {
directory: string;
output: string;
groups: boolean;
classes: boolean;
pages: boolean;
noindex: boolean;
anchors: boolean;
htmlAnchors: boolean;
language: string;
templates: string;
/** Separator joining qualified name, owner, signature and summary in search snippets. */
titleSeparator: string;
sourceRoot?: string;
sourceUrl?: SourceUrlResolver;
logfile?: string | boolean;
quiet: boolean;
frontmatter: boolean;
filters: Filters;
inlineGroups: boolean;
}
export interface Filters {
members: string[];
compounds: string[];
}
export interface Param {
type: string;
name: string;
description: string;
defaultValue?: string;
}
export interface DocListItem {
name: string;
description: string;
}
export interface EnumValue {
name: string;
briefdescription: string;
detaileddescription: string;
summary: string;
}
export interface RelationRef {
name: string;
refid?: string;
compoundref?: string;
startline?: string;
endline?: string;
}
export interface Member {
name: string;
refid: string;
kind: string;
parent: Compound;
section: string;
prot: string;
static: string;
virtual: string;
proto: string;
briefdescription: string;
detaileddescription: string;
summary: string;
enumvalue: EnumValue[];
groupid?: string;
groupname?: string;
id?: string;
location?: string;
locationLine?: string;
returnType: string;
params: Param[];
returnValues: DocListItem[];
exceptions: DocListItem[];
templateParams: Param[];
qualifiers: string[];
prefixQualifiers: string[];
definition: string;
argsstring: string;
initializer: string;
isConst: boolean;
isInline: boolean;
isExplicit: boolean;
isStatic: boolean;
isVirtual: boolean;
isNodiscard: boolean;
isConstexpr: boolean;
isConsteval: boolean;
references: RelationRef[];
referencedBy: RelationRef[];
reimplements: RelationRef[];
reimplementedBy: RelationRef[];
[key: string]: unknown;
}
export interface BaseCompoundRef {
prot: string;
name: string;
refid?: string;
virt?: string;
}
export interface InheritedMemberGroup {
name: string;
refid?: string;
members: Member[];
}
export interface AllMemberEntry {
name: string;
kind: string;
refid?: string;
owner: string;
ownerRefid?: string;
inherited: boolean;
}
export interface Compound {
parent: Compound | null;
id: string;
name: string;
kind: string;
refid: string;
fullname: string;
shortname: string;
compounds: Record<string, Compound>;
members: Member[];
basecompoundref: BaseCompoundRef[];
derivedcompoundref: BaseCompoundRef[];
inheritedMemberGroups: InheritedMemberGroup[];
allMembers: AllMemberEntry[];
filtered: {
compounds: Compound[];
members: Member[];
sections: SectionGroup[];
};
briefdescription: string;
detaileddescription: string;
summary: string;
proto: string;
namespace: string;
templateParams: Param[];
groupid?: string;
groupname?: string;
innernamespaces?: unknown[];
includes?: string;
language?: string;
location?: string;
locationLine?: string;
fileCompoundRefs?: string[];
fileNamespaceRefs?: string[];
[key: string]: unknown;
}
export interface SectionGroup {
section: string;
label: string;
members: Member[];
}
/** References map: refid -> Compound | Member */
export type References = Record<string, Compound | Member>;
/** xml2js parsed XML element with explicit children */
export interface XmlElement {
'#name'?: string;
_?: string;
$?: Record<string, string>;
$$?: XmlElement[];
[key: string]: unknown;
}
//# sourceMappingURL=types.d.ts.map