@xpack/doxygen2docusaurus 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,5 +1,4 @@
1
1
  [![GitHub package.json version](https://img.shields.io/github/package-json/v/xpack/doxygen2docusaurus-cli-ts)](https://github.com/xpack/doxygen2docusaurus-cli-ts/blob/master/package.json)
2
- [![GitHub release (latest by date)](https://img.shields.io/github/v/release/xpack/doxygen2docusaurus-cli-ts)](https://github.com/xpack/doxygen2docusaurus-cli-ts/releases)
3
2
  [![NPM Version](https://img.shields.io/npm/v/@xpack/doxygen2docusaurus?color=blue)](https://www.npmjs.com/package/@xpack/doxygen2docusaurus/)
4
3
  [![license](https://img.shields.io/github/license/xpack/doxygen2docusaurus-cli-ts)](https://github.com/xpack/doxygen2docusaurus-cli-ts/blob/master/LICENSE)
5
4
 
@@ -15,7 +14,7 @@ For information on how to install and use this project, please refer to the
15
14
  ## Project source
16
15
 
17
16
  The source code of the current release is available on
18
- [GitHub tag v1.0.1 tree](https://github.com/xpack/doxygen2docusaurus-cli-ts/tree/v1.0.1).
17
+ [GitHub tag v1.0.2 tree](https://github.com/xpack/doxygen2docusaurus-cli-ts/tree/v1.0.2).
19
18
 
20
19
  ## License
21
20
 
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"AA4BA;;;;;;;GAOG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAkD1D"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"AA8BA;;;;;;;GAOG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA2E1D"}
package/dist/cli/main.js CHANGED
@@ -20,6 +20,8 @@ import { DataModel } from '../doxygen/data-model/data-model.js';
20
20
  import { DocusaurusGenerator } from '../docusaurus/generator.js';
21
21
  import { Workspace } from '../docusaurus/workspace.js';
22
22
  import { fileURLToPath } from 'node:url';
23
+ // https://www.npmjs.com/package/commander
24
+ import { Command } from 'commander';
23
25
  // ----------------------------------------------------------------------------
24
26
  /**
25
27
  * Main entry point for the doxygen2docusaurus CLI tool.
@@ -39,12 +41,31 @@ export async function main(argv) {
39
41
  const packageJson = JSON.parse(packageJsonContent.toString());
40
42
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
41
43
  const packageVersion = packageJson.version;
44
+ const program = new Command();
45
+ program.option('--id <name>', 'configuration id, for multi-configurations');
46
+ program.option('--verbose', 'display more details during the conversion');
47
+ program.option('--debug', 'display debug lines during the conversion');
48
+ program.option('-C <path>', 'change the current folder');
49
+ program.option('-v, --version', 'display version');
50
+ program.parse(argv);
51
+ const programOptions = program.opts();
52
+ if (programOptions.version) {
53
+ console.log(packageVersion);
54
+ return 0;
55
+ }
56
+ if (programOptions.C) {
57
+ process.chdir(programOptions.C);
58
+ }
42
59
  let commandLine = path.basename(argv[1] ?? 'doxygen2docusaurus');
43
60
  if (argv.length > 2) {
44
61
  commandLine += ` ${argv.slice(2).join(' ')}`;
45
62
  }
46
63
  console.log(`Running '${commandLine}' (v${packageVersion})...`);
47
- const options = new CliOptions(argv);
64
+ const id = programOptions.id ?? 'default';
65
+ const verbose = programOptions.verbose;
66
+ const debug = programOptions.debug;
67
+ const commandOptions = { id, verbose, debug };
68
+ const options = new CliOptions(commandOptions);
48
69
  await options.parse();
49
70
  let exitCode = 0;
50
71
  console.log();
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,+EAA+E;AAE/E,mCAAmC;AACnC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACtC,oCAAoC;AAEpC,0CAA0C;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,+EAA+E;AAE/E;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAc;IACvC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAE5B,uCAAuC;IACvC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9D,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EACrC,cAAc,CACf,CAAA;IACD,MAAM,kBAAkB,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAA;IAE7D,mEAAmE;IACnE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC7D,+GAA+G;IAC/G,MAAM,cAAc,GAAW,WAAW,CAAC,OAAO,CAAA;IAElD,IAAI,WAAW,GAAW,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,oBAAoB,CAAC,CAAA;IACxE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,WAAW,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;IAC9C,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,YAAY,WAAW,OAAO,cAAc,MAAM,CAAC,CAAA;IAE/D,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;IACpC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;IAErB,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,OAAO,CAAC,GAAG,EAAE,CAAA;IAEb,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,CAAA;IACxC,MAAM,SAAS,CAAC,KAAK,EAAE,CAAA;IACvB,SAAS,CAAC,cAAc,GAAG,cAAc,CAAA;IAEzC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,CAAA;IAE1C,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC,SAAS,CAAC,CAAA;IACpD,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,CAAA;IAEhC,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAA;IAE7D,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,OAAO,CAAC,GAAG,CACT,YAAY,WAAW,+BAA+B;YACpD,MAAM,cAAc,GAAG,CAC1B,CAAA;IACH,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,+EAA+E"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export interface Redirects {
8
8
  * @public
9
9
  */
10
10
  export type CliConfigurationOptions = Record<string, string | boolean>;
11
+ export type CommandOptions = Record<string, string | boolean | undefined>;
11
12
  /**
12
13
  * Options, when multi-configurations are used.
13
14
  *
@@ -89,7 +90,7 @@ export declare class CliOptions {
89
90
  originalPagesNote: string;
90
91
  /** String identifier in case of multiple instances. */
91
92
  id: string;
92
- constructor(argv: string[]);
93
+ constructor(commandOptions: CommandOptions);
93
94
  parse(): Promise<void>;
94
95
  selectMultiConfiguration(multiConfigurations: CliConfigurationOptions | MultiConfigurations): CliConfigurationOptions | undefined;
95
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cli-options.d.ts","sourceRoot":"","sources":["../../src/docusaurus/cli-options.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACvB,EAAE,EAAE,MAAM,CAAA;CACX;AAED;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAA;AAEtE;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAA;AAQzE;;;;GAIG;AACH,qBAAa,UAAU;IACrB;;;OAGG;IACH,yBAAyB,SAAgB;IAEzC;;;OAGG;IACH,cAAc,SAAS;IAEvB,yEAAyE;IACzE,aAAa,SAAQ;IAErB,sCAAsC;IACtC,OAAO,SAAM;IAEb,4EAA4E;IAC5E,WAAW,SAAS;IAEpB,4EAA4E;IAC5E,UAAU,SAAQ;IAElB,2BAA2B;IAC3B,gBAAgB,SAAgB;IAEhC,0EAA0E;IAC1E,sCAAsC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAE3D,kDAAkD;IAClD,aAAa,SAAK;IAElB;;;OAGG;IACH,uBAAuB,SAAkC;IAEzD,iDAAiD;IACjD,oBAAoB,SAA4B;IAEhD;;;OAGG;IACH,oBAAoB,SAAwC;IAE5D,8CAA8C;IAC9C,iBAAiB,SAAc;IAE/B;;;OAGG;IACH,iBAAiB,SAA0C;IAE3D,oCAAoC;IACpC,OAAO,UAAQ;IAEf,0CAA0C;IAC1C,KAAK,UAAQ;IAEb,4DAA4D;IAC5D,uBAAuB,UAAQ;IAE/B,8CAA8C;IAC9C,gBAAgB,UAAO;IAEvB,+DAA+D;IAC/D,oBAAoB,UAAO;IAE3B;;OAEG;IACH,0BAA0B,UAAO;IAEjC;;;;;;;;OAQG;IACH,iBAAiB,SAAK;IAEtB,uDAAuD;IACvD,EAAE,SAAY;gBAEF,IAAI,EAAE,MAAM,EAAE;IA2BpB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA+G5B,wBAAwB,CACtB,mBAAmB,EAAE,uBAAuB,GAAG,mBAAmB,GACjE,uBAAuB,GAAG,SAAS;CAkBvC;AAGD,eAAO,MAAM,gBAAgB,OAAO,CAAA;AAEpC,eAAO,MAAM,mBAAmB,KAAK,CAAA"}
1
+ {"version":3,"file":"cli-options.d.ts","sourceRoot":"","sources":["../../src/docusaurus/cli-options.ts"],"names":[],"mappings":"AAoBA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACvB,EAAE,EAAE,MAAM,CAAA;CACX;AAED;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAA;AAEtE,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAA;AAEzE;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAA;AAQzE;;;;GAIG;AACH,qBAAa,UAAU;IACrB;;;OAGG;IACH,yBAAyB,SAAgB;IAEzC;;;OAGG;IACH,cAAc,SAAS;IAEvB,yEAAyE;IACzE,aAAa,SAAQ;IAErB,sCAAsC;IACtC,OAAO,SAAM;IAEb,4EAA4E;IAC5E,WAAW,SAAS;IAEpB,4EAA4E;IAC5E,UAAU,SAAQ;IAElB,2BAA2B;IAC3B,gBAAgB,SAAgB;IAEhC,0EAA0E;IAC1E,sCAAsC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAE3D,kDAAkD;IAClD,aAAa,SAAK;IAElB;;;OAGG;IACH,uBAAuB,SAAkC;IAEzD,iDAAiD;IACjD,oBAAoB,SAA4B;IAEhD;;;OAGG;IACH,oBAAoB,SAAwC;IAE5D,8CAA8C;IAC9C,iBAAiB,SAAc;IAE/B;;;OAGG;IACH,iBAAiB,SAA0C;IAE3D,oCAAoC;IACpC,OAAO,UAAQ;IAEf,0CAA0C;IAC1C,KAAK,UAAQ;IAEb,4DAA4D;IAC5D,uBAAuB,UAAQ;IAE/B,8CAA8C;IAC9C,gBAAgB,UAAO;IAEvB,+DAA+D;IAC/D,oBAAoB,UAAO;IAE3B;;OAEG;IACH,0BAA0B,UAAO;IAEjC;;;;;;;;OAQG;IACH,iBAAiB,SAAK;IAEtB,uDAAuD;IACvD,EAAE,SAAY;gBAEF,cAAc,EAAE,cAAc;IA4BpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAuH5B,wBAAwB,CACtB,mBAAmB,EAAE,uBAAuB,GAAG,mBAAmB,GACjE,uBAAuB,GAAG,SAAS;CAkBvC;AAGD,eAAO,MAAM,gBAAgB,OAAO,CAAA;AAEpC,eAAO,MAAM,mBAAmB,KAAK,CAAA"}
@@ -12,9 +12,6 @@
12
12
  import assert from 'node:assert';
13
13
  import * as fs from 'node:fs/promises';
14
14
  import * as path from 'node:path';
15
- // import * as util from 'node:util'
16
- // https://www.npmjs.com/package/commander
17
- import { Command } from 'commander';
18
15
  /**
19
16
  * Options, as seen by the application. Most are mandatory.
20
17
  *
@@ -90,12 +87,14 @@ export class CliOptions {
90
87
  originalPagesNote = '';
91
88
  /** String identifier in case of multiple instances. */
92
89
  id = 'default';
93
- constructor(argv) {
94
- const program = new Command();
95
- program.option('--id <name>', 'id, for multi-configurations');
96
- program.parse(argv);
97
- const programOptions = program.opts();
98
- this.id = programOptions.id ?? 'default';
90
+ constructor(commandOptions) {
91
+ this.id = commandOptions.id;
92
+ if (commandOptions.verbose !== undefined) {
93
+ this.verbose = true;
94
+ }
95
+ if (commandOptions.debug !== undefined) {
96
+ this.debug = true;
97
+ }
99
98
  if (this.id !== 'default') {
100
99
  this.apiFolderPath = this.id;
101
100
  this.apiBaseUrl = this.id;
@@ -172,7 +171,10 @@ export class CliOptions {
172
171
  const thisProperty = this[key];
173
172
  const thisType = typeof thisProperty;
174
173
  const valueType = typeof value;
175
- // Only override if types match
174
+ if (['id', 'verbose', 'debug'].includes(key)) {
175
+ continue;
176
+ }
177
+ // Override only if types match.
176
178
  if (thisType === valueType) {
177
179
  ;
178
180
  this[key] = value;
@@ -180,6 +182,9 @@ export class CliOptions {
180
182
  }
181
183
  }
182
184
  }
185
+ if (this.debug) {
186
+ this.verbose = true;
187
+ }
183
188
  if (this.verbose) {
184
189
  console.log();
185
190
  console.log(this);
@@ -1 +1 @@
1
- {"version":3,"file":"cli-options.js","sourceRoot":"","sources":["../../src/docusaurus/cli-options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-options.js","sourceRoot":"","sources":["../../src/docusaurus/cli-options.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,1147 @@
1
+ /**
2
+ * A CLI application to convert Doxygen XML files into Docusaurus
3
+ * documentation.
4
+ *
5
+ * @remarks
6
+ * This tool facilitates the integration of Doxygen reference pages into
7
+ * Docusaurus documentation sites. It parses Doxygen-generated XML files and
8
+ * produces Docusaurus `.md` documents, along with the corresponding sidebars
9
+ * and menu entries.
10
+ *
11
+ * @packageDocumentation
12
+ */
13
+
14
+ import { XMLParser } from 'fast-xml-parser';
15
+
16
+ /**
17
+ * @public
18
+ */
19
+ export declare abstract class AbstractCodeLineType extends AbstractDataModelBase {
20
+ highlights?: HighlightDataModel[] | undefined;
21
+ lineno?: number | undefined;
22
+ refid?: string | undefined;
23
+ refkind?: string | undefined;
24
+ external?: boolean | undefined;
25
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string);
26
+ }
27
+
28
+ /**
29
+ * @public
30
+ */
31
+ export declare abstract class AbstractCompoundDefType extends AbstractDataModelBase {
32
+ compoundName: string;
33
+ title?: string | undefined;
34
+ briefDescription?: BriefDescriptionDataModel | undefined;
35
+ detailedDescription?: DetailedDescriptionDataModel | undefined;
36
+ baseCompoundRefs?: BaseCompoundRefDataModel[] | undefined;
37
+ derivedCompoundRefs?: DerivedCompoundRefDataModel[] | undefined;
38
+ includes?: IncludesDataModel[] | undefined;
39
+ includedBy?: IncludedByDataModel[] | undefined;
40
+ templateParamList?: TemplateParamListDataModel | undefined;
41
+ sectionDefs?: SectionDefDataModel[] | undefined;
42
+ tableOfContents?: TableOfContentsDataModel | undefined;
43
+ innerDirs?: InnerDirDataModel[] | undefined;
44
+ innerFiles?: InnerFileDataModel[] | undefined;
45
+ innerClasses?: InnerClassDataModel[] | undefined;
46
+ innerNamespaces?: InnerNamespaceDataModel[] | undefined;
47
+ innerPages?: InnerPageDataModel[] | undefined;
48
+ innerGroups?: InnerGroupDataModel[] | undefined;
49
+ programListing?: ProgramListingDataModel | undefined;
50
+ location?: LocationDataModel | undefined;
51
+ listOfAllMembers?: ListOfAllMembersDataModel | undefined;
52
+ id: string;
53
+ kind: string;
54
+ language?: string | undefined;
55
+ prot?: string | undefined;
56
+ final?: boolean | undefined;
57
+ inline?: boolean | undefined;
58
+ sealed?: boolean | undefined;
59
+ abstract?: boolean | undefined;
60
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string);
61
+ }
62
+
63
+ /**
64
+ * @public
65
+ */
66
+ export declare abstract class AbstractCompoundRefType extends AbstractDataModelBase {
67
+ text: string;
68
+ prot: string;
69
+ virt: string;
70
+ refid?: string | undefined;
71
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string);
72
+ }
73
+
74
+ /**
75
+ * @public
76
+ */
77
+ export declare abstract class AbstractDataModelBase {
78
+ elementName: string;
79
+ skipPara?: boolean;
80
+ children?: (string | AbstractDataModelBase)[];
81
+ constructor(elementName: string);
82
+ }
83
+
84
+ /**
85
+ * @public
86
+ */
87
+ export declare abstract class AbstractDescriptionType extends AbstractDataModelBase {
88
+ title?: string | undefined;
89
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string);
90
+ }
91
+
92
+ /**
93
+ * @public
94
+ */
95
+ export declare abstract class AbstractDocImageType extends AbstractDataModelBase {
96
+ type?: string | undefined;
97
+ name?: string | undefined;
98
+ width?: string | undefined;
99
+ height?: string | undefined;
100
+ alt?: string | undefined;
101
+ inline?: boolean | undefined;
102
+ caption?: string | undefined;
103
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string);
104
+ }
105
+
106
+ /**
107
+ * @public
108
+ */
109
+ export declare abstract class AbstractDoxygenFileOptionType extends AbstractDataModelBase {
110
+ values: string[] | undefined;
111
+ id: string;
112
+ default: string;
113
+ type: string;
114
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string);
115
+ }
116
+
117
+ /**
118
+ * @public
119
+ */
120
+ export declare abstract class AbstractDoxygenFileType extends AbstractDataModelBase {
121
+ version: string;
122
+ lang: string;
123
+ options?: DoxygenFileOptionDataModel[] | undefined;
124
+ noNamespaceSchemaLocation?: string | undefined;
125
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string);
126
+ }
127
+
128
+ /**
129
+ * @public
130
+ */
131
+ export declare abstract class AbstractEnumValueType extends AbstractDataModelBase {
132
+ name: string;
133
+ initializer?: InitializerDataModel | undefined;
134
+ briefDescription?: BriefDescriptionDataModel | undefined;
135
+ detailedDescription?: DetailedDescriptionDataModel | undefined;
136
+ id: string;
137
+ prot: string;
138
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string);
139
+ }
140
+
141
+ /**
142
+ * @public
143
+ */
144
+ export declare abstract class AbstractHighlightType extends AbstractDataModelBase {
145
+ classs: string;
146
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string);
147
+ }
148
+
149
+ /**
150
+ * @public
151
+ */
152
+ export declare abstract class AbstractIncType extends AbstractDataModelBase {
153
+ text: string;
154
+ local: boolean;
155
+ refId?: string | undefined;
156
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string);
157
+ }
158
+
159
+ /**
160
+ * @public
161
+ */
162
+ export declare abstract class AbstractIndexCompoundType extends AbstractDataModelBase {
163
+ name: string;
164
+ members: IndexMemberDataModel[] | undefined;
165
+ refid: string;
166
+ kind: string;
167
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string);
168
+ }
169
+
170
+ /**
171
+ * @public
172
+ */
173
+ export declare abstract class AbstractIndexDoxygenType extends AbstractDataModelBase {
174
+ version: string;
175
+ lang: string;
176
+ compounds?: IndexCompoundDataModel[] | undefined;
177
+ noNamespaceSchemaLocation?: string | undefined;
178
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string);
179
+ }
180
+
181
+ /**
182
+ * @public
183
+ */
184
+ export declare abstract class AbstractIndexMemberType extends AbstractDataModelBase {
185
+ name: string;
186
+ refid: string;
187
+ kind: string;
188
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string);
189
+ }
190
+
191
+ /**
192
+ * @public
193
+ */
194
+ export declare abstract class AbstractLinkedTextType extends AbstractDataModelBase {
195
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string);
196
+ }
197
+
198
+ /**
199
+ * @public
200
+ */
201
+ export declare abstract class AbstractListingType extends AbstractListingTypeBase {
202
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string);
203
+ }
204
+
205
+ /**
206
+ * @public
207
+ */
208
+ export declare abstract class AbstractListingTypeBase extends AbstractDataModelBase {
209
+ codelines?: CodeLineDataModel[] | undefined;
210
+ filename?: string | undefined;
211
+ }
212
+
213
+ /**
214
+ * @public
215
+ */
216
+ export declare abstract class AbstractListOfAllMembersType extends AbstractDataModelBase {
217
+ memberRefs?: MemberRefDataModel[] | undefined;
218
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string);
219
+ }
220
+
221
+ /**
222
+ * @public
223
+ */
224
+ export declare abstract class AbstractLocationType extends AbstractDataModelBase {
225
+ file: string;
226
+ line?: number | undefined;
227
+ column?: number | undefined;
228
+ declfile?: string | undefined;
229
+ declline?: number | undefined;
230
+ declcolumn?: number | undefined;
231
+ bodyfile?: string | undefined;
232
+ bodystart?: number | undefined;
233
+ bodyend?: number | undefined;
234
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string);
235
+ }
236
+
237
+ /**
238
+ * @public
239
+ */
240
+ export declare abstract class AbstractMemberBaseType extends AbstractDataModelBase {
241
+ name: string;
242
+ kind: string;
243
+ }
244
+
245
+ /**
246
+ * @public
247
+ */
248
+ export declare abstract class AbstractMemberDefType extends AbstractMemberBaseType {
249
+ location: LocationDataModel | undefined;
250
+ id: string;
251
+ prot: string;
252
+ staticc: boolean | undefined;
253
+ templateparamlist?: TemplateParamListDataModel | undefined;
254
+ type?: TypeDataModel | undefined;
255
+ definition?: string | undefined;
256
+ argsstring?: string | undefined;
257
+ qualifiedName?: string | undefined;
258
+ bitfield?: string | undefined;
259
+ reimplements?: ReimplementDataModel[] | undefined;
260
+ reimplementedBys?: ReimplementDataModel[] | undefined;
261
+ params?: ParamDataModel[] | undefined;
262
+ enumvalues?: EnumValueDataModel[] | undefined;
263
+ initializer?: InitializerDataModel | undefined;
264
+ briefDescription?: BriefDescriptionDataModel | undefined;
265
+ detailedDescription?: DetailedDescriptionDataModel | undefined;
266
+ inbodyDescription?: InbodyDescriptionDataModel | undefined;
267
+ references?: ReferenceDataModel[] | undefined;
268
+ referencedBy?: ReferencedByDataModel[] | undefined;
269
+ extern?: boolean | undefined;
270
+ strong?: boolean | undefined;
271
+ constt?: boolean | undefined;
272
+ explicit?: boolean | undefined;
273
+ inline?: boolean | undefined;
274
+ refqual?: boolean | undefined;
275
+ virt?: string | undefined;
276
+ volatile?: boolean | undefined;
277
+ mutable?: boolean | undefined;
278
+ noexcept?: boolean | undefined;
279
+ noexceptexpression?: boolean | undefined;
280
+ nodiscard?: boolean | undefined;
281
+ constexpr?: boolean | undefined;
282
+ consteval?: boolean | undefined;
283
+ constinit?: boolean | undefined;
284
+ final?: boolean | undefined;
285
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string);
286
+ }
287
+
288
+ /**
289
+ * @public
290
+ */
291
+ export declare abstract class AbstractMemberRefType extends AbstractDataModelBase {
292
+ scope: string;
293
+ name: string;
294
+ refid: string;
295
+ prot: string;
296
+ virt: string;
297
+ ambiguityscope?: string | undefined;
298
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string);
299
+ }
300
+
301
+ /**
302
+ * @public
303
+ */
304
+ export declare abstract class AbstractMemberType extends AbstractMemberBaseType {
305
+ refid: string;
306
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string);
307
+ }
308
+
309
+ /**
310
+ * @public
311
+ */
312
+ export declare abstract class AbstractParamType extends AbstractDataModelBase {
313
+ attributes?: string | undefined;
314
+ type?: TypeDataModel | undefined;
315
+ declname?: string | undefined;
316
+ defname?: string | undefined;
317
+ array?: string | undefined;
318
+ defval?: DefValDataModel | undefined;
319
+ typeconstraint?: TypeConstraintDataModel | undefined;
320
+ briefdescription?: BriefDescriptionDataModel | undefined;
321
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string);
322
+ }
323
+
324
+ /**
325
+ * @public
326
+ */
327
+ export declare abstract class AbstractReferenceType extends AbstractDataModelBase {
328
+ text: string;
329
+ refid: string;
330
+ startline: number | undefined;
331
+ endline: number | undefined;
332
+ compoundref?: string | undefined;
333
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string);
334
+ }
335
+
336
+ /**
337
+ * @public
338
+ */
339
+ export declare abstract class AbstractRefType extends AbstractDataModelBase {
340
+ text: string;
341
+ refid: string;
342
+ prot?: string | undefined;
343
+ inline?: boolean | undefined;
344
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string);
345
+ }
346
+
347
+ /**
348
+ * @public
349
+ */
350
+ export declare abstract class AbstractReimplementType extends AbstractDataModelBase {
351
+ text: string;
352
+ refId: string;
353
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string);
354
+ }
355
+
356
+ /**
357
+ * @public
358
+ */
359
+ export declare abstract class AbstractSectionDefType extends AbstractSectionDefTypeBase {
360
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string);
361
+ }
362
+
363
+ /**
364
+ * @public
365
+ */
366
+ export declare abstract class AbstractSectionDefTypeBase extends AbstractDataModelBase {
367
+ kind: string;
368
+ header?: string | undefined;
369
+ description?: DescriptionDataModel | undefined;
370
+ memberDefs?: MemberDefDataModel[] | undefined;
371
+ members?: MemberDataModel[] | undefined;
372
+ constructor(elementName: string, kind: string);
373
+ hasMembers(): boolean;
374
+ computeAdjustedKind(sectionSuffix: string, memberSuffix?: string): string;
375
+ }
376
+
377
+ /**
378
+ * @public
379
+ */
380
+ export declare abstract class AbstractTableOfContentsKindType extends AbstractDataModelBase {
381
+ name: string;
382
+ reference: string;
383
+ tableOfContents: TableOfContentsDataModel[] | undefined;
384
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string);
385
+ }
386
+
387
+ /**
388
+ * @public
389
+ */
390
+ export declare abstract class AbstractTableOfContentsType extends AbstractDataModelBase {
391
+ tocSect: TocSectDataModel[] | undefined;
392
+ tableOfContents: TableOfContentsDataModel[] | undefined;
393
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string);
394
+ }
395
+
396
+ /**
397
+ * @public
398
+ */
399
+ export declare abstract class AbstractTemplateParamListType extends AbstractDataModelBase {
400
+ params?: ParamDataModel[] | undefined;
401
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string);
402
+ }
403
+
404
+ /**
405
+ * @public
406
+ */
407
+ export declare class BaseCompoundRefDataModel extends AbstractCompoundRefType {
408
+ constructor(xml: DoxygenXmlParser, element: object);
409
+ }
410
+
411
+ /**
412
+ * @public
413
+ */
414
+ export declare class BriefDescriptionDataModel extends AbstractDescriptionType {
415
+ constructor(xml: DoxygenXmlParser, element: object);
416
+ }
417
+
418
+ /**
419
+ * Options, as written by the user. All are optional.
420
+ *
421
+ * @public
422
+ */
423
+ declare type CliConfigurationOptions = Record<string, string | boolean>;
424
+
425
+ /**
426
+ * Options, as seen by the application. Most are mandatory.
427
+ *
428
+ * @public
429
+ */
430
+ export declare class CliOptions {
431
+ /**
432
+ * Relative to the current website folder, like `doxygen/xml`, no initial/
433
+ * final slashes.
434
+ */
435
+ doxygenXmlInputFolderPath: string;
436
+ /**
437
+ * Relative to the current website folder, like `docs`, no initial/final
438
+ * slashes.
439
+ */
440
+ docsFolderPath: string;
441
+ /** Relative to the docs folder, like `api`, no initial/final slashes. */
442
+ apiFolderPath: string;
443
+ /** Site base URL, like / or /xxx/. */
444
+ baseUrl: string;
445
+ /** Relative to the web home, like `docs`, without initial/final slashes. */
446
+ docsBaseUrl: string;
447
+ /** Relative to the docs home, like `api`, without initial/final slashes. */
448
+ apiBaseUrl: string;
449
+ /** Relative to `static` */
450
+ imagesFolderPath: string;
451
+ /** Relative to the current `website/static` folder, like `reference`. */
452
+ compatibilityRedirectsOutputFolderPath?: string | undefined;
453
+ /** The title to be displayed on the main page. */
454
+ mainPageTitle: string;
455
+ /**
456
+ * Relative to the current website folder, default
457
+ * `sidebar-category-doxygen.json`.
458
+ */
459
+ sidebarCategoryFilePath: string;
460
+ /** Short text to be displayed in the sidebar. */
461
+ sidebarCategoryLabel: string;
462
+ /**
463
+ * Relative to the current website folder, default
464
+ * `docusaurus-config-doxygen-menu-dropdown.json`.
465
+ */
466
+ menuDropdownFilePath: string;
467
+ /** Short text to be displayed in the menu. */
468
+ menuDropdownLabel: string;
469
+ /**
470
+ * Relative to the current website folder, default
471
+ * `src/css/custom-doxygen.css`
472
+ */
473
+ customCssFilePath: string;
474
+ /** Boolean to control verbosity. */
475
+ verbose: boolean;
476
+ /** Boolean to control debug verbosity. */
477
+ debug: boolean;
478
+ /** Boolean to control if the TODO suggestions are shown. */
479
+ suggestToDoDescriptions: boolean;
480
+ /** Boolean to render the pages to the top. */
481
+ renderPagesAtTop: boolean;
482
+ /** Boolean to render the program listing in the File pages. */
483
+ renderProgramListing: boolean;
484
+ /**
485
+ * Boolean to render the program listing in the member definitions sections.
486
+ */
487
+ renderProgramListingInline: boolean;
488
+ /**
489
+ * Location of original Doxygen pages
490
+ *
491
+ * 'For comparison, the original Doxygen html pages, styled with the
492
+ * <a href="https://jothepro.github.io/doxygen-awesome-css/">doxygen-awesome-css</a>
493
+ * plugin, continue to be available via the
494
+ * <a href="pathname:///doxygen/topics.html"><code>.../doxygen/*.html</b></code>
495
+ * URLs.'
496
+ */
497
+ originalPagesNote: string;
498
+ /** String identifier in case of multiple instances. */
499
+ id: string;
500
+ constructor(commandOptions: CommandOptions);
501
+ parse(): Promise<void>;
502
+ selectMultiConfiguration(multiConfigurations: CliConfigurationOptions | MultiConfigurations): CliConfigurationOptions | undefined;
503
+ }
504
+
505
+ /**
506
+ * @public
507
+ */
508
+ export declare class CodeLineDataModel extends AbstractCodeLineType {
509
+ constructor(xml: DoxygenXmlParser, element: object);
510
+ }
511
+
512
+ declare type CommandOptions = Record<string, string | boolean | undefined>;
513
+
514
+ /**
515
+ * @public
516
+ */
517
+ export declare class CompoundDefDataModel extends AbstractCompoundDefType {
518
+ constructor(xml: DoxygenXmlParser, element: object);
519
+ }
520
+
521
+ /**
522
+ * @public
523
+ */
524
+ export declare class DataModel {
525
+ /**
526
+ * The global configuration options.
527
+ */
528
+ options: CliOptions;
529
+ xml: DoxygenXmlParser;
530
+ /**
531
+ * Keep track of the number of XML files parsed.
532
+ *
533
+ * @defaultValue 0
534
+ */
535
+ parsedFilesCounter: number;
536
+ doxygenindex?: DoxygenIndexDataModel;
537
+ compoundDefs: CompoundDefDataModel[];
538
+ doxyfile?: DoxygenFileDataModel;
539
+ projectVersion?: string;
540
+ constructor(options: CliOptions);
541
+ parse(): Promise<void>;
542
+ /**
543
+ * Parses the main Doxygen index XML file and initialises the index data
544
+ * model.
545
+ *
546
+ * @remarks
547
+ * This method reads and parses the `index.xml` file, ignoring the XML
548
+ * prologue and top-level text nodes. It extracts the `doxygenindex`
549
+ * element and constructs the corresponding data model. Any unrecognised
550
+ * elements are logged for diagnostic purposes.
551
+ */
552
+ parseDoxygenIndex(): Promise<void>;
553
+ /**
554
+ * Processes compound definitions from the parsed Doxygen XML elements.
555
+ *
556
+ * @param indexCompound - The compound index data model
557
+ * @param parsedDoxygenElements - The array of parsed XML elements for the
558
+ * compound
559
+ *
560
+ * @remarks
561
+ * This method iterates through the parsed XML elements, ignoring the XML
562
+ * prologue and top-level text nodes. For recognised `doxygen` elements, it
563
+ * constructs the compound definitions and appends them to the internal data
564
+ * model. Unrecognised elements are logged for further analysis.
565
+ */
566
+ processCompoundDefs(indexCompound: IndexCompoundDataModel, parsedDoxygenElements: XmlElement[]): void;
567
+ /**
568
+ * Processes member definitions and updates member kinds where necessary.
569
+ *
570
+ * @remarks
571
+ * This method traverses all compound definitions and their associated
572
+ * sections. It collects member definitions by their identifiers and, for
573
+ * each member with an empty kind, assigns the kind from the corresponding
574
+ * member definition. This ensures that all members are correctly classified
575
+ * within the internal data model.
576
+ */
577
+ processMemberdefs(): void;
578
+ /**
579
+ * Parses the Doxyfile XML and initialises the configuration data model.
580
+ *
581
+ * @remarks
582
+ * This method reads and parses the `Doxyfile.xml` file, ignoring the XML
583
+ * prologue and top-level text nodes. It extracts the `doxyfile` element and
584
+ * constructs the corresponding configuration data model. Any unrecognised
585
+ * elements are logged for diagnostic purposes.
586
+ */
587
+ parseDoxyfile(): Promise<void>;
588
+ /**
589
+ * Reads and parses the specified XML file, returning the parsed content.
590
+ *
591
+ * @param fileName - The name of the XML file to be parsed
592
+ * @returns A promise that resolves to the parsed XML content
593
+ *
594
+ * @remarks
595
+ * This method constructs the full file path using the configured input
596
+ * folder, reads the XML file as a UTF-8 string, and parses it using the
597
+ * configured XML parser. The method increments the internal counter for
598
+ * parsed files and, if verbose mode is enabled, logs the file being parsed.
599
+ */
600
+ parseFile({ fileName }: {
601
+ fileName: string;
602
+ }): Promise<any>;
603
+ }
604
+
605
+ /**
606
+ * @public
607
+ */
608
+ export declare class DefValDataModel extends AbstractLinkedTextType {
609
+ constructor(xml: DoxygenXmlParser, element: object);
610
+ }
611
+
612
+ /**
613
+ * @public
614
+ */
615
+ export declare class DerivedCompoundRefDataModel extends AbstractCompoundRefType {
616
+ constructor(xml: DoxygenXmlParser, element: object);
617
+ }
618
+
619
+ /**
620
+ * @public
621
+ */
622
+ export declare class DescriptionDataModel extends AbstractDescriptionType {
623
+ constructor(xml: DoxygenXmlParser, element: object);
624
+ }
625
+
626
+ /**
627
+ * @public
628
+ */
629
+ export declare class DetailedDescriptionDataModel extends AbstractDescriptionType {
630
+ constructor(xml: DoxygenXmlParser, element: object);
631
+ }
632
+
633
+ /**
634
+ * @public
635
+ */
636
+ export declare class DoxygenFileDataModel extends AbstractDoxygenFileType {
637
+ constructor(xml: DoxygenXmlParser, element: object);
638
+ }
639
+
640
+ /**
641
+ * @public
642
+ */
643
+ export declare class DoxygenFileOptionDataModel extends AbstractDoxygenFileOptionType {
644
+ constructor(xml: DoxygenXmlParser, element: object);
645
+ }
646
+
647
+ /**
648
+ * @public
649
+ */
650
+ export declare class DoxygenIndexDataModel extends AbstractIndexDoxygenType {
651
+ constructor(xml: DoxygenXmlParser, element: object);
652
+ }
653
+
654
+ /**
655
+ * The DoxygenXmlParser class is responsible for parsing
656
+ * Doxygen-generated XML files and constructing the internal data model.
657
+ *
658
+ * @remarks
659
+ * This class initialises the XML parser with options that preserve the order
660
+ * and structure of the original XML content, ensuring accurate conversion
661
+ * for documentation purposes. It maintains a counter for the number of files
662
+ * parsed and stores the resulting data model.
663
+ *
664
+ * @example
665
+ * ```typescript
666
+ * const parser = new DoxygenXmlParser({ options });
667
+ * const dataModel = await parser.parse();
668
+ * ```
669
+ *
670
+ * @public
671
+ */
672
+ export declare class DoxygenXmlParser {
673
+ /**
674
+ * The global configuration options.
675
+ */
676
+ options: CliOptions;
677
+ /**
678
+ * The XML parser instance configured for Doxygen XML.
679
+ */
680
+ xmlParser: XMLParser;
681
+ images: AbstractDocImageType[];
682
+ /**
683
+ * Constructs a new instance of the DoxygenXmlParser class.
684
+ *
685
+ * @param options - The global configuration options
686
+ *
687
+ * @remarks
688
+ * This constructor initialises the XML parser with settings that preserve the
689
+ * order and structure of the original XML content, remove namespace prefixes,
690
+ * and ensure that both tag and attribute values are parsed. The values are
691
+ * not
692
+ * trimmed, maintaining fidelity to the source XML. The provided options are
693
+ * stored for use throughout the parsing process.
694
+ */
695
+ constructor(options: CliOptions);
696
+ /**
697
+ * Determines whether the specified XML element has any attributes.
698
+ *
699
+ * @param element - The XML element to inspect for attributes
700
+ * @returns True if the element has attributes; otherwise, false
701
+ *
702
+ * @remarks
703
+ * This method checks for the presence of the ':\@' property on the XML
704
+ * element, which is the convention used by the XML parser for storing
705
+ * attributes. If this property exists, the element has attributes; if not,
706
+ * the element has no attributes. This is a prerequisite check before calling
707
+ * {@link DoxygenXmlParser.getAttributesNames} or other attribute-related
708
+ * methods.
709
+ */
710
+ hasAttributes(element: object): boolean;
711
+ /**
712
+ * Retrieves the names of all attributes present on the specified XML element.
713
+ *
714
+ * @param element - The XML element to inspect for attribute names
715
+ * @returns An array of strings containing the names of all attributes
716
+ *
717
+ * @remarks
718
+ * This method accesses the ':\@' property of the XML element, which is the
719
+ * convention used by the XML parser for storing attributes, and returns the
720
+ * keys of this object as an array of attribute names. The method assumes the
721
+ * element has attributes and does not perform validation - use
722
+ * {@link DoxygenXmlParser.hasAttributes} to check for attribute presence
723
+ * first.
724
+ */
725
+ getAttributesNames(element: object): string[];
726
+ /**
727
+ * Determines whether the specified attribute exists on the given XML element.
728
+ *
729
+ * @param element - The XML element to inspect
730
+ * @param name - The name of the attribute to check for
731
+ * @returns True if the attribute exists; otherwise, false
732
+ *
733
+ * @remarks
734
+ * This method checks for the presence of an attribute within the ':\@'
735
+ * property of the XML element, which is the convention used by the XML
736
+ * parser for storing attributes. It returns true if the attribute is found,
737
+ * otherwise false.
738
+ */
739
+ hasAttribute(element: object, name: string): boolean;
740
+ /**
741
+ * Retrieves the value of a named attribute as a string.
742
+ *
743
+ * @param element - The XML element containing the attribute
744
+ * @param name - The name of the attribute to retrieve
745
+ * @returns The attribute value as a string
746
+ * @throws If the attribute does not exist
747
+ *
748
+ * @remarks
749
+ * This method checks whether the specified attribute exists on the XML
750
+ * element and returns its value as a string. If the attribute value is
751
+ * originally a number (as the XML parser may return numeric strings as
752
+ * numbers), it is converted to a string to maintain consistency with the
753
+ * DTD specification. If the attribute is missing, an error is thrown to
754
+ * indicate the absence.
755
+ */
756
+ getAttributeStringValue(element: object, name: string): string;
757
+ /**
758
+ * Retrieves the value of a named attribute as a number.
759
+ *
760
+ * @param element - The XML element containing the attribute
761
+ * @param name - The name of the attribute to retrieve
762
+ * @returns The attribute value as a number
763
+ * @throws If the attribute does not exist or is not a number
764
+ *
765
+ * @remarks
766
+ * This method checks whether the specified attribute exists on the XML
767
+ * element and returns its value as a number. If the attribute is missing
768
+ * or its value is not a number, an error is thrown to indicate the absence
769
+ * or incorrect type.
770
+ */
771
+ getAttributeNumberValue(element: object, name: string): number;
772
+ /**
773
+ * Retrieves the value of a named attribute as a boolean.
774
+ *
775
+ * @param element - The XML element containing the attribute
776
+ * @param name - The name of the attribute to retrieve
777
+ * @returns True if the attribute value is 'yes' (case-insensitive);
778
+ * otherwise, false
779
+ * @throws If the attribute does not exist or is not a string
780
+ *
781
+ * @remarks
782
+ * This method checks whether the specified attribute exists on the XML
783
+ * element, and returns true if its value is the string 'yes'
784
+ * (case-insensitive). If the attribute is missing or its value is not a
785
+ * string, an error is thrown.
786
+ */
787
+ getAttributeBooleanValue(element: object, name: string): boolean;
788
+ /**
789
+ * Determines whether the specified inner element exists on the given XML
790
+ * element.
791
+ *
792
+ * @param element - The XML element to inspect
793
+ * @param name - The name of the inner element to check for
794
+ * @returns True if the inner element exists; otherwise, false
795
+ *
796
+ * @remarks
797
+ * This method checks for the presence of a named property on the XML element.
798
+ * For text nodes ('#text'), it verifies the value is a string, number, or
799
+ * boolean. For other elements, it confirms the property is an array, as
800
+ * per the XML parser's convention.
801
+ */
802
+ hasInnerElement(element: object, name: string): boolean;
803
+ /**
804
+ * Determines whether a named inner element contains text.
805
+ *
806
+ * @param element - The XML element to inspect
807
+ * @param name - The name of the inner element
808
+ * @returns True if the inner element contains text or is empty;
809
+ * otherwise, false
810
+ *
811
+ * @remarks
812
+ * This method checks if the specified inner element exists and contains a
813
+ * single text node, or is an empty array (representing an empty string).
814
+ * It asserts the expected structure and type of the value for robustness.
815
+ */
816
+ isInnerElementText(element: object, name: string): boolean;
817
+ /**
818
+ * Determines whether the XML element contains a text node.
819
+ *
820
+ * @param element - The XML element to inspect
821
+ * @returns True if the element contains a text node; otherwise, false
822
+ *
823
+ * @remarks
824
+ * This method checks for the presence of a '#text' property on the XML
825
+ * element, and verifies that its value is a string, number, or boolean.
826
+ */
827
+ hasInnerText(element: object): boolean;
828
+ /**
829
+ * Retrieves an array of named child elements from the given XML element.
830
+ *
831
+ * @typeParam T - The expected type of the child elements array
832
+ * (defaults to XmlElement[])
833
+ * @param element - The XML element containing the child elements
834
+ * @param name - The name of the child elements to retrieve
835
+ * @returns The array of child elements
836
+ * @throws If the child elements do not exist
837
+ *
838
+ * @remarks
839
+ * This method accesses the specified property on the XML element and
840
+ * returns it as an array of child elements. If the property is undefined,
841
+ * an error is thrown indicating the absence of the expected child element.
842
+ */
843
+ getInnerElements<T = XmlElement[]>(element: object, name: string): T;
844
+ /**
845
+ * Retrieves the text content of a named child element.
846
+ *
847
+ * @param element - The XML element containing the child element
848
+ * @param name - The name of the child element
849
+ * @returns The text content of the child element
850
+ * @throws If the child element does not exist or contains more than one
851
+ * element
852
+ *
853
+ * @remarks
854
+ * This method accesses the specified child element and returns its text
855
+ * content. If the child element is missing, an error is thrown. If the
856
+ * child element is empty, an empty string is returned. If there is more
857
+ * than one child element, an error is thrown to indicate unexpected
858
+ * structure.
859
+ */
860
+ getInnerElementText(element: object, name: string): string;
861
+ /**
862
+ * Retrieves the numeric value of a named child element.
863
+ *
864
+ * @param element - The XML element containing the child element
865
+ * @param name - The name of the child element
866
+ * @returns The numeric value of the child element
867
+ * @throws If the child element does not exist or contains more than one
868
+ * element
869
+ *
870
+ * @remarks
871
+ * This method accesses the specified child element and returns its value
872
+ * as a number. If the child element is missing, an error is thrown. If the
873
+ * child element is empty, NaN is returned. If there is more than one child
874
+ * element, an error is thrown to indicate unexpected structure.
875
+ */
876
+ getInnerElementNumber(element: object, name: string): number;
877
+ /**
878
+ * Retrieves the boolean value of a named child element.
879
+ *
880
+ * @param element - The XML element containing the child element
881
+ * @param name - The name of the child element
882
+ * @returns True if the child element's text is 'true'
883
+ * (case-insensitive); otherwise, false
884
+ * @throws If the child element does not exist or contains more than one
885
+ * element
886
+ *
887
+ * @remarks
888
+ * This method accesses the specified child element and returns its value
889
+ * as a boolean. If the child element is missing, an error is thrown. If
890
+ * the child element is empty, false is returned. If there is more than one
891
+ * child element, an error is thrown to indicate unexpected structure.
892
+ */
893
+ getInnerElementBoolean(element: object, name: string): boolean;
894
+ /**
895
+ * Retrieves the text content of the XML element.
896
+ *
897
+ * @param element - The XML element to retrieve text from
898
+ * @returns The text content of the element
899
+ * @throws If the element does not contain a valid text node
900
+ *
901
+ * @remarks
902
+ * This method accesses the '#text' property of the XML element and
903
+ * returns its value as a string. It asserts that the value is of type
904
+ * string, number, or boolean before converting it to a string. If the
905
+ * property is missing or the value is of an unexpected type, an error is
906
+ * thrown.
907
+ */
908
+ getInnerText(element: object): string;
909
+ }
910
+
911
+ /**
912
+ * @public
913
+ */
914
+ export declare class EnumValueDataModel extends AbstractEnumValueType {
915
+ constructor(xml: DoxygenXmlParser, element: object);
916
+ }
917
+
918
+ /**
919
+ * @public
920
+ */
921
+ export declare class HighlightDataModel extends AbstractHighlightType {
922
+ constructor(xml: DoxygenXmlParser, element: object);
923
+ }
924
+
925
+ /**
926
+ * @public
927
+ */
928
+ export declare class InbodyDescriptionDataModel extends AbstractDescriptionType {
929
+ constructor(xml: DoxygenXmlParser, element: object);
930
+ }
931
+
932
+ /**
933
+ * @public
934
+ */
935
+ export declare class IncludedByDataModel extends AbstractIncType {
936
+ constructor(xml: DoxygenXmlParser, element: object);
937
+ }
938
+
939
+ /**
940
+ * @public
941
+ */
942
+ export declare class IncludesDataModel extends AbstractIncType {
943
+ constructor(xml: DoxygenXmlParser, element: object);
944
+ }
945
+
946
+ /**
947
+ * @public
948
+ */
949
+ export declare class IndexCompoundDataModel extends AbstractIndexCompoundType {
950
+ constructor(xml: DoxygenXmlParser, element: object);
951
+ }
952
+
953
+ /**
954
+ * @public
955
+ */
956
+ export declare class IndexMemberDataModel extends AbstractIndexMemberType {
957
+ constructor(xml: DoxygenXmlParser, element: object);
958
+ }
959
+
960
+ /**
961
+ * @public
962
+ */
963
+ export declare class InitializerDataModel extends AbstractLinkedTextType {
964
+ constructor(xml: DoxygenXmlParser, element: object);
965
+ }
966
+
967
+ /**
968
+ * @public
969
+ */
970
+ export declare class InnerClassDataModel extends AbstractRefType {
971
+ constructor(xml: DoxygenXmlParser, element: object);
972
+ }
973
+
974
+ /**
975
+ * @public
976
+ */
977
+ export declare class InnerDirDataModel extends AbstractRefType {
978
+ constructor(xml: DoxygenXmlParser, element: object);
979
+ }
980
+
981
+ /**
982
+ * @public
983
+ */
984
+ export declare class InnerFileDataModel extends AbstractRefType {
985
+ constructor(xml: DoxygenXmlParser, element: object);
986
+ }
987
+
988
+ /**
989
+ * @public
990
+ */
991
+ export declare class InnerGroupDataModel extends AbstractRefType {
992
+ constructor(xml: DoxygenXmlParser, element: object);
993
+ }
994
+
995
+ /**
996
+ * @public
997
+ */
998
+ export declare class InnerNamespaceDataModel extends AbstractRefType {
999
+ constructor(xml: DoxygenXmlParser, element: object);
1000
+ }
1001
+
1002
+ /**
1003
+ * @public
1004
+ */
1005
+ export declare class InnerPageDataModel extends AbstractRefType {
1006
+ constructor(xml: DoxygenXmlParser, element: object);
1007
+ }
1008
+
1009
+ /**
1010
+ * @public
1011
+ */
1012
+ export declare class ListOfAllMembersDataModel extends AbstractListOfAllMembersType {
1013
+ constructor(xml: DoxygenXmlParser, element: object);
1014
+ }
1015
+
1016
+ /**
1017
+ * @public
1018
+ */
1019
+ export declare class LocationDataModel extends AbstractLocationType {
1020
+ constructor(xml: DoxygenXmlParser, element: object);
1021
+ }
1022
+
1023
+ /**
1024
+ * Main entry point for the doxygen2docusaurus CLI tool.
1025
+ *
1026
+ * @param argv - Command line arguments array
1027
+ * @returns Promise that resolves to the exit code (0 for success, 1 for error)
1028
+ *
1029
+ * @public
1030
+ */
1031
+ export declare function main(argv: string[]): Promise<number>;
1032
+
1033
+ /**
1034
+ * @public
1035
+ */
1036
+ export declare class MemberDataModel extends AbstractMemberType {
1037
+ constructor(xml: DoxygenXmlParser, element: object);
1038
+ }
1039
+
1040
+ /**
1041
+ * @public
1042
+ */
1043
+ export declare class MemberDefDataModel extends AbstractMemberDefType {
1044
+ constructor(xml: DoxygenXmlParser, element: object);
1045
+ }
1046
+
1047
+ /**
1048
+ * @public
1049
+ */
1050
+ export declare class MemberRefDataModel extends AbstractMemberRefType {
1051
+ constructor(xml: DoxygenXmlParser, element: object);
1052
+ }
1053
+
1054
+ /**
1055
+ * Options, when multi-configurations are used.
1056
+ *
1057
+ * @public
1058
+ */
1059
+ declare type MultiConfigurations = Record<string, CliConfigurationOptions>;
1060
+
1061
+ /**
1062
+ * @public
1063
+ */
1064
+ export declare class ParamDataModel extends AbstractParamType {
1065
+ constructor(xml: DoxygenXmlParser, element: object);
1066
+ }
1067
+
1068
+ /**
1069
+ * @public
1070
+ */
1071
+ export declare class ProgramListingDataModel extends AbstractListingType {
1072
+ constructor(xml: DoxygenXmlParser, element: object);
1073
+ }
1074
+
1075
+ /**
1076
+ * @public
1077
+ */
1078
+ export declare class ReferenceDataModel extends AbstractReferenceType {
1079
+ constructor(xml: DoxygenXmlParser, element: object);
1080
+ }
1081
+
1082
+ /**
1083
+ * @public
1084
+ */
1085
+ export declare class ReferencedByDataModel extends AbstractReferenceType {
1086
+ constructor(xml: DoxygenXmlParser, element: object);
1087
+ }
1088
+
1089
+ /**
1090
+ * @public
1091
+ */
1092
+ export declare class ReimplementDataModel extends AbstractReimplementType {
1093
+ constructor(xml: DoxygenXmlParser, element: object);
1094
+ }
1095
+
1096
+ /**
1097
+ * @public
1098
+ */
1099
+ export declare class SectionDefDataModel extends AbstractSectionDefType {
1100
+ constructor(xml: DoxygenXmlParser, element: object);
1101
+ }
1102
+
1103
+ /**
1104
+ * @public
1105
+ */
1106
+ export declare class TableOfContentsDataModel extends AbstractTableOfContentsType {
1107
+ constructor(xml: DoxygenXmlParser, element: object);
1108
+ }
1109
+
1110
+ /**
1111
+ * @public
1112
+ */
1113
+ export declare class TemplateParamListDataModel extends AbstractTemplateParamListType {
1114
+ constructor(xml: DoxygenXmlParser, element: object);
1115
+ }
1116
+
1117
+ /**
1118
+ * @public
1119
+ */
1120
+ export declare class TocSectDataModel extends AbstractTableOfContentsKindType {
1121
+ constructor(xml: DoxygenXmlParser, element: object);
1122
+ }
1123
+
1124
+ /**
1125
+ * @public
1126
+ */
1127
+ export declare class TypeConstraintDataModel extends AbstractLinkedTextType {
1128
+ constructor(xml: DoxygenXmlParser, element: object);
1129
+ }
1130
+
1131
+ /**
1132
+ * @public
1133
+ */
1134
+ export declare class TypeDataModel extends AbstractLinkedTextType {
1135
+ constructor(xml: DoxygenXmlParser, element: object);
1136
+ }
1137
+
1138
+ /**
1139
+ * @public
1140
+ */
1141
+ export declare interface XmlElement {
1142
+ (key: string): XmlElement[];
1143
+ '#text': string | number | boolean;
1144
+ ':@'?: Record<string, string | number | boolean>;
1145
+ }
1146
+
1147
+ export { }
@@ -0,0 +1,11 @@
1
+ // This file is read by tools that parse documentation comments conforming to the TSDoc standard.
2
+ // It should be published with your NPM package. It should not be tracked by Git.
3
+ {
4
+ "tsdocVersion": "0.12",
5
+ "toolPackages": [
6
+ {
7
+ "packageName": "@microsoft/api-extractor",
8
+ "packageVersion": "7.52.8"
9
+ }
10
+ ]
11
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xpack/doxygen2docusaurus",
3
- "version": "1.0.2",
3
+ "version": "1.1.0",
4
4
  "description": "A Node.js CLI application to convert Doxygen XML files into Docusaurus documentation",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -20,7 +20,7 @@
20
20
  "scripts": {
21
21
  "generate-top-commons": "bash node_modules/@xpack/npm-packages-helper/maintenance-scripts/generate-top-commons.sh --xpack",
22
22
  "api-extractor": "api-extractor run --local --verbose",
23
- "prepare": "del-cli dist && npm run prettier && npm run lint && npm run compile",
23
+ "prepare": "del-cli dist && npm run prettier && npm run lint && npm run compile && npm run api-extractor",
24
24
  "compile-watch": "tsc --build --verbose --watch src",
25
25
  "compile": "tsc --build --verbose src",
26
26
  "prettier": "prettier src --write",
@@ -84,6 +84,7 @@
84
84
  "descriptiveName": "doxygen2docusaurus",
85
85
  "permalinkName": "doxygen2docusaurus",
86
86
  "skipCiTests": "true",
87
+ "hasNoGithubReleases": "true",
87
88
  "hasCli": "true",
88
89
  "useEslint": "true"
89
90
  },