@xpack/doxygen2docusaurus 2.0.0 → 2.2.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/LICENSE +1 -1
- package/README.md +3 -1
- package/bin/doxygen2docusaurus.js +5 -5
- package/dist/cli/main.d.ts +0 -14
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +0 -34
- package/dist/cli/main.js.map +1 -1
- package/dist/docusaurus/cli-options.d.ts +3 -292
- package/dist/docusaurus/cli-options.d.ts.map +1 -1
- package/dist/docusaurus/cli-options.js +6 -290
- package/dist/docusaurus/cli-options.js.map +1 -1
- package/dist/docusaurus/generator.d.ts +0 -172
- package/dist/docusaurus/generator.d.ts.map +1 -1
- package/dist/docusaurus/generator.js +20 -280
- package/dist/docusaurus/generator.js.map +1 -1
- package/dist/docusaurus/renderers/conceptparts.d.ts +9 -0
- package/dist/docusaurus/renderers/conceptparts.d.ts.map +1 -0
- package/dist/docusaurus/renderers/conceptparts.js +21 -0
- package/dist/docusaurus/renderers/conceptparts.js.map +1 -0
- package/dist/docusaurus/renderers/descriptiontype.d.ts +0 -417
- package/dist/docusaurus/renderers/descriptiontype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/descriptiontype.js +11 -555
- package/dist/docusaurus/renderers/descriptiontype.js.map +1 -1
- package/dist/docusaurus/renderers/docinternalstype.d.ts +0 -132
- package/dist/docusaurus/renderers/docinternalstype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/docinternalstype.js +0 -156
- package/dist/docusaurus/renderers/docinternalstype.js.map +1 -1
- package/dist/docusaurus/renderers/doclisttype.d.ts +0 -22
- package/dist/docusaurus/renderers/doclisttype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/doclisttype.js +0 -42
- package/dist/docusaurus/renderers/doclisttype.js.map +1 -1
- package/dist/docusaurus/renderers/doctabletype.d.ts +0 -88
- package/dist/docusaurus/renderers/doctabletype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/doctabletype.js +1 -113
- package/dist/docusaurus/renderers/doctabletype.js.map +1 -1
- package/dist/docusaurus/renderers/doctitletype.d.ts +0 -22
- package/dist/docusaurus/renderers/doctitletype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/doctitletype.js +0 -42
- package/dist/docusaurus/renderers/doctitletype.js.map +1 -1
- package/dist/docusaurus/renderers/docvariablelisttype.d.ts +0 -44
- package/dist/docusaurus/renderers/docvariablelisttype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/docvariablelisttype.js +1 -69
- package/dist/docusaurus/renderers/docvariablelisttype.js.map +1 -1
- package/dist/docusaurus/renderers/docxrefsecttype.d.ts +0 -22
- package/dist/docusaurus/renderers/docxrefsecttype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/docxrefsecttype.js +0 -38
- package/dist/docusaurus/renderers/docxrefsecttype.js.map +1 -1
- package/dist/docusaurus/renderers/element-renderer-base.d.ts +0 -74
- package/dist/docusaurus/renderers/element-renderer-base.d.ts.map +1 -1
- package/dist/docusaurus/renderers/element-renderer-base.js +0 -64
- package/dist/docusaurus/renderers/element-renderer-base.js.map +1 -1
- package/dist/docusaurus/renderers/inctype.d.ts +0 -23
- package/dist/docusaurus/renderers/inctype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/inctype.js +0 -41
- package/dist/docusaurus/renderers/inctype.js.map +1 -1
- package/dist/docusaurus/renderers/linkedtexttype.d.ts +0 -22
- package/dist/docusaurus/renderers/linkedtexttype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/linkedtexttype.js +0 -45
- package/dist/docusaurus/renderers/linkedtexttype.js.map +1 -1
- package/dist/docusaurus/renderers/listingtype.d.ts +0 -52
- package/dist/docusaurus/renderers/listingtype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/listingtype.js +1 -88
- package/dist/docusaurus/renderers/listingtype.js.map +1 -1
- package/dist/docusaurus/renderers/paramtype.d.ts +0 -22
- package/dist/docusaurus/renderers/paramtype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/paramtype.js +2 -51
- package/dist/docusaurus/renderers/paramtype.js.map +1 -1
- package/dist/docusaurus/renderers/referencetype.d.ts +0 -23
- package/dist/docusaurus/renderers/referencetype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/referencetype.js +0 -38
- package/dist/docusaurus/renderers/referencetype.js.map +1 -1
- package/dist/docusaurus/renderers/reftexttype.d.ts +0 -22
- package/dist/docusaurus/renderers/reftexttype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/reftexttype.js +0 -38
- package/dist/docusaurus/renderers/reftexttype.js.map +1 -1
- package/dist/docusaurus/renderers/reftype.d.ts +0 -22
- package/dist/docusaurus/renderers/reftype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/reftype.js +0 -38
- package/dist/docusaurus/renderers/reftype.js.map +1 -1
- package/dist/docusaurus/renderers/renderers.d.ts +0 -151
- package/dist/docusaurus/renderers/renderers.d.ts.map +1 -1
- package/dist/docusaurus/renderers/renderers.js +15 -186
- package/dist/docusaurus/renderers/renderers.js.map +1 -1
- package/dist/docusaurus/renderers/substringtype.d.ts +0 -22
- package/dist/docusaurus/renderers/substringtype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/substringtype.js +0 -39
- package/dist/docusaurus/renderers/substringtype.js.map +1 -1
- package/dist/docusaurus/renderers/tableofcontentstype.d.ts +0 -22
- package/dist/docusaurus/renderers/tableofcontentstype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/tableofcontentstype.js +0 -39
- package/dist/docusaurus/renderers/tableofcontentstype.js.map +1 -1
- package/dist/docusaurus/types.d.ts +0 -110
- package/dist/docusaurus/types.d.ts.map +1 -1
- package/dist/docusaurus/types.js +0 -11
- package/dist/docusaurus/types.js.map +1 -1
- package/dist/docusaurus/utils.d.ts +0 -214
- package/dist/docusaurus/utils.d.ts.map +1 -1
- package/dist/docusaurus/utils.js +0 -296
- package/dist/docusaurus/utils.js.map +1 -1
- package/dist/docusaurus/view-model/classes-vm.d.ts +0 -137
- package/dist/docusaurus/view-model/classes-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/classes-vm.js +9 -225
- package/dist/docusaurus/view-model/classes-vm.js.map +1 -1
- package/dist/docusaurus/view-model/collection-base.d.ts +0 -120
- package/dist/docusaurus/view-model/collection-base.d.ts.map +1 -1
- package/dist/docusaurus/view-model/collection-base.js +11 -101
- package/dist/docusaurus/view-model/collection-base.js.map +1 -1
- package/dist/docusaurus/view-model/compound-base-vm.d.ts +2 -147
- package/dist/docusaurus/view-model/compound-base-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/compound-base-vm.js +47 -225
- package/dist/docusaurus/view-model/compound-base-vm.js.map +1 -1
- package/dist/docusaurus/view-model/concepts-vm.d.ts +27 -0
- package/dist/docusaurus/view-model/concepts-vm.d.ts.map +1 -0
- package/dist/docusaurus/view-model/concepts-vm.js +337 -0
- package/dist/docusaurus/view-model/concepts-vm.js.map +1 -0
- package/dist/docusaurus/view-model/description-anchors.d.ts +0 -58
- package/dist/docusaurus/view-model/description-anchors.d.ts.map +1 -1
- package/dist/docusaurus/view-model/description-anchors.js +0 -71
- package/dist/docusaurus/view-model/description-anchors.js.map +1 -1
- package/dist/docusaurus/view-model/files-and-folders-vm.d.ts +0 -247
- package/dist/docusaurus/view-model/files-and-folders-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/files-and-folders-vm.js +61 -353
- package/dist/docusaurus/view-model/files-and-folders-vm.js.map +1 -1
- package/dist/docusaurus/view-model/groups-vm.d.ts +0 -148
- package/dist/docusaurus/view-model/groups-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/groups-vm.js +2 -223
- package/dist/docusaurus/view-model/groups-vm.js.map +1 -1
- package/dist/docusaurus/view-model/members-vm.d.ts +0 -552
- package/dist/docusaurus/view-model/members-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/members-vm.js +17 -702
- package/dist/docusaurus/view-model/members-vm.js.map +1 -1
- package/dist/docusaurus/view-model/namespaces-vm.d.ts +5 -199
- package/dist/docusaurus/view-model/namespaces-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/namespaces-vm.js +85 -284
- package/dist/docusaurus/view-model/namespaces-vm.js.map +1 -1
- package/dist/docusaurus/view-model/options.d.ts +0 -43
- package/dist/docusaurus/view-model/options.d.ts.map +1 -1
- package/dist/docusaurus/view-model/options.js +0 -57
- package/dist/docusaurus/view-model/options.js.map +1 -1
- package/dist/docusaurus/view-model/pages-vm.d.ts +0 -115
- package/dist/docusaurus/view-model/pages-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/pages-vm.js +39 -162
- package/dist/docusaurus/view-model/pages-vm.js.map +1 -1
- package/dist/docusaurus/view-model/tree-entries-vm.d.ts +8 -142
- package/dist/docusaurus/view-model/tree-entries-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/tree-entries-vm.js +54 -174
- package/dist/docusaurus/view-model/tree-entries-vm.js.map +1 -1
- package/dist/docusaurus/view-model/view-model.d.ts +0 -125
- package/dist/docusaurus/view-model/view-model.d.ts.map +1 -1
- package/dist/docusaurus/view-model/view-model.js +20 -182
- package/dist/docusaurus/view-model/view-model.js.map +1 -1
- package/dist/docusaurus/workspace.d.ts +1 -126
- package/dist/docusaurus/workspace.d.ts.map +1 -1
- package/dist/docusaurus/workspace.js +8 -221
- package/dist/docusaurus/workspace.js.map +1 -1
- package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts +7 -492
- package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/compounddef-dm.js +28 -672
- package/dist/doxygen/data-model/compounds/compounddef-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts +0 -129
- package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/compoundreftype-dm.js +1 -145
- package/dist/doxygen/data-model/compounds/compoundreftype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/concepts-dm.d.ts +23 -0
- package/dist/doxygen/data-model/compounds/concepts-dm.d.ts.map +1 -0
- package/dist/doxygen/data-model/compounds/concepts-dm.js +94 -0
- package/dist/doxygen/data-model/compounds/concepts-dm.js.map +1 -0
- package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts +104 -2848
- package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/descriptiontype-dm.js +73 -3975
- package/dist/doxygen/data-model/compounds/descriptiontype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts +0 -165
- package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js +0 -229
- package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts +0 -70
- package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/doxygentype-dm.js +0 -105
- package/dist/doxygen/data-model/compounds/doxygentype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts +0 -84
- package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js +1 -122
- package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/inctype-dm.d.ts +0 -116
- package/dist/doxygen/data-model/compounds/inctype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/inctype-dm.js +3 -155
- package/dist/doxygen/data-model/compounds/inctype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts +3 -138
- package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js +5 -180
- package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts +0 -76
- package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js +0 -107
- package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts +0 -162
- package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/locationtype-dm.js +4 -203
- package/dist/doxygen/data-model/compounds/locationtype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts +2 -443
- package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/memberdeftype-dm.js +19 -475
- package/dist/doxygen/data-model/compounds/memberdeftype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts +0 -141
- package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/memberreftype-dm.js +0 -176
- package/dist/doxygen/data-model/compounds/memberreftype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/membertype-dm.d.ts +0 -101
- package/dist/doxygen/data-model/compounds/membertype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/membertype-dm.js +0 -115
- package/dist/doxygen/data-model/compounds/membertype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts +0 -164
- package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/paramtype-dm.js +0 -208
- package/dist/doxygen/data-model/compounds/paramtype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts +0 -139
- package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/referencetype-dm.js +2 -175
- package/dist/doxygen/data-model/compounds/referencetype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts +0 -120
- package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/reftexttype-dm.js +2 -141
- package/dist/doxygen/data-model/compounds/reftexttype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/reftype-dm.d.ts +0 -268
- package/dist/doxygen/data-model/compounds/reftype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/reftype-dm.js +4 -326
- package/dist/doxygen/data-model/compounds/reftype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts +0 -105
- package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/reimplementtype-dm.js +1 -139
- package/dist/doxygen/data-model/compounds/reimplementtype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/requirements-dm.d.ts +2 -0
- package/dist/doxygen/data-model/compounds/requirements-dm.d.ts.map +1 -0
- package/dist/doxygen/data-model/compounds/requirements-dm.js +2 -0
- package/dist/doxygen/data-model/compounds/requirements-dm.js.map +1 -0
- package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts +0 -168
- package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js +0 -209
- package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts +0 -267
- package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js +0 -354
- package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts +0 -66
- package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js +0 -97
- package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js.map +1 -1
- package/dist/doxygen/data-model/data-model.d.ts +0 -149
- package/dist/doxygen/data-model/data-model.d.ts.map +1 -1
- package/dist/doxygen/data-model/data-model.js +8 -200
- package/dist/doxygen/data-model/data-model.js.map +1 -1
- package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts +0 -115
- package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js +4 -129
- package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js.map +1 -1
- package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts +0 -87
- package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js +0 -118
- package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js.map +1 -1
- package/dist/doxygen/data-model/doxygen-xml-parser.d.ts +0 -253
- package/dist/doxygen/data-model/doxygen-xml-parser.d.ts.map +1 -1
- package/dist/doxygen/data-model/doxygen-xml-parser.js +0 -291
- package/dist/doxygen/data-model/doxygen-xml-parser.js.map +1 -1
- package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts +0 -98
- package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/index/indexcompoundtype-dm.js +2 -122
- package/dist/doxygen/data-model/index/indexcompoundtype-dm.js.map +1 -1
- package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts +0 -82
- package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/index/indexdoxygentype-dm.js +0 -114
- package/dist/doxygen/data-model/index/indexdoxygentype-dm.js.map +1 -1
- package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts +0 -85
- package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/index/indexmembertype-dm.js +1 -107
- package/dist/doxygen/data-model/index/indexmembertype-dm.js.map +1 -1
- package/dist/doxygen/data-model/types.d.ts +0 -104
- package/dist/doxygen/data-model/types.d.ts.map +1 -1
- package/dist/doxygen/data-model/types.js +0 -52
- package/dist/doxygen/data-model/types.js.map +1 -1
- package/dist/index.d.ts +5 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -42
- package/dist/index.js.map +1 -1
- package/package.json +49 -52
- package/src/cli/main.ts +122 -0
- package/src/docusaurus/cli-options.ts +560 -0
- package/src/docusaurus/generator.ts +788 -0
- package/src/docusaurus/renderers/conceptparts.ts +119 -0
- package/src/docusaurus/renderers/descriptiontype.ts +1299 -0
- package/src/docusaurus/renderers/docinternalstype.ts +354 -0
- package/src/docusaurus/renderers/doclisttype.ts +134 -0
- package/src/docusaurus/renderers/doctabletype.ts +220 -0
- package/src/docusaurus/renderers/doctitletype.ts +77 -0
- package/src/docusaurus/renderers/docvariablelisttype.ts +123 -0
- package/src/docusaurus/renderers/docxrefsecttype.ts +84 -0
- package/src/docusaurus/renderers/element-renderer-base.ts +112 -0
- package/src/docusaurus/renderers/inctype.ts +75 -0
- package/src/docusaurus/renderers/linkedtexttype.ts +64 -0
- package/src/docusaurus/renderers/listingtype.ts +235 -0
- package/src/docusaurus/renderers/paramtype.ts +116 -0
- package/src/docusaurus/renderers/referencetype.ts +83 -0
- package/src/docusaurus/renderers/reftexttype.ts +81 -0
- package/src/docusaurus/renderers/reftype.ts +77 -0
- package/src/docusaurus/renderers/renderers.ts +812 -0
- package/src/docusaurus/renderers/substringtype.ts +53 -0
- package/src/docusaurus/renderers/tableofcontentstype.ts +74 -0
- package/src/docusaurus/types.ts +187 -0
- package/src/docusaurus/utils.ts +409 -0
- package/src/docusaurus/view-model/README.md +12 -0
- package/src/docusaurus/view-model/classes-vm.ts +1088 -0
- package/src/docusaurus/view-model/collection-base.ts +352 -0
- package/src/docusaurus/view-model/compound-base-vm.ts +1340 -0
- package/src/docusaurus/view-model/concepts-vm.ts +749 -0
- package/src/docusaurus/view-model/description-anchors.ts +107 -0
- package/src/docusaurus/view-model/files-and-folders-vm.ts +1293 -0
- package/src/docusaurus/view-model/groups-vm.ts +548 -0
- package/src/docusaurus/view-model/members-vm.ts +1943 -0
- package/src/docusaurus/view-model/namespaces-vm.ts +1037 -0
- package/src/docusaurus/view-model/options.ts +95 -0
- package/src/docusaurus/view-model/pages-vm.ts +389 -0
- package/src/docusaurus/view-model/tree-entries-vm.ts +376 -0
- package/src/docusaurus/view-model/view-model.ts +513 -0
- package/src/docusaurus/workspace.ts +588 -0
- package/src/doxygen/data-model/README.md +13 -0
- package/src/doxygen/data-model/compounds/compounddef-dm.ts +1230 -0
- package/src/doxygen/data-model/compounds/compoundreftype-dm.ts +266 -0
- package/src/doxygen/data-model/compounds/concepts-dm.ts +362 -0
- package/src/doxygen/data-model/compounds/descriptiontype-dm.ts +10114 -0
- package/src/doxygen/data-model/compounds/docvarlistentrytype-dm.ts +354 -0
- package/src/doxygen/data-model/compounds/doxygentype-dm.ts +187 -0
- package/src/doxygen/data-model/compounds/enumvaluetype-dm.ts +218 -0
- package/src/doxygen/data-model/compounds/inctype-dm.ts +217 -0
- package/src/doxygen/data-model/compounds/linkedtexttype-dm.ts +288 -0
- package/src/doxygen/data-model/compounds/listofallmemberstype-dm.ts +160 -0
- package/src/doxygen/data-model/compounds/locationtype-dm.ts +284 -0
- package/src/doxygen/data-model/compounds/memberdeftype-dm.ts +881 -0
- package/src/doxygen/data-model/compounds/memberreftype-dm.ts +270 -0
- package/src/doxygen/data-model/compounds/membertype-dm.ts +239 -0
- package/src/doxygen/data-model/compounds/paramtype-dm.ts +302 -0
- package/src/doxygen/data-model/compounds/referencetype-dm.ts +248 -0
- package/src/doxygen/data-model/compounds/reftexttype-dm.ts +234 -0
- package/src/doxygen/data-model/compounds/reftype-dm.ts +430 -0
- package/src/doxygen/data-model/compounds/reimplementtype-dm.ts +201 -0
- package/src/doxygen/data-model/compounds/requirements-dm.ts +50 -0
- package/src/doxygen/data-model/compounds/sectiondeftype-dm.ts +330 -0
- package/src/doxygen/data-model/compounds/tableofcontentstype-dm.ts +564 -0
- package/src/doxygen/data-model/compounds/templateparamlisttype-dm.ts +150 -0
- package/src/doxygen/data-model/data-model.ts +378 -0
- package/src/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.ts +271 -0
- package/src/doxygen/data-model/doxyfile/doxyfiletype-dm.ts +200 -0
- package/src/doxygen/data-model/doxygen-xml-parser.ts +522 -0
- package/src/doxygen/data-model/index/indexcompoundtype-dm.ts +256 -0
- package/src/doxygen/data-model/index/indexdoxygentype-dm.ts +196 -0
- package/src/doxygen/data-model/index/indexmembertype-dm.ts +230 -0
- package/src/doxygen/data-model/types.ts +175 -0
- package/src/doxygen/data-model/xsds/README.md +6 -0
- package/src/doxygen/data-model/xsds/compound.xsd +1788 -0
- package/src/doxygen/data-model/xsds/doxyfile.xsd +365 -0
- package/src/doxygen/data-model/xsds/index.xsd +74 -0
- package/src/doxygen/data-model/xsds/xml.xsd +23 -0
- package/src/index.ts +267 -0
- package/src/tsconfig.json +12 -0
- package/dist/doxygen2docusaurus.d.ts +0 -4774
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/tsdoc-metadata.json +0 -11
|
@@ -1,76 +1,15 @@
|
|
|
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
1
|
import assert from 'node:assert';
|
|
13
2
|
import * as util from 'node:util';
|
|
14
3
|
import { ParamDataModel } from './paramtype-dm.js';
|
|
15
4
|
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
|
-
* Abstract base class for template parameter list type data models.
|
|
24
|
-
*
|
|
25
|
-
* @remarks
|
|
26
|
-
* Represents template parameter list elements within Doxygen XML structures,
|
|
27
|
-
* corresponding to the templateparamlistType complex type in the XML schema.
|
|
28
|
-
* This class handles the parsing of parameter collections for templated
|
|
29
|
-
* constructs such as template classes and functions. All concrete template
|
|
30
|
-
* parameter list data model classes should extend this abstract base to
|
|
31
|
-
* ensure consistent parsing and data representation.
|
|
32
|
-
*
|
|
33
|
-
* @public
|
|
34
|
-
*/
|
|
35
|
-
// eslint-disable-next-line max-len
|
|
36
5
|
export class AbstractTemplateParamListType extends AbstractDataModelBase {
|
|
37
|
-
/**
|
|
38
|
-
* Collection of parameter data models within this template parameter list.
|
|
39
|
-
*
|
|
40
|
-
* @remarks
|
|
41
|
-
* Optional array containing parameter elements found within the template
|
|
42
|
-
* parameter list structure. Each parameter represents a template parameter
|
|
43
|
-
* definition including its type, name, and other attributes. The array
|
|
44
|
-
* supports zero to many parameters as per the XML schema, accommodating
|
|
45
|
-
* both non-templated constructs and complex template declarations.
|
|
46
|
-
*/
|
|
47
6
|
params;
|
|
48
|
-
/**
|
|
49
|
-
* Constructs a new AbstractTemplateParamListType instance from XML data.
|
|
50
|
-
*
|
|
51
|
-
* @param xml - The Doxygen XML parser instance for processing XML elements
|
|
52
|
-
* @param element - The XML element containing the template parameter list
|
|
53
|
-
* data
|
|
54
|
-
* @param elementName - The name of the XML element being processed
|
|
55
|
-
*
|
|
56
|
-
* @remarks
|
|
57
|
-
* Parses the provided XML element to extract template parameter list
|
|
58
|
-
* information including parameter collections. The constructor processes
|
|
59
|
-
* parameter elements into ParamDataModel instances when present. This
|
|
60
|
-
* element type has no attributes as per the XML schema definition,
|
|
61
|
-
* containing only parameter child elements.
|
|
62
|
-
*/
|
|
63
7
|
constructor(xml, element, elementName) {
|
|
64
8
|
super(elementName);
|
|
65
|
-
// console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
|
|
66
|
-
// ------------------------------------------------------------------------
|
|
67
|
-
// Process elements.
|
|
68
9
|
const innerElements = xml.getInnerElements(element, elementName);
|
|
69
10
|
assert(innerElements.length > 0);
|
|
70
|
-
// console.log(util.inspect(item))
|
|
71
11
|
for (const innerElement of innerElements) {
|
|
72
12
|
if (xml.hasInnerText(innerElement)) {
|
|
73
|
-
// Ignore texts
|
|
74
13
|
}
|
|
75
14
|
else if (xml.hasInnerElement(innerElement, 'param')) {
|
|
76
15
|
this.params ??= [];
|
|
@@ -81,48 +20,12 @@ export class AbstractTemplateParamListType extends AbstractDataModelBase {
|
|
|
81
20
|
console.error(`${elementName} element:`, Object.keys(innerElement), 'not implemented yet in', this.constructor.name);
|
|
82
21
|
}
|
|
83
22
|
}
|
|
84
|
-
// ------------------------------------------------------------------------
|
|
85
|
-
// Process attributes.
|
|
86
23
|
assert(!xml.hasAttributes(element));
|
|
87
|
-
// ------------------------------------------------------------------------
|
|
88
|
-
// console.log(util.inspect(this, { compact: false, depth: 999 }))
|
|
89
24
|
}
|
|
90
25
|
}
|
|
91
|
-
// ----------------------------------------------------------------------------
|
|
92
|
-
// <xsd:element name="templateparamlist" type="templateparamlistType" minOccurs="0" />
|
|
93
|
-
/**
|
|
94
|
-
* Concrete data model class for template parameter list elements.
|
|
95
|
-
*
|
|
96
|
-
* @remarks
|
|
97
|
-
* Represents individual template parameter list elements found within
|
|
98
|
-
* Doxygen compound XML structures. This class extends the abstract base
|
|
99
|
-
* to provide specific handling for 'templateparamlist' elements, which
|
|
100
|
-
* define the template parameters for templated constructs such as template
|
|
101
|
-
* classes, template functions, and template variables. Each template
|
|
102
|
-
* parameter list contains parameter definitions that specify the generic
|
|
103
|
-
* types and values used in template instantiation.
|
|
104
|
-
*
|
|
105
|
-
* @public
|
|
106
|
-
*/
|
|
107
26
|
export class TemplateParamListDataModel extends AbstractTemplateParamListType {
|
|
108
|
-
/**
|
|
109
|
-
* Constructs a new TemplateParamListDataModel instance from XML data.
|
|
110
|
-
*
|
|
111
|
-
* @param xml - The Doxygen XML parser instance for processing XML elements
|
|
112
|
-
* @param element - The XML element containing the template parameter list
|
|
113
|
-
* data
|
|
114
|
-
*
|
|
115
|
-
* @remarks
|
|
116
|
-
* Initialises the template parameter list data model by parsing the
|
|
117
|
-
* provided XML element as a 'templateparamlist' element type. The
|
|
118
|
-
* constructor delegates to the parent class for common parameter list
|
|
119
|
-
* processing whilst specifying the element name for proper XML structure
|
|
120
|
-
* handling.
|
|
121
|
-
*/
|
|
122
27
|
constructor(xml, element) {
|
|
123
|
-
// console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
|
|
124
28
|
super(xml, element, 'templateparamlist');
|
|
125
29
|
}
|
|
126
30
|
}
|
|
127
|
-
// ----------------------------------------------------------------------------
|
|
128
31
|
//# sourceMappingURL=templateparamlisttype-dm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templateparamlisttype-dm.js","sourceRoot":"","sources":["../../../../src/doxygen/data-model/compounds/templateparamlisttype-dm.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"templateparamlisttype-dm.js","sourceRoot":"","sources":["../../../../src/doxygen/data-model/compounds/templateparamlisttype-dm.ts"],"names":[],"mappings":"AAaA,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;AAwBnD,MAAM,OAAgB,6BAA8B,SAAQ,qBAAqB;IAW/E,MAAM,CAA+B;IAiBrC,YAAY,GAAqB,EAAE,OAAe,EAAE,WAAmB;QACrE,KAAK,CAAC,WAAW,CAAC,CAAA;QAOlB,MAAM,aAAa,GAAG,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;QAChE,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAGhC,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,IAAI,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;YAErC,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;QAKD,MAAM,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;IAKrC,CAAC;CACF;AAoBD,MAAM,OAAO,0BAA2B,SAAQ,6BAA6B;IAe3E,YAAY,GAAqB,EAAE,OAAe;QAEhD,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAA;IAC1C,CAAC;CACF"}
|
|
@@ -5,169 +5,20 @@ import { DoxygenIndexDataModel } from './index/indexdoxygentype-dm.js';
|
|
|
5
5
|
import { XmlElement } from './types.js';
|
|
6
6
|
import { IndexCompoundDataModel } from './index/indexcompoundtype-dm.js';
|
|
7
7
|
import { DoxygenXmlParser } from './doxygen-xml-parser.js';
|
|
8
|
-
/**
|
|
9
|
-
* Top-level data model class for orchestrating Doxygen XML parsing and data
|
|
10
|
-
* organisation.
|
|
11
|
-
*
|
|
12
|
-
* @remarks
|
|
13
|
-
* This class serves as the primary entry point for parsing Doxygen-generated
|
|
14
|
-
* XML files and constructing a comprehensive data model. It coordinates the
|
|
15
|
-
* parsing of index files, compound definitions, and configuration files,
|
|
16
|
-
* maintaining references to all parsed content for subsequent processing.
|
|
17
|
-
* The class provides methods for sequential parsing operations and ensures
|
|
18
|
-
* data integrity throughout the parsing workflow.
|
|
19
|
-
*
|
|
20
|
-
* @public
|
|
21
|
-
*/
|
|
22
8
|
export declare class DataModel {
|
|
23
|
-
/**
|
|
24
|
-
* The global configuration options for the parsing operation.
|
|
25
|
-
*
|
|
26
|
-
* @remarks
|
|
27
|
-
* Contains command-line interface options that control the behaviour of
|
|
28
|
-
* the parser and influence how XML files are processed and data models
|
|
29
|
-
* are constructed.
|
|
30
|
-
*/
|
|
31
9
|
options: CliOptions;
|
|
32
|
-
/**
|
|
33
|
-
* The XML parser instance used for processing Doxygen XML files.
|
|
34
|
-
*
|
|
35
|
-
* @remarks
|
|
36
|
-
* Provides low-level XML parsing functionality and utility methods for
|
|
37
|
-
* extracting elements, attributes, and text content from the parsed XML
|
|
38
|
-
* structure.
|
|
39
|
-
*/
|
|
40
10
|
xml: DoxygenXmlParser;
|
|
41
|
-
/**
|
|
42
|
-
* Counter tracking the number of XML files successfully parsed.
|
|
43
|
-
*
|
|
44
|
-
* @remarks
|
|
45
|
-
* Incremented for each XML file processed during the parsing operation,
|
|
46
|
-
* providing metrics for progress monitoring and diagnostic reporting.
|
|
47
|
-
*
|
|
48
|
-
* @defaultValue 0
|
|
49
|
-
*/
|
|
50
11
|
parsedFilesCounter: number;
|
|
51
|
-
/**
|
|
52
|
-
* The parsed Doxygen index data model from the main index XML file.
|
|
53
|
-
*
|
|
54
|
-
* @remarks
|
|
55
|
-
* Contains the top-level index structure that references all compound
|
|
56
|
-
* definitions and provides the navigation structure for the documentation.
|
|
57
|
-
* Populated during the initial parsing phase from `index.xml`.
|
|
58
|
-
*/
|
|
59
12
|
doxygenindex?: DoxygenIndexDataModel;
|
|
60
|
-
/**
|
|
61
|
-
* Collection of compound definition data models parsed from individual XML
|
|
62
|
-
* files.
|
|
63
|
-
*
|
|
64
|
-
* @remarks
|
|
65
|
-
* Each compound definition represents a documented entity such as a class,
|
|
66
|
-
* namespace, or file, along with its members and associated documentation.
|
|
67
|
-
* Populated by parsing XML files referenced in the index.
|
|
68
|
-
*/
|
|
69
13
|
compoundDefs: CompoundDefDataModel[];
|
|
70
|
-
/**
|
|
71
|
-
* The parsed Doxyfile configuration data model.
|
|
72
|
-
*
|
|
73
|
-
* @remarks
|
|
74
|
-
* Contains the Doxygen configuration options and settings that influenced
|
|
75
|
-
* the generation of the XML documentation. Parsed from `Doxyfile.xml` if
|
|
76
|
-
* present in the input folder.
|
|
77
|
-
*/
|
|
78
14
|
doxyfile?: DoxygenFileDataModel;
|
|
79
|
-
/**
|
|
80
|
-
* The project version string extracted from the documentation metadata.
|
|
81
|
-
*
|
|
82
|
-
* @remarks
|
|
83
|
-
* Optional version identifier for the documented project, typically derived
|
|
84
|
-
* from the Doxygen configuration or project metadata during parsing.
|
|
85
|
-
*/
|
|
86
15
|
projectVersion?: string;
|
|
87
|
-
/**
|
|
88
|
-
* Constructs a new DataModel instance with the specified configuration
|
|
89
|
-
* options.
|
|
90
|
-
*
|
|
91
|
-
* @param options - The command-line interface options for controlling parsing
|
|
92
|
-
* behaviour
|
|
93
|
-
*
|
|
94
|
-
* @remarks
|
|
95
|
-
* Initialises the data model with the provided configuration options and
|
|
96
|
-
* creates a new DoxygenXmlParser instance for XML processing. The compound
|
|
97
|
-
* definitions array is initialised as empty and will be populated during
|
|
98
|
-
* the parsing phase.
|
|
99
|
-
*/
|
|
100
16
|
constructor(options: CliOptions);
|
|
101
|
-
/**
|
|
102
|
-
* Orchestrates the complete parsing of Doxygen XML files and data model
|
|
103
|
-
* construction.
|
|
104
|
-
*
|
|
105
|
-
* @remarks
|
|
106
|
-
* This method performs the complete parsing workflow in sequential phases:
|
|
107
|
-
* parsing the main index file, processing all referenced compound XML files,
|
|
108
|
-
* and parsing the Doxyfile configuration. It maintains the original XML
|
|
109
|
-
* element order and content fidelity throughout the process. Progress
|
|
110
|
-
* information is logged to the console, with detailed output in verbose mode.
|
|
111
|
-
*/
|
|
112
17
|
parse(): Promise<void>;
|
|
113
|
-
/**
|
|
114
|
-
* Parses the main Doxygen index XML file and initialises the index data
|
|
115
|
-
* model.
|
|
116
|
-
*
|
|
117
|
-
* @remarks
|
|
118
|
-
* This method reads and parses the `index.xml` file, ignoring the XML
|
|
119
|
-
* prologue and top-level text nodes. It extracts the `doxygenindex`
|
|
120
|
-
* element and constructs the corresponding data model. Any unrecognised
|
|
121
|
-
* elements are logged for diagnostic purposes.
|
|
122
|
-
*/
|
|
123
18
|
parseDoxygenIndex(): Promise<void>;
|
|
124
|
-
/**
|
|
125
|
-
* Processes compound definitions from the parsed Doxygen XML elements.
|
|
126
|
-
*
|
|
127
|
-
* @param indexCompound - The compound index data model
|
|
128
|
-
* @param parsedDoxygenElements - The array of parsed XML elements for the
|
|
129
|
-
* compound
|
|
130
|
-
*
|
|
131
|
-
* @remarks
|
|
132
|
-
* This method iterates through the parsed XML elements, ignoring the XML
|
|
133
|
-
* prologue and top-level text nodes. For recognised `doxygen` elements, it
|
|
134
|
-
* constructs the compound definitions and appends them to the internal data
|
|
135
|
-
* model. Unrecognised elements are logged for further analysis.
|
|
136
|
-
*/
|
|
137
19
|
processCompoundDefs(indexCompound: IndexCompoundDataModel, parsedDoxygenElements: XmlElement[]): void;
|
|
138
|
-
/**
|
|
139
|
-
* Processes member definitions and updates member kinds where necessary.
|
|
140
|
-
*
|
|
141
|
-
* @remarks
|
|
142
|
-
* This method traverses all compound definitions and their associated
|
|
143
|
-
* sections. It collects member definitions by their identifiers and, for
|
|
144
|
-
* each member with an empty kind, assigns the kind from the corresponding
|
|
145
|
-
* member definition. This ensures that all members are correctly classified
|
|
146
|
-
* within the internal data model.
|
|
147
|
-
*/
|
|
148
20
|
processMemberdefs(): void;
|
|
149
|
-
/**
|
|
150
|
-
* Parses the Doxyfile XML and initialises the configuration data model.
|
|
151
|
-
*
|
|
152
|
-
* @remarks
|
|
153
|
-
* This method reads and parses the `Doxyfile.xml` file, ignoring the XML
|
|
154
|
-
* prologue and top-level text nodes. It extracts the `doxyfile` element and
|
|
155
|
-
* constructs the corresponding configuration data model. Any unrecognised
|
|
156
|
-
* elements are logged for diagnostic purposes.
|
|
157
|
-
*/
|
|
158
21
|
parseDoxyfile(): Promise<void>;
|
|
159
|
-
/**
|
|
160
|
-
* Reads and parses the specified XML file, returning the parsed content.
|
|
161
|
-
*
|
|
162
|
-
* @param fileName - The name of the XML file to be parsed
|
|
163
|
-
* @returns A promise that resolves to the parsed XML content
|
|
164
|
-
*
|
|
165
|
-
* @remarks
|
|
166
|
-
* This method constructs the full file path using the configured input
|
|
167
|
-
* folder, reads the XML file as a UTF-8 string, and parses it using the
|
|
168
|
-
* configured XML parser. The method increments the internal counter for
|
|
169
|
-
* parsed files and, if verbose mode is enabled, logs the file being parsed.
|
|
170
|
-
*/
|
|
171
22
|
parseFile({ fileName }: {
|
|
172
23
|
fileName: string;
|
|
173
24
|
}): Promise<any>;
|
|
@@ -1 +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;
|
|
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;AAkB1D,qBAAa,SAAS;IASpB,OAAO,EAAE,UAAU,CAAA;IAUnB,GAAG,EAAE,gBAAgB,CAAA;IAWrB,kBAAkB,SAAI;IAUtB,YAAY,CAAC,EAAE,qBAAqB,CAAA;IAWpC,YAAY,EAAE,oBAAoB,EAAE,CAAA;IAUpC,QAAQ,CAAC,EAAE,oBAAoB,CAAA;IAS/B,cAAc,CAAC,EAAE,MAAM,CAAA;gBAeX,OAAO,EAAE,UAAU;IAmBzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA+DtB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAyCxC,mBAAmB,CACjB,aAAa,EAAE,sBAAsB,EACrC,qBAAqB,EAAE,UAAU,EAAE;IAkCrC,iBAAiB;IAiCX,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IA0C9B,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;CAYlE"}
|
|
@@ -1,14 +1,3 @@
|
|
|
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
1
|
import assert from 'node:assert';
|
|
13
2
|
import * as fs from 'node:fs/promises';
|
|
14
3
|
import * as path from 'node:path';
|
|
@@ -17,146 +6,35 @@ import { DoxygenFileDataModel } from './doxyfile/doxyfiletype-dm.js';
|
|
|
17
6
|
import { DoxygenIndexDataModel } from './index/indexdoxygentype-dm.js';
|
|
18
7
|
import { DoxygenDataModel } from './compounds/doxygentype-dm.js';
|
|
19
8
|
import { DoxygenXmlParser } from './doxygen-xml-parser.js';
|
|
20
|
-
// ----------------------------------------------------------------------------
|
|
21
|
-
/**
|
|
22
|
-
* Top-level data model class for orchestrating Doxygen XML parsing and data
|
|
23
|
-
* organisation.
|
|
24
|
-
*
|
|
25
|
-
* @remarks
|
|
26
|
-
* This class serves as the primary entry point for parsing Doxygen-generated
|
|
27
|
-
* XML files and constructing a comprehensive data model. It coordinates the
|
|
28
|
-
* parsing of index files, compound definitions, and configuration files,
|
|
29
|
-
* maintaining references to all parsed content for subsequent processing.
|
|
30
|
-
* The class provides methods for sequential parsing operations and ensures
|
|
31
|
-
* data integrity throughout the parsing workflow.
|
|
32
|
-
*
|
|
33
|
-
* @public
|
|
34
|
-
*/
|
|
35
9
|
export class DataModel {
|
|
36
|
-
/**
|
|
37
|
-
* The global configuration options for the parsing operation.
|
|
38
|
-
*
|
|
39
|
-
* @remarks
|
|
40
|
-
* Contains command-line interface options that control the behaviour of
|
|
41
|
-
* the parser and influence how XML files are processed and data models
|
|
42
|
-
* are constructed.
|
|
43
|
-
*/
|
|
44
10
|
options;
|
|
45
|
-
/**
|
|
46
|
-
* The XML parser instance used for processing Doxygen XML files.
|
|
47
|
-
*
|
|
48
|
-
* @remarks
|
|
49
|
-
* Provides low-level XML parsing functionality and utility methods for
|
|
50
|
-
* extracting elements, attributes, and text content from the parsed XML
|
|
51
|
-
* structure.
|
|
52
|
-
*/
|
|
53
11
|
xml;
|
|
54
|
-
/**
|
|
55
|
-
* Counter tracking the number of XML files successfully parsed.
|
|
56
|
-
*
|
|
57
|
-
* @remarks
|
|
58
|
-
* Incremented for each XML file processed during the parsing operation,
|
|
59
|
-
* providing metrics for progress monitoring and diagnostic reporting.
|
|
60
|
-
*
|
|
61
|
-
* @defaultValue 0
|
|
62
|
-
*/
|
|
63
12
|
parsedFilesCounter = 0;
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
* @remarks
|
|
68
|
-
* Contains the top-level index structure that references all compound
|
|
69
|
-
* definitions and provides the navigation structure for the documentation.
|
|
70
|
-
* Populated during the initial parsing phase from `index.xml`.
|
|
71
|
-
*/
|
|
72
|
-
doxygenindex; // from index.xml
|
|
73
|
-
/**
|
|
74
|
-
* Collection of compound definition data models parsed from individual XML
|
|
75
|
-
* files.
|
|
76
|
-
*
|
|
77
|
-
* @remarks
|
|
78
|
-
* Each compound definition represents a documented entity such as a class,
|
|
79
|
-
* namespace, or file, along with its members and associated documentation.
|
|
80
|
-
* Populated by parsing XML files referenced in the index.
|
|
81
|
-
*/
|
|
82
|
-
compoundDefs; // from `${'@_refid'}.xml`
|
|
83
|
-
/**
|
|
84
|
-
* The parsed Doxyfile configuration data model.
|
|
85
|
-
*
|
|
86
|
-
* @remarks
|
|
87
|
-
* Contains the Doxygen configuration options and settings that influenced
|
|
88
|
-
* the generation of the XML documentation. Parsed from `Doxyfile.xml` if
|
|
89
|
-
* present in the input folder.
|
|
90
|
-
*/
|
|
91
|
-
doxyfile; // from Doxyfile.xml
|
|
92
|
-
/**
|
|
93
|
-
* The project version string extracted from the documentation metadata.
|
|
94
|
-
*
|
|
95
|
-
* @remarks
|
|
96
|
-
* Optional version identifier for the documented project, typically derived
|
|
97
|
-
* from the Doxygen configuration or project metadata during parsing.
|
|
98
|
-
*/
|
|
13
|
+
doxygenindex;
|
|
14
|
+
compoundDefs;
|
|
15
|
+
doxyfile;
|
|
99
16
|
projectVersion;
|
|
100
|
-
/**
|
|
101
|
-
* Constructs a new DataModel instance with the specified configuration
|
|
102
|
-
* options.
|
|
103
|
-
*
|
|
104
|
-
* @param options - The command-line interface options for controlling parsing
|
|
105
|
-
* behaviour
|
|
106
|
-
*
|
|
107
|
-
* @remarks
|
|
108
|
-
* Initialises the data model with the provided configuration options and
|
|
109
|
-
* creates a new DoxygenXmlParser instance for XML processing. The compound
|
|
110
|
-
* definitions array is initialised as empty and will be populated during
|
|
111
|
-
* the parsing phase.
|
|
112
|
-
*/
|
|
113
17
|
constructor(options) {
|
|
114
18
|
this.options = options;
|
|
115
19
|
this.xml = new DoxygenXmlParser(options);
|
|
116
20
|
this.compoundDefs = [];
|
|
117
21
|
}
|
|
118
|
-
/**
|
|
119
|
-
* Orchestrates the complete parsing of Doxygen XML files and data model
|
|
120
|
-
* construction.
|
|
121
|
-
*
|
|
122
|
-
* @remarks
|
|
123
|
-
* This method performs the complete parsing workflow in sequential phases:
|
|
124
|
-
* parsing the main index file, processing all referenced compound XML files,
|
|
125
|
-
* and parsing the Doxyfile configuration. It maintains the original XML
|
|
126
|
-
* element order and content fidelity throughout the process. Progress
|
|
127
|
-
* information is logged to the console, with detailed output in verbose mode.
|
|
128
|
-
*/
|
|
129
22
|
async parse() {
|
|
130
|
-
// The parser is configured to preserve the original, non-trimmed content
|
|
131
|
-
// and the original elements order. The downsize
|
|
132
|
-
// Some details are from the schematic documentation:
|
|
133
|
-
// https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/README.md#documents
|
|
134
|
-
// The defaults are in the project source:
|
|
135
|
-
// https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/src/xmlparser/OptionsBuilder.js
|
|
136
|
-
// ------------------------------------------------------------------------
|
|
137
|
-
// Parse the top index.xml file.
|
|
138
|
-
if (!this.options.verbose) {
|
|
139
|
-
console.log('Parsing Doxygen generated .xml files...');
|
|
140
|
-
}
|
|
141
23
|
await this.parseDoxygenIndex();
|
|
142
24
|
assert(this.doxygenindex !== undefined);
|
|
143
|
-
|
|
144
|
-
|
|
25
|
+
if (!this.options.verbose) {
|
|
26
|
+
const version = this.doxygenindex.version;
|
|
27
|
+
console.log(`Parsing .xml files generated by Doxygen ${version}...`);
|
|
28
|
+
}
|
|
145
29
|
if (Array.isArray(this.doxygenindex.compounds)) {
|
|
146
30
|
for (const indexCompound of this.doxygenindex.compounds) {
|
|
147
|
-
// Parallelise not possible, the order is relevant.
|
|
148
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
149
31
|
const parsedDoxygenElements = await this.parseFile({
|
|
150
32
|
fileName: `${indexCompound.refid}.xml`,
|
|
151
33
|
});
|
|
152
|
-
// console.log(util.inspect(parsedDoxygen))
|
|
153
|
-
// console.log(JSON.stringify(parsedDoxygen, null, ' '))
|
|
154
34
|
this.processCompoundDefs(indexCompound, parsedDoxygenElements);
|
|
155
35
|
}
|
|
156
36
|
this.processMemberdefs();
|
|
157
37
|
}
|
|
158
|
-
// ------------------------------------------------------------------------
|
|
159
|
-
// Parse the Doxyfile.xml with the options.
|
|
160
38
|
await this.parseDoxyfile();
|
|
161
39
|
assert(this.doxyfile);
|
|
162
40
|
console.log(this.parsedFilesCounter, 'xml files parsed');
|
|
@@ -166,30 +44,14 @@ export class DataModel {
|
|
|
166
44
|
}
|
|
167
45
|
}
|
|
168
46
|
}
|
|
169
|
-
/**
|
|
170
|
-
* Parses the main Doxygen index XML file and initialises the index data
|
|
171
|
-
* model.
|
|
172
|
-
*
|
|
173
|
-
* @remarks
|
|
174
|
-
* This method reads and parses the `index.xml` file, ignoring the XML
|
|
175
|
-
* prologue and top-level text nodes. It extracts the `doxygenindex`
|
|
176
|
-
* element and constructs the corresponding data model. Any unrecognised
|
|
177
|
-
* elements are logged for diagnostic purposes.
|
|
178
|
-
*/
|
|
179
47
|
async parseDoxygenIndex() {
|
|
180
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
181
48
|
const parsedIndexElements = await this.parseFile({
|
|
182
49
|
fileName: 'index.xml',
|
|
183
50
|
});
|
|
184
|
-
// console.log(util.inspect(parsedIndex))
|
|
185
|
-
// console.log(util.inspect(parsedIndex[0]['?xml']))
|
|
186
|
-
// console.log(JSON.stringify(parsedIndex, null, ' '))
|
|
187
51
|
for (const element of parsedIndexElements) {
|
|
188
52
|
if (this.xml.hasInnerElement(element, '?xml')) {
|
|
189
|
-
// Ignore the top xml prologue.
|
|
190
53
|
}
|
|
191
54
|
else if (this.xml.hasInnerText(element)) {
|
|
192
|
-
// Ignore top texts.
|
|
193
55
|
}
|
|
194
56
|
else if (this.xml.hasInnerElement(element, 'doxygenindex')) {
|
|
195
57
|
this.doxygenindex = new DoxygenIndexDataModel(this.xml, element);
|
|
@@ -200,26 +62,11 @@ export class DataModel {
|
|
|
200
62
|
}
|
|
201
63
|
}
|
|
202
64
|
}
|
|
203
|
-
/**
|
|
204
|
-
* Processes compound definitions from the parsed Doxygen XML elements.
|
|
205
|
-
*
|
|
206
|
-
* @param indexCompound - The compound index data model
|
|
207
|
-
* @param parsedDoxygenElements - The array of parsed XML elements for the
|
|
208
|
-
* compound
|
|
209
|
-
*
|
|
210
|
-
* @remarks
|
|
211
|
-
* This method iterates through the parsed XML elements, ignoring the XML
|
|
212
|
-
* prologue and top-level text nodes. For recognised `doxygen` elements, it
|
|
213
|
-
* constructs the compound definitions and appends them to the internal data
|
|
214
|
-
* model. Unrecognised elements are logged for further analysis.
|
|
215
|
-
*/
|
|
216
65
|
processCompoundDefs(indexCompound, parsedDoxygenElements) {
|
|
217
66
|
for (const element of parsedDoxygenElements) {
|
|
218
67
|
if (this.xml.hasInnerElement(element, '?xml')) {
|
|
219
|
-
// Ignore the top xml prologue.
|
|
220
68
|
}
|
|
221
69
|
else if (this.xml.hasInnerText(element)) {
|
|
222
|
-
// Ignore top texts.
|
|
223
70
|
}
|
|
224
71
|
else if (this.xml.hasInnerElement(element, 'doxygen')) {
|
|
225
72
|
const doxygen = new DoxygenDataModel(this.xml, element);
|
|
@@ -233,16 +80,6 @@ export class DataModel {
|
|
|
233
80
|
}
|
|
234
81
|
}
|
|
235
82
|
}
|
|
236
|
-
/**
|
|
237
|
-
* Processes member definitions and updates member kinds where necessary.
|
|
238
|
-
*
|
|
239
|
-
* @remarks
|
|
240
|
-
* This method traverses all compound definitions and their associated
|
|
241
|
-
* sections. It collects member definitions by their identifiers and, for
|
|
242
|
-
* each member with an empty kind, assigns the kind from the corresponding
|
|
243
|
-
* member definition. This ensures that all members are correctly classified
|
|
244
|
-
* within the internal data model.
|
|
245
|
-
*/
|
|
246
83
|
processMemberdefs() {
|
|
247
84
|
const memberDefsById = new Map();
|
|
248
85
|
for (const compoundDef of this.compoundDefs) {
|
|
@@ -266,27 +103,14 @@ export class DataModel {
|
|
|
266
103
|
}
|
|
267
104
|
}
|
|
268
105
|
}
|
|
269
|
-
/**
|
|
270
|
-
* Parses the Doxyfile XML and initialises the configuration data model.
|
|
271
|
-
*
|
|
272
|
-
* @remarks
|
|
273
|
-
* This method reads and parses the `Doxyfile.xml` file, ignoring the XML
|
|
274
|
-
* prologue and top-level text nodes. It extracts the `doxyfile` element and
|
|
275
|
-
* constructs the corresponding configuration data model. Any unrecognised
|
|
276
|
-
* elements are logged for diagnostic purposes.
|
|
277
|
-
*/
|
|
278
106
|
async parseDoxyfile() {
|
|
279
107
|
const parsedDoxyfileElements = (await this.parseFile({
|
|
280
108
|
fileName: 'Doxyfile.xml',
|
|
281
109
|
}));
|
|
282
|
-
// console.log(util.inspect(parsedDoxyfile))
|
|
283
|
-
// console.log(JSON.stringify(parsedDoxyfile, null, ' '))
|
|
284
110
|
for (const element of parsedDoxyfileElements) {
|
|
285
111
|
if (this.xml.hasInnerElement(element, '?xml')) {
|
|
286
|
-
// Ignore the top xml prologue.
|
|
287
112
|
}
|
|
288
113
|
else if (this.xml.hasInnerElement(element, '#text')) {
|
|
289
|
-
// Ignore top texts.
|
|
290
114
|
}
|
|
291
115
|
else if (this.xml.hasInnerElement(element, 'doxyfile')) {
|
|
292
116
|
this.doxyfile = new DoxygenFileDataModel(this.xml, element);
|
|
@@ -297,31 +121,15 @@ export class DataModel {
|
|
|
297
121
|
}
|
|
298
122
|
}
|
|
299
123
|
}
|
|
300
|
-
// --------------------------------------------------------------------------
|
|
301
|
-
// Support methods.
|
|
302
|
-
/**
|
|
303
|
-
* Reads and parses the specified XML file, returning the parsed content.
|
|
304
|
-
*
|
|
305
|
-
* @param fileName - The name of the XML file to be parsed
|
|
306
|
-
* @returns A promise that resolves to the parsed XML content
|
|
307
|
-
*
|
|
308
|
-
* @remarks
|
|
309
|
-
* This method constructs the full file path using the configured input
|
|
310
|
-
* folder, reads the XML file as a UTF-8 string, and parses it using the
|
|
311
|
-
* configured XML parser. The method increments the internal counter for
|
|
312
|
-
* parsed files and, if verbose mode is enabled, logs the file being parsed.
|
|
313
|
-
*/
|
|
314
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
315
124
|
async parseFile({ fileName }) {
|
|
316
125
|
const folderPath = this.options.doxygenXmlInputFolderPath;
|
|
317
126
|
const filePath = path.join(folderPath, fileName);
|
|
318
127
|
const xmlString = await fs.readFile(filePath, { encoding: 'utf8' });
|
|
319
128
|
if (this.options.verbose) {
|
|
320
|
-
console.log(`Parsing ${fileName}...`);
|
|
129
|
+
console.log(`Parsing '${fileName}'...`);
|
|
321
130
|
}
|
|
322
131
|
this.parsedFilesCounter += 1;
|
|
323
132
|
return this.xml.xmlParser.parse(xmlString);
|
|
324
133
|
}
|
|
325
134
|
}
|
|
326
|
-
// ----------------------------------------------------------------------------
|
|
327
135
|
//# sourceMappingURL=data-model.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-model.js","sourceRoot":"","sources":["../../../src/doxygen/data-model/data-model.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"data-model.js","sourceRoot":"","sources":["../../../src/doxygen/data-model/data-model.ts"],"names":[],"mappings":"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"}
|