@xpack/doxygen2docusaurus 1.0.2
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/LICENSE +21 -0
- package/README.md +25 -0
- package/bin/doxygen2docusaurus.js +45 -0
- package/dist/cli/main.d.ts +10 -0
- package/dist/cli/main.d.ts.map +1 -0
- package/dist/cli/main.js +66 -0
- package/dist/cli/main.js.map +1 -0
- package/dist/docusaurus/cli-options.d.ts +98 -0
- package/dist/docusaurus/cli-options.d.ts.map +1 -0
- package/dist/docusaurus/cli-options.js +212 -0
- package/dist/docusaurus/cli-options.js.map +1 -0
- package/dist/docusaurus/generator.d.ts +22 -0
- package/dist/docusaurus/generator.d.ts.map +1 -0
- package/dist/docusaurus/generator.js +461 -0
- package/dist/docusaurus/generator.js.map +1 -0
- package/dist/docusaurus/renderers/descriptiontype.d.ts +63 -0
- package/dist/docusaurus/renderers/descriptiontype.d.ts.map +1 -0
- package/dist/docusaurus/renderers/descriptiontype.js +674 -0
- package/dist/docusaurus/renderers/descriptiontype.js.map +1 -0
- package/dist/docusaurus/renderers/docinternalstype.d.ts +21 -0
- package/dist/docusaurus/renderers/docinternalstype.d.ts.map +1 -0
- package/dist/docusaurus/renderers/docinternalstype.js +159 -0
- package/dist/docusaurus/renderers/docinternalstype.js.map +1 -0
- package/dist/docusaurus/renderers/doclisttype.d.ts +6 -0
- package/dist/docusaurus/renderers/doclisttype.d.ts.map +1 -0
- package/dist/docusaurus/renderers/doclisttype.js +86 -0
- package/dist/docusaurus/renderers/doclisttype.js.map +1 -0
- package/dist/docusaurus/renderers/doctabletype.d.ts +15 -0
- package/dist/docusaurus/renderers/doctabletype.d.ts.map +1 -0
- package/dist/docusaurus/renderers/doctabletype.js +98 -0
- package/dist/docusaurus/renderers/doctabletype.js.map +1 -0
- package/dist/docusaurus/renderers/doctitletype.d.ts +6 -0
- package/dist/docusaurus/renderers/doctitletype.d.ts.map +1 -0
- package/dist/docusaurus/renderers/doctitletype.js +38 -0
- package/dist/docusaurus/renderers/doctitletype.js.map +1 -0
- package/dist/docusaurus/renderers/docvariablelisttype.d.ts +9 -0
- package/dist/docusaurus/renderers/docvariablelisttype.d.ts.map +1 -0
- package/dist/docusaurus/renderers/docvariablelisttype.js +57 -0
- package/dist/docusaurus/renderers/docvariablelisttype.js.map +1 -0
- package/dist/docusaurus/renderers/docxrefsecttype.d.ts +6 -0
- package/dist/docusaurus/renderers/docxrefsecttype.d.ts.map +1 -0
- package/dist/docusaurus/renderers/docxrefsecttype.js +44 -0
- package/dist/docusaurus/renderers/docxrefsecttype.js.map +1 -0
- package/dist/docusaurus/renderers/element-renderer-base.d.ts +12 -0
- package/dist/docusaurus/renderers/element-renderer-base.d.ts.map +1 -0
- package/dist/docusaurus/renderers/element-renderer-base.js +25 -0
- package/dist/docusaurus/renderers/element-renderer-base.js.map +1 -0
- package/dist/docusaurus/renderers/inctype.d.ts +6 -0
- package/dist/docusaurus/renderers/inctype.d.ts.map +1 -0
- package/dist/docusaurus/renderers/inctype.js +42 -0
- package/dist/docusaurus/renderers/inctype.js.map +1 -0
- package/dist/docusaurus/renderers/linkedtexttype.d.ts +6 -0
- package/dist/docusaurus/renderers/linkedtexttype.d.ts.map +1 -0
- package/dist/docusaurus/renderers/linkedtexttype.js +32 -0
- package/dist/docusaurus/renderers/linkedtexttype.js.map +1 -0
- package/dist/docusaurus/renderers/listingtype.d.ts +10 -0
- package/dist/docusaurus/renderers/listingtype.d.ts.map +1 -0
- package/dist/docusaurus/renderers/listingtype.js +121 -0
- package/dist/docusaurus/renderers/listingtype.js.map +1 -0
- package/dist/docusaurus/renderers/paramtype.d.ts +6 -0
- package/dist/docusaurus/renderers/paramtype.d.ts.map +1 -0
- package/dist/docusaurus/renderers/paramtype.js +63 -0
- package/dist/docusaurus/renderers/paramtype.js.map +1 -0
- package/dist/docusaurus/renderers/referencetype.d.ts +6 -0
- package/dist/docusaurus/renderers/referencetype.d.ts.map +1 -0
- package/dist/docusaurus/renderers/referencetype.js +42 -0
- package/dist/docusaurus/renderers/referencetype.js.map +1 -0
- package/dist/docusaurus/renderers/reftexttype.d.ts +6 -0
- package/dist/docusaurus/renderers/reftexttype.d.ts.map +1 -0
- package/dist/docusaurus/renderers/reftexttype.js +41 -0
- package/dist/docusaurus/renderers/reftexttype.js.map +1 -0
- package/dist/docusaurus/renderers/reftype.d.ts +6 -0
- package/dist/docusaurus/renderers/reftype.d.ts.map +1 -0
- package/dist/docusaurus/renderers/reftype.js +38 -0
- package/dist/docusaurus/renderers/reftype.js.map +1 -0
- package/dist/docusaurus/renderers/renderers.d.ts +33 -0
- package/dist/docusaurus/renderers/renderers.d.ts.map +1 -0
- package/dist/docusaurus/renderers/renderers.js +303 -0
- package/dist/docusaurus/renderers/renderers.js.map +1 -0
- package/dist/docusaurus/renderers/substringtype.d.ts +6 -0
- package/dist/docusaurus/renderers/substringtype.d.ts.map +1 -0
- package/dist/docusaurus/renderers/substringtype.js +24 -0
- package/dist/docusaurus/renderers/substringtype.js.map +1 -0
- package/dist/docusaurus/renderers/tableofcontentstype.d.ts +6 -0
- package/dist/docusaurus/renderers/tableofcontentstype.d.ts.map +1 -0
- package/dist/docusaurus/renderers/tableofcontentstype.js +41 -0
- package/dist/docusaurus/renderers/tableofcontentstype.js.map +1 -0
- package/dist/docusaurus/types.d.ts +53 -0
- package/dist/docusaurus/types.d.ts.map +1 -0
- package/dist/docusaurus/types.js +13 -0
- package/dist/docusaurus/types.js.map +1 -0
- package/dist/docusaurus/utils.d.ts +16 -0
- package/dist/docusaurus/utils.d.ts.map +1 -0
- package/dist/docusaurus/utils.js +169 -0
- package/dist/docusaurus/utils.js.map +1 -0
- package/dist/docusaurus/view-model/classes-vm.d.ts +35 -0
- package/dist/docusaurus/view-model/classes-vm.d.ts.map +1 -0
- package/dist/docusaurus/view-model/classes-vm.js +707 -0
- package/dist/docusaurus/view-model/classes-vm.js.map +1 -0
- package/dist/docusaurus/view-model/collection-base.d.ts +28 -0
- package/dist/docusaurus/view-model/collection-base.d.ts.map +1 -0
- package/dist/docusaurus/view-model/collection-base.js +155 -0
- package/dist/docusaurus/view-model/collection-base.js.map +1 -0
- package/dist/docusaurus/view-model/compound-base-vm.d.ts +112 -0
- package/dist/docusaurus/view-model/compound-base-vm.d.ts.map +1 -0
- package/dist/docusaurus/view-model/compound-base-vm.js +829 -0
- package/dist/docusaurus/view-model/compound-base-vm.js.map +1 -0
- package/dist/docusaurus/view-model/description-anchors.d.ts +17 -0
- package/dist/docusaurus/view-model/description-anchors.d.ts.map +1 -0
- package/dist/docusaurus/view-model/description-anchors.js +37 -0
- package/dist/docusaurus/view-model/description-anchors.js.map +1 -0
- package/dist/docusaurus/view-model/files-and-folders-vm.d.ts +45 -0
- package/dist/docusaurus/view-model/files-and-folders-vm.d.ts.map +1 -0
- package/dist/docusaurus/view-model/files-and-folders-vm.js +749 -0
- package/dist/docusaurus/view-model/files-and-folders-vm.js.map +1 -0
- package/dist/docusaurus/view-model/groups-vm.d.ts +20 -0
- package/dist/docusaurus/view-model/groups-vm.d.ts.map +1 -0
- package/dist/docusaurus/view-model/groups-vm.js +297 -0
- package/dist/docusaurus/view-model/groups-vm.js.map +1 -0
- package/dist/docusaurus/view-model/members-vm.d.ts +81 -0
- package/dist/docusaurus/view-model/members-vm.d.ts.map +1 -0
- package/dist/docusaurus/view-model/members-vm.js +1017 -0
- package/dist/docusaurus/view-model/members-vm.js.map +1 -0
- package/dist/docusaurus/view-model/namespaces-vm.d.ts +24 -0
- package/dist/docusaurus/view-model/namespaces-vm.d.ts.map +1 -0
- package/dist/docusaurus/view-model/namespaces-vm.js +527 -0
- package/dist/docusaurus/view-model/namespaces-vm.js.map +1 -0
- package/dist/docusaurus/view-model/options.d.ts +8 -0
- package/dist/docusaurus/view-model/options.d.ts.map +1 -0
- package/dist/docusaurus/view-model/options.js +42 -0
- package/dist/docusaurus/view-model/options.js.map +1 -0
- package/dist/docusaurus/view-model/pages-vm.d.ts +18 -0
- package/dist/docusaurus/view-model/pages-vm.d.ts.map +1 -0
- package/dist/docusaurus/view-model/pages-vm.js +160 -0
- package/dist/docusaurus/view-model/pages-vm.js.map +1 -0
- package/dist/docusaurus/view-model/tree-entries-vm.d.ts +44 -0
- package/dist/docusaurus/view-model/tree-entries-vm.d.ts.map +1 -0
- package/dist/docusaurus/view-model/tree-entries-vm.js +139 -0
- package/dist/docusaurus/view-model/tree-entries-vm.js.map +1 -0
- package/dist/docusaurus/view-model/view-model.d.ts +34 -0
- package/dist/docusaurus/view-model/view-model.d.ts.map +1 -0
- package/dist/docusaurus/view-model/view-model.js +284 -0
- package/dist/docusaurus/view-model/view-model.js.map +1 -0
- package/dist/docusaurus/workspace.d.ts +65 -0
- package/dist/docusaurus/workspace.d.ts.map +1 -0
- package/dist/docusaurus/workspace.js +350 -0
- package/dist/docusaurus/workspace.js.map +1 -0
- package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts +97 -0
- package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts.map +1 -0
- package/dist/doxygen/data-model/compounds/compounddef-dm.js +498 -0
- package/dist/doxygen/data-model/compounds/compounddef-dm.js.map +1 -0
- package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts +27 -0
- package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts.map +1 -0
- package/dist/doxygen/data-model/compounds/compoundreftype-dm.js +91 -0
- package/dist/doxygen/data-model/compounds/compoundreftype-dm.js.map +1 -0
- package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts +1214 -0
- package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts.map +1 -0
- package/dist/doxygen/data-model/compounds/descriptiontype-dm.js +5995 -0
- package/dist/doxygen/data-model/compounds/descriptiontype-dm.js.map +1 -0
- package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts +22 -0
- package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts.map +1 -0
- package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js +136 -0
- package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js.map +1 -0
- package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts +14 -0
- package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts.map +1 -0
- package/dist/doxygen/data-model/compounds/doxygentype-dm.js +87 -0
- package/dist/doxygen/data-model/compounds/doxygentype-dm.js.map +1 -0
- package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts +23 -0
- package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts.map +1 -0
- package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js +104 -0
- package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js.map +1 -0
- package/dist/doxygen/data-model/compounds/inctype-dm.d.ts +24 -0
- package/dist/doxygen/data-model/compounds/inctype-dm.d.ts.map +1 -0
- package/dist/doxygen/data-model/compounds/inctype-dm.js +84 -0
- package/dist/doxygen/data-model/compounds/inctype-dm.js.map +1 -0
- package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts +33 -0
- package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts.map +1 -0
- package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js +102 -0
- package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js.map +1 -0
- package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts +17 -0
- package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts.map +1 -0
- package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js +69 -0
- package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js.map +1 -0
- package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts +24 -0
- package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts.map +1 -0
- package/dist/doxygen/data-model/compounds/locationtype-dm.js +109 -0
- package/dist/doxygen/data-model/compounds/locationtype-dm.js.map +1 -0
- package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts +67 -0
- package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts.map +1 -0
- package/dist/doxygen/data-model/compounds/memberdeftype-dm.js +253 -0
- package/dist/doxygen/data-model/compounds/memberdeftype-dm.js.map +1 -0
- package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts +21 -0
- package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts.map +1 -0
- package/dist/doxygen/data-model/compounds/memberreftype-dm.js +105 -0
- package/dist/doxygen/data-model/compounds/memberreftype-dm.js.map +1 -0
- package/dist/doxygen/data-model/compounds/membertype-dm.d.ts +17 -0
- package/dist/doxygen/data-model/compounds/membertype-dm.d.ts.map +1 -0
- package/dist/doxygen/data-model/compounds/membertype-dm.js +87 -0
- package/dist/doxygen/data-model/compounds/membertype-dm.js.map +1 -0
- package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts +25 -0
- package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts.map +1 -0
- package/dist/doxygen/data-model/compounds/paramtype-dm.js +115 -0
- package/dist/doxygen/data-model/compounds/paramtype-dm.js.map +1 -0
- package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts +26 -0
- package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts.map +1 -0
- package/dist/doxygen/data-model/compounds/referencetype-dm.js +93 -0
- package/dist/doxygen/data-model/compounds/referencetype-dm.js.map +1 -0
- package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts +15 -0
- package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts.map +1 -0
- package/dist/doxygen/data-model/compounds/reftexttype-dm.js +80 -0
- package/dist/doxygen/data-model/compounds/reftexttype-dm.js.map +1 -0
- package/dist/doxygen/data-model/compounds/reftype-dm.d.ts +55 -0
- package/dist/doxygen/data-model/compounds/reftype-dm.d.ts.map +1 -0
- package/dist/doxygen/data-model/compounds/reftype-dm.js +152 -0
- package/dist/doxygen/data-model/compounds/reftype-dm.js.map +1 -0
- package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts +20 -0
- package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts.map +1 -0
- package/dist/doxygen/data-model/compounds/reimplementtype-dm.js +77 -0
- package/dist/doxygen/data-model/compounds/reimplementtype-dm.js.map +1 -0
- package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts +34 -0
- package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts.map +1 -0
- package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js +139 -0
- package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js.map +1 -0
- package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts +46 -0
- package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts.map +1 -0
- package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js +235 -0
- package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js.map +1 -0
- package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts +17 -0
- package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts.map +1 -0
- package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js +69 -0
- package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js.map +1 -0
- package/dist/doxygen/data-model/data-model.d.ts +91 -0
- package/dist/doxygen/data-model/data-model.d.ts.map +1 -0
- package/dist/doxygen/data-model/data-model.js +245 -0
- package/dist/doxygen/data-model/data-model.js.map +1 -0
- package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts +21 -0
- package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts.map +1 -0
- package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js +95 -0
- package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js.map +1 -0
- package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts +20 -0
- package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts.map +1 -0
- package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js +92 -0
- package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js.map +1 -0
- package/dist/doxygen/data-model/doxygen-xml-parser.d.ts +261 -0
- package/dist/doxygen/data-model/doxygen-xml-parser.d.ts.map +1 -0
- package/dist/doxygen/data-model/doxygen-xml-parser.js +459 -0
- package/dist/doxygen/data-model/doxygen-xml-parser.js.map +1 -0
- package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts +21 -0
- package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts.map +1 -0
- package/dist/doxygen/data-model/index/indexcompoundtype-dm.js +96 -0
- package/dist/doxygen/data-model/index/indexcompoundtype-dm.js.map +1 -0
- package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts +20 -0
- package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts.map +1 -0
- package/dist/doxygen/data-model/index/indexdoxygentype-dm.js +93 -0
- package/dist/doxygen/data-model/index/indexdoxygentype-dm.js.map +1 -0
- package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts +19 -0
- package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts.map +1 -0
- package/dist/doxygen/data-model/index/indexmembertype-dm.js +89 -0
- package/dist/doxygen/data-model/index/indexmembertype-dm.js.map +1 -0
- package/dist/doxygen/data-model/types.d.ts +44 -0
- package/dist/doxygen/data-model/types.d.ts.map +1 -0
- package/dist/doxygen/data-model/types.js +24 -0
- package/dist/doxygen/data-model/types.js.map +1 -0
- package/dist/index.d.ts +43 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +69 -0
- package/dist/index.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +99 -0
- package/template/css/custom.css +908 -0
- package/template/img/README.md +3 -0
- package/template/img/document-svgrepo-com.svg +5 -0
- package/template/img/folder-svgrepo-com.svg +5 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is part of the xPack project (http://xpack.github.io).
|
|
3
|
+
* Copyright (c) 2025 Liviu Ionescu. All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* Permission to use, copy, modify, and/or distribute this software
|
|
6
|
+
* for any purpose is hereby granted, under the terms of the MIT license.
|
|
7
|
+
*
|
|
8
|
+
* If a copy of the license was not distributed with this file, it can
|
|
9
|
+
* be obtained from https://opensource.org/licenses/MIT.
|
|
10
|
+
*/
|
|
11
|
+
// ----------------------------------------------------------------------------
|
|
12
|
+
import assert from 'node:assert';
|
|
13
|
+
import * as util from 'node:util';
|
|
14
|
+
import { ParamDataModel } from './paramtype-dm.js';
|
|
15
|
+
import { AbstractDataModelBase } from '../types.js';
|
|
16
|
+
// ----------------------------------------------------------------------------
|
|
17
|
+
// <xsd:complexType name="templateparamlistType">
|
|
18
|
+
// <xsd:sequence>
|
|
19
|
+
// <xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded" />
|
|
20
|
+
// </xsd:sequence>
|
|
21
|
+
// </xsd:complexType>
|
|
22
|
+
/**
|
|
23
|
+
* @public
|
|
24
|
+
*/
|
|
25
|
+
// eslint-disable-next-line max-len
|
|
26
|
+
export class AbstractTemplateParamListType extends AbstractDataModelBase {
|
|
27
|
+
// Optional elements.
|
|
28
|
+
params;
|
|
29
|
+
constructor(xml, element, elementName) {
|
|
30
|
+
super(elementName);
|
|
31
|
+
// console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
|
|
32
|
+
// ------------------------------------------------------------------------
|
|
33
|
+
// Process elements.
|
|
34
|
+
const innerElements = xml.getInnerElements(element, elementName);
|
|
35
|
+
assert(innerElements.length > 0);
|
|
36
|
+
// console.log(util.inspect(item))
|
|
37
|
+
for (const innerElement of innerElements) {
|
|
38
|
+
if (xml.hasInnerText(innerElement)) {
|
|
39
|
+
// Ignore texts
|
|
40
|
+
}
|
|
41
|
+
else if (xml.hasInnerElement(innerElement, 'param')) {
|
|
42
|
+
this.params ??= [];
|
|
43
|
+
this.params.push(new ParamDataModel(xml, innerElement));
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
console.error(util.inspect(innerElement));
|
|
47
|
+
console.error(`${elementName} element:`, Object.keys(innerElement), 'not implemented yet in', this.constructor.name);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
// ------------------------------------------------------------------------
|
|
51
|
+
// Process attributes.
|
|
52
|
+
assert(!xml.hasAttributes(element));
|
|
53
|
+
// ------------------------------------------------------------------------
|
|
54
|
+
// console.log(util.inspect(this, { compact: false, depth: 999 }))
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
// ----------------------------------------------------------------------------
|
|
58
|
+
// <xsd:element name="templateparamlist" type="templateparamlistType" minOccurs="0" />
|
|
59
|
+
/**
|
|
60
|
+
* @public
|
|
61
|
+
*/
|
|
62
|
+
export class TemplateParamListDataModel extends AbstractTemplateParamListType {
|
|
63
|
+
constructor(xml, element) {
|
|
64
|
+
// console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
|
|
65
|
+
super(xml, element, 'templateparamlist');
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
// ----------------------------------------------------------------------------
|
|
69
|
+
//# sourceMappingURL=templateparamlisttype-dm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templateparamlisttype-dm.js","sourceRoot":"","sources":["../../../../src/doxygen/data-model/compounds/templateparamlisttype-dm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,+EAA+E;AAE/E,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAGjC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAEnD,+EAA+E;AAE/E,iDAAiD;AACjD,mBAAmB;AACnB,wFAAwF;AACxF,oBAAoB;AACpB,qBAAqB;AAErB;;GAEG;AACH,mCAAmC;AACnC,MAAM,OAAgB,6BAA8B,SAAQ,qBAAqB;IAC/E,qBAAqB;IACrB,MAAM,CAA+B;IAErC,YAAY,GAAqB,EAAE,OAAe,EAAE,WAAmB;QACrE,KAAK,CAAC,WAAW,CAAC,CAAA;QAElB,kFAAkF;QAElF,2EAA2E;QAC3E,oBAAoB;QAEpB,MAAM,aAAa,GAAG,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;QAChE,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAEhC,kCAAkC;QAClC,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,IAAI,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;gBACnC,eAAe;YACjB,CAAC;iBAAM,IAAI,GAAG,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC;gBACtD,IAAI,CAAC,MAAM,KAAK,EAAE,CAAA;gBAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAA;YACzD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAA;gBACzC,OAAO,CAAC,KAAK,CACX,GAAG,WAAW,WAAW,EACzB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EACzB,wBAAwB,EACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CACtB,CAAA;YACH,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,sBAAsB;QAEtB,MAAM,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;QAEnC,2EAA2E;QAE3E,kEAAkE;IACpE,CAAC;CACF;AAED,+EAA+E;AAE/E,sFAAsF;AAEtF;;GAEG;AACH,MAAM,OAAO,0BAA2B,SAAQ,6BAA6B;IAC3E,YAAY,GAAqB,EAAE,OAAe;QAChD,kFAAkF;QAClF,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAA;IAC1C,CAAC;CACF;AAED,+EAA+E"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { CliOptions } from '../../docusaurus/cli-options.js';
|
|
2
|
+
import { CompoundDefDataModel } from './compounds/compounddef-dm.js';
|
|
3
|
+
import { DoxygenFileDataModel } from './doxyfile/doxyfiletype-dm.js';
|
|
4
|
+
import { DoxygenIndexDataModel } from './index/indexdoxygentype-dm.js';
|
|
5
|
+
import { XmlElement } from './types.js';
|
|
6
|
+
import { IndexCompoundDataModel } from './index/indexcompoundtype-dm.js';
|
|
7
|
+
import { DoxygenXmlParser } from './doxygen-xml-parser.js';
|
|
8
|
+
/**
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export declare class DataModel {
|
|
12
|
+
/**
|
|
13
|
+
* The global configuration options.
|
|
14
|
+
*/
|
|
15
|
+
options: CliOptions;
|
|
16
|
+
xml: DoxygenXmlParser;
|
|
17
|
+
/**
|
|
18
|
+
* Keep track of the number of XML files parsed.
|
|
19
|
+
*
|
|
20
|
+
* @defaultValue 0
|
|
21
|
+
*/
|
|
22
|
+
parsedFilesCounter: number;
|
|
23
|
+
doxygenindex?: DoxygenIndexDataModel;
|
|
24
|
+
compoundDefs: CompoundDefDataModel[];
|
|
25
|
+
doxyfile?: DoxygenFileDataModel;
|
|
26
|
+
projectVersion?: string;
|
|
27
|
+
constructor(options: CliOptions);
|
|
28
|
+
parse(): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* Parses the main Doxygen index XML file and initialises the index data
|
|
31
|
+
* model.
|
|
32
|
+
*
|
|
33
|
+
* @remarks
|
|
34
|
+
* This method reads and parses the `index.xml` file, ignoring the XML
|
|
35
|
+
* prologue and top-level text nodes. It extracts the `doxygenindex`
|
|
36
|
+
* element and constructs the corresponding data model. Any unrecognised
|
|
37
|
+
* elements are logged for diagnostic purposes.
|
|
38
|
+
*/
|
|
39
|
+
parseDoxygenIndex(): Promise<void>;
|
|
40
|
+
/**
|
|
41
|
+
* Processes compound definitions from the parsed Doxygen XML elements.
|
|
42
|
+
*
|
|
43
|
+
* @param indexCompound - The compound index data model
|
|
44
|
+
* @param parsedDoxygenElements - The array of parsed XML elements for the
|
|
45
|
+
* compound
|
|
46
|
+
*
|
|
47
|
+
* @remarks
|
|
48
|
+
* This method iterates through the parsed XML elements, ignoring the XML
|
|
49
|
+
* prologue and top-level text nodes. For recognised `doxygen` elements, it
|
|
50
|
+
* constructs the compound definitions and appends them to the internal data
|
|
51
|
+
* model. Unrecognised elements are logged for further analysis.
|
|
52
|
+
*/
|
|
53
|
+
processCompoundDefs(indexCompound: IndexCompoundDataModel, parsedDoxygenElements: XmlElement[]): void;
|
|
54
|
+
/**
|
|
55
|
+
* Processes member definitions and updates member kinds where necessary.
|
|
56
|
+
*
|
|
57
|
+
* @remarks
|
|
58
|
+
* This method traverses all compound definitions and their associated
|
|
59
|
+
* sections. It collects member definitions by their identifiers and, for
|
|
60
|
+
* each member with an empty kind, assigns the kind from the corresponding
|
|
61
|
+
* member definition. This ensures that all members are correctly classified
|
|
62
|
+
* within the internal data model.
|
|
63
|
+
*/
|
|
64
|
+
processMemberdefs(): void;
|
|
65
|
+
/**
|
|
66
|
+
* Parses the Doxyfile XML and initialises the configuration data model.
|
|
67
|
+
*
|
|
68
|
+
* @remarks
|
|
69
|
+
* This method reads and parses the `Doxyfile.xml` file, ignoring the XML
|
|
70
|
+
* prologue and top-level text nodes. It extracts the `doxyfile` element and
|
|
71
|
+
* constructs the corresponding configuration data model. Any unrecognised
|
|
72
|
+
* elements are logged for diagnostic purposes.
|
|
73
|
+
*/
|
|
74
|
+
parseDoxyfile(): Promise<void>;
|
|
75
|
+
/**
|
|
76
|
+
* Reads and parses the specified XML file, returning the parsed content.
|
|
77
|
+
*
|
|
78
|
+
* @param fileName - The name of the XML file to be parsed
|
|
79
|
+
* @returns A promise that resolves to the parsed XML content
|
|
80
|
+
*
|
|
81
|
+
* @remarks
|
|
82
|
+
* This method constructs the full file path using the configured input
|
|
83
|
+
* folder, reads the XML file as a UTF-8 string, and parses it using the
|
|
84
|
+
* configured XML parser. The method increments the internal counter for
|
|
85
|
+
* parsed files and, if verbose mode is enabled, logs the file being parsed.
|
|
86
|
+
*/
|
|
87
|
+
parseFile({ fileName }: {
|
|
88
|
+
fileName: string;
|
|
89
|
+
}): Promise<any>;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=data-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-model.d.ts","sourceRoot":"","sources":["../../../src/doxygen/data-model/data-model.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AAGxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAK1D;;GAEG;AAEH,qBAAa,SAAS;IACpB;;OAEG;IACH,OAAO,EAAE,UAAU,CAAA;IAEnB,GAAG,EAAE,gBAAgB,CAAA;IAErB;;;;OAIG;IACH,kBAAkB,SAAI;IAEtB,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,YAAY,EAAE,oBAAoB,EAAE,CAAA;IACpC,QAAQ,CAAC,EAAE,oBAAoB,CAAA;IAE/B,cAAc,CAAC,EAAE,MAAM,CAAA;gBAEX,OAAO,EAAE,UAAU;IAQzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAoD5B;;;;;;;;;OASG;IACG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BxC;;;;;;;;;;;;OAYG;IACH,mBAAmB,CACjB,aAAa,EAAE,sBAAsB,EACrC,qBAAqB,EAAE,UAAU,EAAE;IAwBrC;;;;;;;;;OASG;IACH,iBAAiB;IAwBjB;;;;;;;;OAQG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BpC;;;;;;;;;;;OAWG;IAEG,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;CAYlE"}
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is part of the xPack project (http://xpack.github.io).
|
|
3
|
+
* Copyright (c) 2025 Liviu Ionescu. All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* Permission to use, copy, modify, and/or distribute this software
|
|
6
|
+
* for any purpose is hereby granted, under the terms of the MIT license.
|
|
7
|
+
*
|
|
8
|
+
* If a copy of the license was not distributed with this file, it can
|
|
9
|
+
* be obtained from https://opensource.org/licenses/MIT.
|
|
10
|
+
*/
|
|
11
|
+
// ----------------------------------------------------------------------------
|
|
12
|
+
import assert from 'node:assert';
|
|
13
|
+
import * as fs from 'node:fs/promises';
|
|
14
|
+
import * as path from 'node:path';
|
|
15
|
+
import * as util from 'node:util';
|
|
16
|
+
import { DoxygenFileDataModel } from './doxyfile/doxyfiletype-dm.js';
|
|
17
|
+
import { DoxygenIndexDataModel } from './index/indexdoxygentype-dm.js';
|
|
18
|
+
import { DoxygenDataModel } from './compounds/doxygentype-dm.js';
|
|
19
|
+
import { DoxygenXmlParser } from './doxygen-xml-parser.js';
|
|
20
|
+
// ----------------------------------------------------------------------------
|
|
21
|
+
// Top structure to hold the parsed Doxygen xml data as JS objects.
|
|
22
|
+
// All objects are defined in the `data-model` folder.
|
|
23
|
+
/**
|
|
24
|
+
* @public
|
|
25
|
+
*/
|
|
26
|
+
export class DataModel {
|
|
27
|
+
/**
|
|
28
|
+
* The global configuration options.
|
|
29
|
+
*/
|
|
30
|
+
options;
|
|
31
|
+
xml;
|
|
32
|
+
/**
|
|
33
|
+
* Keep track of the number of XML files parsed.
|
|
34
|
+
*
|
|
35
|
+
* @defaultValue 0
|
|
36
|
+
*/
|
|
37
|
+
parsedFilesCounter = 0;
|
|
38
|
+
doxygenindex; // from index.xml
|
|
39
|
+
compoundDefs; // from `${'@_refid'}.xml`
|
|
40
|
+
doxyfile; // from Doxyfile.xml
|
|
41
|
+
projectVersion;
|
|
42
|
+
constructor(options) {
|
|
43
|
+
this.options = options;
|
|
44
|
+
this.xml = new DoxygenXmlParser(options);
|
|
45
|
+
this.compoundDefs = [];
|
|
46
|
+
}
|
|
47
|
+
async parse() {
|
|
48
|
+
// The parser is configured to preserve the original, non-trimmed content
|
|
49
|
+
// and the original elements order. The downsize
|
|
50
|
+
// Some details are from the schematic documentation:
|
|
51
|
+
// https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/README.md#documents
|
|
52
|
+
// The defaults are in the project source:
|
|
53
|
+
// https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/src/xmlparser/OptionsBuilder.js
|
|
54
|
+
// ------------------------------------------------------------------------
|
|
55
|
+
// Parse the top index.xml file.
|
|
56
|
+
if (!this.options.verbose) {
|
|
57
|
+
console.log('Parsing Doxygen generated .xml files...');
|
|
58
|
+
}
|
|
59
|
+
await this.parseDoxygenIndex();
|
|
60
|
+
assert(this.doxygenindex !== undefined);
|
|
61
|
+
// ------------------------------------------------------------------------
|
|
62
|
+
// Parse all compound *.xml files mentioned in the index.
|
|
63
|
+
if (Array.isArray(this.doxygenindex.compounds)) {
|
|
64
|
+
for (const indexCompound of this.doxygenindex.compounds) {
|
|
65
|
+
// Parallelise not possible, the order is relevant.
|
|
66
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
67
|
+
const parsedDoxygenElements = await this.parseFile({
|
|
68
|
+
fileName: `${indexCompound.refid}.xml`,
|
|
69
|
+
});
|
|
70
|
+
// console.log(util.inspect(parsedDoxygen))
|
|
71
|
+
// console.log(JSON.stringify(parsedDoxygen, null, ' '))
|
|
72
|
+
this.processCompoundDefs(indexCompound, parsedDoxygenElements);
|
|
73
|
+
}
|
|
74
|
+
this.processMemberdefs();
|
|
75
|
+
}
|
|
76
|
+
// ------------------------------------------------------------------------
|
|
77
|
+
// Parse the Doxyfile.xml with the options.
|
|
78
|
+
await this.parseDoxyfile();
|
|
79
|
+
assert(this.doxyfile);
|
|
80
|
+
console.log(this.parsedFilesCounter, 'xml files parsed');
|
|
81
|
+
if (this.options.verbose) {
|
|
82
|
+
if (this.xml.images.length > 0) {
|
|
83
|
+
console.log(this.xml.images.length, 'images identified');
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Parses the main Doxygen index XML file and initialises the index data
|
|
89
|
+
* model.
|
|
90
|
+
*
|
|
91
|
+
* @remarks
|
|
92
|
+
* This method reads and parses the `index.xml` file, ignoring the XML
|
|
93
|
+
* prologue and top-level text nodes. It extracts the `doxygenindex`
|
|
94
|
+
* element and constructs the corresponding data model. Any unrecognised
|
|
95
|
+
* elements are logged for diagnostic purposes.
|
|
96
|
+
*/
|
|
97
|
+
async parseDoxygenIndex() {
|
|
98
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
99
|
+
const parsedIndexElements = await this.parseFile({
|
|
100
|
+
fileName: 'index.xml',
|
|
101
|
+
});
|
|
102
|
+
// console.log(util.inspect(parsedIndex))
|
|
103
|
+
// console.log(util.inspect(parsedIndex[0]['?xml']))
|
|
104
|
+
// console.log(JSON.stringify(parsedIndex, null, ' '))
|
|
105
|
+
for (const element of parsedIndexElements) {
|
|
106
|
+
if (this.xml.hasInnerElement(element, '?xml')) {
|
|
107
|
+
// Ignore the top xml prologue.
|
|
108
|
+
}
|
|
109
|
+
else if (this.xml.hasInnerText(element)) {
|
|
110
|
+
// Ignore top texts.
|
|
111
|
+
}
|
|
112
|
+
else if (this.xml.hasInnerElement(element, 'doxygenindex')) {
|
|
113
|
+
this.doxygenindex = new DoxygenIndexDataModel(this.xml, element);
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
console.error(util.inspect(element, { compact: false, depth: 999 }));
|
|
117
|
+
console.error('index.xml element:', Object.keys(element), 'not implemented yet in', this.constructor.name);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Processes compound definitions from the parsed Doxygen XML elements.
|
|
123
|
+
*
|
|
124
|
+
* @param indexCompound - The compound index data model
|
|
125
|
+
* @param parsedDoxygenElements - The array of parsed XML elements for the
|
|
126
|
+
* compound
|
|
127
|
+
*
|
|
128
|
+
* @remarks
|
|
129
|
+
* This method iterates through the parsed XML elements, ignoring the XML
|
|
130
|
+
* prologue and top-level text nodes. For recognised `doxygen` elements, it
|
|
131
|
+
* constructs the compound definitions and appends them to the internal data
|
|
132
|
+
* model. Unrecognised elements are logged for further analysis.
|
|
133
|
+
*/
|
|
134
|
+
processCompoundDefs(indexCompound, parsedDoxygenElements) {
|
|
135
|
+
for (const element of parsedDoxygenElements) {
|
|
136
|
+
if (this.xml.hasInnerElement(element, '?xml')) {
|
|
137
|
+
// Ignore the top xml prologue.
|
|
138
|
+
}
|
|
139
|
+
else if (this.xml.hasInnerText(element)) {
|
|
140
|
+
// Ignore top texts.
|
|
141
|
+
}
|
|
142
|
+
else if (this.xml.hasInnerElement(element, 'doxygen')) {
|
|
143
|
+
const doxygen = new DoxygenDataModel(this.xml, element);
|
|
144
|
+
if (Array.isArray(doxygen.compoundDefs)) {
|
|
145
|
+
this.compoundDefs.push(...doxygen.compoundDefs);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
console.error(util.inspect(element, { compact: false, depth: 999 }));
|
|
150
|
+
console.error(`${indexCompound.refid}.xml element:`, Object.keys(element), 'not implemented yet in', this.constructor.name);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Processes member definitions and updates member kinds where necessary.
|
|
156
|
+
*
|
|
157
|
+
* @remarks
|
|
158
|
+
* This method traverses all compound definitions and their associated
|
|
159
|
+
* sections. It collects member definitions by their identifiers and, for
|
|
160
|
+
* each member with an empty kind, assigns the kind from the corresponding
|
|
161
|
+
* member definition. This ensures that all members are correctly classified
|
|
162
|
+
* within the internal data model.
|
|
163
|
+
*/
|
|
164
|
+
processMemberdefs() {
|
|
165
|
+
const memberDefsById = new Map();
|
|
166
|
+
for (const compoundDef of this.compoundDefs) {
|
|
167
|
+
if (compoundDef.sectionDefs !== undefined) {
|
|
168
|
+
for (const sectionDef of compoundDef.sectionDefs) {
|
|
169
|
+
if (sectionDef.memberDefs !== undefined) {
|
|
170
|
+
for (const memberDef of sectionDef.memberDefs) {
|
|
171
|
+
memberDefsById.set(memberDef.id, memberDef);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
if (sectionDef.members !== undefined) {
|
|
175
|
+
for (const member of sectionDef.members) {
|
|
176
|
+
if (member.kind.length === 0) {
|
|
177
|
+
const memberDef = memberDefsById.get(member.refid);
|
|
178
|
+
assert(memberDef !== undefined);
|
|
179
|
+
member.kind = memberDef.kind;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Parses the Doxyfile XML and initialises the configuration data model.
|
|
189
|
+
*
|
|
190
|
+
* @remarks
|
|
191
|
+
* This method reads and parses the `Doxyfile.xml` file, ignoring the XML
|
|
192
|
+
* prologue and top-level text nodes. It extracts the `doxyfile` element and
|
|
193
|
+
* constructs the corresponding configuration data model. Any unrecognised
|
|
194
|
+
* elements are logged for diagnostic purposes.
|
|
195
|
+
*/
|
|
196
|
+
async parseDoxyfile() {
|
|
197
|
+
const parsedDoxyfileElements = (await this.parseFile({
|
|
198
|
+
fileName: 'Doxyfile.xml',
|
|
199
|
+
}));
|
|
200
|
+
// console.log(util.inspect(parsedDoxyfile))
|
|
201
|
+
// console.log(JSON.stringify(parsedDoxyfile, null, ' '))
|
|
202
|
+
for (const element of parsedDoxyfileElements) {
|
|
203
|
+
if (this.xml.hasInnerElement(element, '?xml')) {
|
|
204
|
+
// Ignore the top xml prologue.
|
|
205
|
+
}
|
|
206
|
+
else if (this.xml.hasInnerElement(element, '#text')) {
|
|
207
|
+
// Ignore top texts.
|
|
208
|
+
}
|
|
209
|
+
else if (this.xml.hasInnerElement(element, 'doxyfile')) {
|
|
210
|
+
this.doxyfile = new DoxygenFileDataModel(this.xml, element);
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
console.error(util.inspect(element, { compact: false, depth: 999 }));
|
|
214
|
+
console.error('Doxyfile.xml element:', Object.keys(element), 'not implemented yet in', this.constructor.name);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
// --------------------------------------------------------------------------
|
|
219
|
+
// Support methods.
|
|
220
|
+
/**
|
|
221
|
+
* Reads and parses the specified XML file, returning the parsed content.
|
|
222
|
+
*
|
|
223
|
+
* @param fileName - The name of the XML file to be parsed
|
|
224
|
+
* @returns A promise that resolves to the parsed XML content
|
|
225
|
+
*
|
|
226
|
+
* @remarks
|
|
227
|
+
* This method constructs the full file path using the configured input
|
|
228
|
+
* folder, reads the XML file as a UTF-8 string, and parses it using the
|
|
229
|
+
* configured XML parser. The method increments the internal counter for
|
|
230
|
+
* parsed files and, if verbose mode is enabled, logs the file being parsed.
|
|
231
|
+
*/
|
|
232
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
233
|
+
async parseFile({ fileName }) {
|
|
234
|
+
const folderPath = this.options.doxygenXmlInputFolderPath;
|
|
235
|
+
const filePath = path.join(folderPath, fileName);
|
|
236
|
+
const xmlString = await fs.readFile(filePath, { encoding: 'utf8' });
|
|
237
|
+
if (this.options.verbose) {
|
|
238
|
+
console.log(`Parsing ${fileName}...`);
|
|
239
|
+
}
|
|
240
|
+
this.parsedFilesCounter += 1;
|
|
241
|
+
return this.xml.xmlParser.parse(xmlString);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
// ----------------------------------------------------------------------------
|
|
245
|
+
//# sourceMappingURL=data-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-model.js","sourceRoot":"","sources":["../../../src/doxygen/data-model/data-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { DoxygenXmlParser } from '../doxygen-xml-parser.js';
|
|
2
|
+
import { AbstractDataModelBase } from '../types.js';
|
|
3
|
+
/**
|
|
4
|
+
* @public
|
|
5
|
+
*/
|
|
6
|
+
export declare abstract class AbstractDoxygenFileOptionType extends AbstractDataModelBase {
|
|
7
|
+
values: string[] | undefined;
|
|
8
|
+
id: string;
|
|
9
|
+
default: string;
|
|
10
|
+
type: string;
|
|
11
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string);
|
|
12
|
+
}
|
|
13
|
+
export type DoxyfileDefaultType = 'yes' | 'no';
|
|
14
|
+
export type DoxyfileTypeType = 'int' | 'bool' | 'string' | 'stringlist';
|
|
15
|
+
/**
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
export declare class DoxygenFileOptionDataModel extends AbstractDoxygenFileOptionType {
|
|
19
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=doxyfileoptiontype-dm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doxyfileoptiontype-dm.d.ts","sourceRoot":"","sources":["../../../../src/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAanD;;GAEG;AAEH,8BAAsB,6BAA8B,SAAQ,qBAAqB;IAE/E,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAG5B,EAAE,SAAK;IACP,OAAO,SAAK;IACZ,IAAI,SAAK;gBAEG,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;CA8DxE;AA6BD,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,IAAI,CAAA;AAW9C,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,YAAY,CAAA;AAMvE;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,6BAA6B;gBAC/D,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM;CAInD"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is part of the xPack project (http://xpack.github.io).
|
|
3
|
+
* Copyright (c) 2025 Liviu Ionescu. All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* Permission to use, copy, modify, and/or distribute this software
|
|
6
|
+
* for any purpose is hereby granted, under the terms of the MIT license.
|
|
7
|
+
*
|
|
8
|
+
* If a copy of the license was not distributed with this file, it can
|
|
9
|
+
* be obtained from https://opensource.org/licenses/MIT.
|
|
10
|
+
*/
|
|
11
|
+
// ----------------------------------------------------------------------------
|
|
12
|
+
import assert from 'node:assert';
|
|
13
|
+
import * as util from 'node:util';
|
|
14
|
+
import { AbstractDataModelBase } from '../types.js';
|
|
15
|
+
// ----------------------------------------------------------------------------
|
|
16
|
+
// <xsd:complexType name="OptionType">
|
|
17
|
+
// <xsd:sequence>
|
|
18
|
+
// <xsd:element name="value" type="valueType" minOccurs="0" maxOccurs="unbounded"/>
|
|
19
|
+
// </xsd:sequence>
|
|
20
|
+
// <xsd:attribute name="id" type="idType" use="required"/>
|
|
21
|
+
// <xsd:attribute name="default" type="defaultType" use="required"/>
|
|
22
|
+
// <xsd:attribute name="type" type="typeType" use="required"/>
|
|
23
|
+
// </xsd:complexType>
|
|
24
|
+
/**
|
|
25
|
+
* @public
|
|
26
|
+
*/
|
|
27
|
+
// eslint-disable-next-line max-len
|
|
28
|
+
export class AbstractDoxygenFileOptionType extends AbstractDataModelBase {
|
|
29
|
+
// Optional elements.
|
|
30
|
+
values; // [0-n] valueType
|
|
31
|
+
// Mandatory attributes.
|
|
32
|
+
id = ''; // idType
|
|
33
|
+
default = ''; // defaultType
|
|
34
|
+
type = ''; // typeType
|
|
35
|
+
constructor(xml, element, elementName) {
|
|
36
|
+
super(elementName);
|
|
37
|
+
// console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
|
|
38
|
+
// ------------------------------------------------------------------------
|
|
39
|
+
// Process elements.
|
|
40
|
+
const innerElements = xml.getInnerElements(element, elementName);
|
|
41
|
+
assert(innerElements.length > 0);
|
|
42
|
+
for (const innerElement of innerElements) {
|
|
43
|
+
if (xml.hasInnerText(innerElement)) {
|
|
44
|
+
// Ignore texts.
|
|
45
|
+
}
|
|
46
|
+
else if (xml.isInnerElementText(innerElement, 'value')) {
|
|
47
|
+
this.values ??= [];
|
|
48
|
+
this.values.push(xml.getInnerElementText(innerElement, 'value'));
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
console.error(util.inspect(innerElement));
|
|
52
|
+
console.error(`doxyfile ${elementName} element:`, Object.keys(innerElement), 'not implemented yet in', this.constructor.name);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
// ------------------------------------------------------------------------
|
|
56
|
+
// Process attributes.
|
|
57
|
+
assert(xml.hasAttributes(element));
|
|
58
|
+
const attributesNames = xml.getAttributesNames(element);
|
|
59
|
+
// console.log(attributesNames)
|
|
60
|
+
for (const attributeName of attributesNames) {
|
|
61
|
+
// console.log(attributeName)
|
|
62
|
+
if (attributeName === '@_id') {
|
|
63
|
+
this.id = xml.getAttributeStringValue(element, '@_id');
|
|
64
|
+
}
|
|
65
|
+
else if (attributeName === '@_default') {
|
|
66
|
+
this.default = xml.getAttributeStringValue(element, '@_default');
|
|
67
|
+
}
|
|
68
|
+
else if (attributeName === '@_type') {
|
|
69
|
+
this.type = xml.getAttributeStringValue(element, '@_type');
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
console.error(util.inspect(element, { compact: false, depth: 999 }));
|
|
73
|
+
console.error(`doxyfile ${elementName} attribute:`, attributeName, 'not implemented yet in', this.constructor.name);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
assert(this.id.length > 0);
|
|
77
|
+
assert(this.default.length > 0);
|
|
78
|
+
assert(this.type.length > 0);
|
|
79
|
+
// ------------------------------------------------------------------------
|
|
80
|
+
// console.log(util.inspect(this, { compact: false, depth: 999 }))
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
// ----------------------------------------------------------------------------
|
|
84
|
+
// <xsd:element name="option" type="OptionType" minOccurs="0" maxOccurs="unbounded"/>
|
|
85
|
+
/**
|
|
86
|
+
* @public
|
|
87
|
+
*/
|
|
88
|
+
export class DoxygenFileOptionDataModel extends AbstractDoxygenFileOptionType {
|
|
89
|
+
constructor(xml, element) {
|
|
90
|
+
// console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
|
|
91
|
+
super(xml, element, 'option');
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
// ----------------------------------------------------------------------------
|
|
95
|
+
//# sourceMappingURL=doxyfileoptiontype-dm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doxyfileoptiontype-dm.js","sourceRoot":"","sources":["../../../../src/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { DoxygenXmlParser } from '../doxygen-xml-parser.js';
|
|
2
|
+
import { DoxygenFileOptionDataModel } from './doxyfileoptiontype-dm.js';
|
|
3
|
+
import { AbstractDataModelBase } from '../types.js';
|
|
4
|
+
/**
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
export declare abstract class AbstractDoxygenFileType extends AbstractDataModelBase {
|
|
8
|
+
version: string;
|
|
9
|
+
lang: string;
|
|
10
|
+
options?: DoxygenFileOptionDataModel[] | undefined;
|
|
11
|
+
noNamespaceSchemaLocation?: string | undefined;
|
|
12
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* @public
|
|
16
|
+
*/
|
|
17
|
+
export declare class DoxygenFileDataModel extends AbstractDoxygenFileType {
|
|
18
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=doxyfiletype-dm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doxyfiletype-dm.d.ts","sourceRoot":"","sources":["../../../../src/doxygen/data-model/doxyfile/doxyfiletype-dm.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAYnD;;GAEG;AACH,8BAAsB,uBAAwB,SAAQ,qBAAqB;IAEzE,OAAO,SAAK;IACZ,IAAI,SAAK;IAGT,OAAO,CAAC,EAAE,0BAA0B,EAAE,GAAG,SAAS,CAAA;IAGlD,yBAAyB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;gBAElC,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;CA4DxE;AAMD;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,uBAAuB;gBACnD,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM;CAInD"}
|