@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
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is part of the xPack project (http://xpack.github.io).
|
|
3
|
+
* Copyright (c) 2025-2026 Liviu Ionescu. All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
+
* 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 be
|
|
9
|
+
* obtained from https://opensource.org/licenses/mit.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
// ----------------------------------------------------------------------------
|
|
13
|
+
|
|
14
|
+
import assert from 'node:assert'
|
|
15
|
+
import util from 'node:util'
|
|
16
|
+
|
|
17
|
+
import { DoxygenXmlParser } from '../doxygen-xml-parser.js'
|
|
18
|
+
import { AbstractDataModelBase } from '../types.js'
|
|
19
|
+
|
|
20
|
+
// ----------------------------------------------------------------------------
|
|
21
|
+
|
|
22
|
+
// <xsd:complexType name="reimplementType">
|
|
23
|
+
// <xsd:simpleContent>
|
|
24
|
+
// <xsd:extension base="xsd:string">
|
|
25
|
+
// <xsd:attribute name="refid" type="xsd:string" />
|
|
26
|
+
// </xsd:extension>
|
|
27
|
+
// </xsd:simpleContent>
|
|
28
|
+
// </xsd:complexType>
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Abstract base class for reimplement type data models.
|
|
32
|
+
*
|
|
33
|
+
* @remarks
|
|
34
|
+
* Represents the foundational structure for reimplement relationship elements
|
|
35
|
+
* within Doxygen XML documentation, corresponding to the reimplementType
|
|
36
|
+
* complex type in the XML schema. This class manages relationships between
|
|
37
|
+
* methods, functions, or other documented entities that implement or override
|
|
38
|
+
* behaviour from base classes or interfaces. The reimplement relationship
|
|
39
|
+
* captures both the descriptive text and the reference identifier for the
|
|
40
|
+
* related entity, enabling comprehensive documentation of inheritance and
|
|
41
|
+
* polymorphic behaviours within the codebase.
|
|
42
|
+
*
|
|
43
|
+
* @public
|
|
44
|
+
*/
|
|
45
|
+
export abstract class AbstractReimplementType extends AbstractDataModelBase {
|
|
46
|
+
/**
|
|
47
|
+
* The descriptive text content for this reimplement relationship.
|
|
48
|
+
*
|
|
49
|
+
* @remarks
|
|
50
|
+
* Mandatory element containing the textual description of the reimplement
|
|
51
|
+
* relationship. This text typically includes the signature or name of the
|
|
52
|
+
* reimplemented entity, providing human-readable context about the
|
|
53
|
+
* relationship between the current entity and the referenced implementation.
|
|
54
|
+
*/
|
|
55
|
+
text = '' // Passed as element text.
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* The reference identifier for the reimplemented entity.
|
|
59
|
+
*
|
|
60
|
+
* @remarks
|
|
61
|
+
* Mandatory attribute that provides a unique identifier for the entity
|
|
62
|
+
* being reimplemented. This reference enables linking and cross-referencing
|
|
63
|
+
* between related documentation elements, allowing navigation between
|
|
64
|
+
* implementations and their base declarations within the generated
|
|
65
|
+
* documentation structure.
|
|
66
|
+
*/
|
|
67
|
+
refId = ''
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Constructs a new abstract reimplement type from XML data.
|
|
71
|
+
*
|
|
72
|
+
* @param xml - The Doxygen XML parser instance
|
|
73
|
+
* @param element - The XML element containing reimplement relationship data
|
|
74
|
+
* @param elementName - The expected XML element name
|
|
75
|
+
*
|
|
76
|
+
* @remarks
|
|
77
|
+
* Parses the provided XML element to construct a complete reimplement
|
|
78
|
+
* relationship data model. The parsing process extracts the textual content
|
|
79
|
+
* from the element and processes the mandatory refid attribute. Validation
|
|
80
|
+
* ensures that both the descriptive text and reference identifier are
|
|
81
|
+
* present and non-empty, maintaining the integrity of the reimplement
|
|
82
|
+
* relationship documentation.
|
|
83
|
+
*/
|
|
84
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string) {
|
|
85
|
+
super(elementName)
|
|
86
|
+
|
|
87
|
+
// console.log(elementName, util.inspect(element,
|
|
88
|
+
// { compact: false, depth: 999 }))
|
|
89
|
+
|
|
90
|
+
// ------------------------------------------------------------------------
|
|
91
|
+
// Process elements.
|
|
92
|
+
|
|
93
|
+
assert(xml.isInnerElementText(element, elementName))
|
|
94
|
+
this.text = xml.getInnerElementText(element, elementName)
|
|
95
|
+
|
|
96
|
+
assert(this.text.length > 0)
|
|
97
|
+
|
|
98
|
+
// ------------------------------------------------------------------------
|
|
99
|
+
// Process attributes.
|
|
100
|
+
|
|
101
|
+
assert(xml.hasAttributes(element))
|
|
102
|
+
|
|
103
|
+
const attributesNames = xml.getAttributesNames(element)
|
|
104
|
+
for (const attributeName of attributesNames) {
|
|
105
|
+
if (attributeName === '@_refid') {
|
|
106
|
+
this.refId = xml.getAttributeStringValue(element, '@_refid')
|
|
107
|
+
} else {
|
|
108
|
+
console.error(util.inspect(element, { compact: false, depth: 999 }))
|
|
109
|
+
console.error(
|
|
110
|
+
`${elementName} attribute:`,
|
|
111
|
+
attributeName,
|
|
112
|
+
'not implemented yet in',
|
|
113
|
+
this.constructor.name
|
|
114
|
+
)
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
assert(this.refId.length > 0)
|
|
119
|
+
|
|
120
|
+
// ------------------------------------------------------------------------
|
|
121
|
+
|
|
122
|
+
// console.log(util.inspect(this, { compact: false, depth: 999 }))
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// ----------------------------------------------------------------------------
|
|
127
|
+
|
|
128
|
+
// <xsd:element name="reimplements" type="reimplementType" minOccurs="0" maxOccurs="unbounded" />
|
|
129
|
+
// <xsd:element name="reimplementedby" type="reimplementType" minOccurs="0" maxOccurs="unbounded" />
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Data model for reimplement relationship elements.
|
|
133
|
+
*
|
|
134
|
+
* @remarks
|
|
135
|
+
* Represents a specific reimplement relationship within Doxygen XML
|
|
136
|
+
* documentation, corresponding to the reimplements XML element. This class
|
|
137
|
+
* manages relationships where the current entity reimplements or overrides
|
|
138
|
+
* behaviour from a base class or interface. The relationship captures both
|
|
139
|
+
* the descriptive information and the reference to the original implementation,
|
|
140
|
+
* enabling comprehensive documentation of polymorphic behaviours and
|
|
141
|
+
* inheritance patterns within object-oriented codebases.
|
|
142
|
+
*
|
|
143
|
+
* @public
|
|
144
|
+
*/
|
|
145
|
+
export class ReimplementDataModel extends AbstractReimplementType {
|
|
146
|
+
/**
|
|
147
|
+
* Constructs a new reimplement relationship data model from XML.
|
|
148
|
+
*
|
|
149
|
+
* @param xml - The Doxygen XML parser instance
|
|
150
|
+
* @param element - The XML element containing reimplement relationship data
|
|
151
|
+
*
|
|
152
|
+
* @remarks
|
|
153
|
+
* Creates a complete reimplement relationship data model by parsing the
|
|
154
|
+
* provided XML element. This constructor delegates to the parent class to
|
|
155
|
+
* handle all standard parsing operations for the reimplements element type,
|
|
156
|
+
* establishing the relationship between the current entity and the
|
|
157
|
+
* reimplemented base implementation.
|
|
158
|
+
*/
|
|
159
|
+
constructor(xml: DoxygenXmlParser, element: object) {
|
|
160
|
+
// console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
|
|
161
|
+
super(xml, element, 'reimplements')
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Data model for reimplemented-by relationship elements.
|
|
167
|
+
*
|
|
168
|
+
* @remarks
|
|
169
|
+
* Represents the inverse reimplement relationship within Doxygen XML
|
|
170
|
+
* documentation, corresponding to the reimplementedby XML element. This class
|
|
171
|
+
* manages relationships where the current entity is reimplemented or overridden
|
|
172
|
+
* by derived classes or implementing types. The relationship provides a
|
|
173
|
+
* reverse-lookup capability, allowing documentation of which entities override
|
|
174
|
+
* or reimplement the current method or function. This bidirectional
|
|
175
|
+
* relationship documentation enables comprehensive understanding of inheritance
|
|
176
|
+
* hierarchies and polymorphic implementations.
|
|
177
|
+
*
|
|
178
|
+
* @public
|
|
179
|
+
*/
|
|
180
|
+
export class ReimplementedByDataModel extends AbstractReimplementType {
|
|
181
|
+
/**
|
|
182
|
+
* Constructs a new reimplemented-by relationship data model from XML.
|
|
183
|
+
*
|
|
184
|
+
* @param xml - The Doxygen XML parser instance
|
|
185
|
+
* @param element - The XML element containing reimplemented-by relationship
|
|
186
|
+
* data
|
|
187
|
+
*
|
|
188
|
+
* @remarks
|
|
189
|
+
* Creates a complete reimplemented-by relationship data model by parsing the
|
|
190
|
+
* provided XML element. This constructor delegates to the parent class to
|
|
191
|
+
* handle all standard parsing operations for the reimplementedby element
|
|
192
|
+
* type, establishing the reverse relationship between the current entity
|
|
193
|
+
* and the implementing derived classes or types.
|
|
194
|
+
*/
|
|
195
|
+
constructor(xml: DoxygenXmlParser, element: object) {
|
|
196
|
+
// console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
|
|
197
|
+
super(xml, element, 'reimplementedby')
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
// ----------------------------------------------------------------------------
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is part of the xPack project (http://xpack.github.io).
|
|
3
|
+
* Copyright (c) 2026 Liviu Ionescu. All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
+
* 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 be
|
|
9
|
+
* obtained from https://opensource.org/licenses/mit.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
// ----------------------------------------------------------------------------
|
|
13
|
+
|
|
14
|
+
// <xsd:complexType name="requirementslistType">
|
|
15
|
+
// <xsd:sequence>
|
|
16
|
+
// <xsd:element name="requirement" type="requirementType" minOccurs="1" maxOccurs="unbounded" />
|
|
17
|
+
// </xsd:sequence>
|
|
18
|
+
// </xsd:complexType>
|
|
19
|
+
|
|
20
|
+
// <xsd:complexType name="requirementType">
|
|
21
|
+
// <xsd:sequence>
|
|
22
|
+
// <xsd:element name="title" type="docTitleType" />
|
|
23
|
+
// <xsd:element name="location" type="locationType" />
|
|
24
|
+
// <xsd:element name="satisfiedby" type="compoundRefType" minOccurs="0" maxOccurs="unbounded" />
|
|
25
|
+
// <xsd:element name="verifiedby" type="compoundRefType" minOccurs="0" maxOccurs="unbounded" />
|
|
26
|
+
// </xsd:sequence>
|
|
27
|
+
// <xsd:attribute name="refid" type="xsd:string" />
|
|
28
|
+
// <xsd:attribute name="tagfile" type="xsd:string" use="optional" />
|
|
29
|
+
// <xsd:attribute name="page" type="xsd:string" use="optional" />
|
|
30
|
+
// </xsd:complexType>
|
|
31
|
+
|
|
32
|
+
// <xsd:complexType name="requirementRefsType">
|
|
33
|
+
// <xsd:sequence>
|
|
34
|
+
// <xsd:element name="requirement" type="requirementRefType" minOccurs="1" maxOccurs="unbounded"/>
|
|
35
|
+
// </xsd:sequence>
|
|
36
|
+
// </xsd:complexType>
|
|
37
|
+
|
|
38
|
+
// <xsd:complexType name="requirementRefType">
|
|
39
|
+
// <xsd:simpleContent>
|
|
40
|
+
// <xsd:extension base="xsd:string">
|
|
41
|
+
// <xsd:attribute name="refid" type="xsd:string" use="required"/>
|
|
42
|
+
// </xsd:extension>
|
|
43
|
+
// </xsd:simpleContent>
|
|
44
|
+
// </xsd:complexType>
|
|
45
|
+
|
|
46
|
+
// ----------------------------------------------------------------------------
|
|
47
|
+
|
|
48
|
+
// TODO: add content.
|
|
49
|
+
|
|
50
|
+
// ----------------------------------------------------------------------------
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is part of the xPack project (http://xpack.github.io).
|
|
3
|
+
* Copyright (c) 2025-2026 Liviu Ionescu. All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
+
* 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 be
|
|
9
|
+
* obtained from https://opensource.org/licenses/mit.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
// ----------------------------------------------------------------------------
|
|
13
|
+
|
|
14
|
+
import assert from 'node:assert'
|
|
15
|
+
import * as util from 'node:util'
|
|
16
|
+
import { DoxygenXmlParser } from '../doxygen-xml-parser.js'
|
|
17
|
+
import { DescriptionDataModel } from './descriptiontype-dm.js'
|
|
18
|
+
import { MemberDefDataModel } from './memberdeftype-dm.js'
|
|
19
|
+
import { MemberDataModel } from './membertype-dm.js'
|
|
20
|
+
import { AbstractDataModelBase } from '../types.js'
|
|
21
|
+
|
|
22
|
+
// ----------------------------------------------------------------------------
|
|
23
|
+
|
|
24
|
+
// <xsd:complexType name="sectiondefType">
|
|
25
|
+
// <xsd:sequence>
|
|
26
|
+
// <xsd:element name="header" type="xsd:string" minOccurs="0" />
|
|
27
|
+
// <xsd:element name="description" type="descriptionType" minOccurs="0" />
|
|
28
|
+
// <xsd:choice maxOccurs="unbounded">
|
|
29
|
+
// <xsd:element name="memberdef" type="memberdefType" minOccurs="0" maxOccurs="unbounded" />
|
|
30
|
+
// <xsd:element name="member" type="MemberType" minOccurs="0" maxOccurs="unbounded" />
|
|
31
|
+
// </xsd:choice>
|
|
32
|
+
// </xsd:sequence>
|
|
33
|
+
// <xsd:attribute name="kind" type="DoxSectionKind" />
|
|
34
|
+
// </xsd:complexType>
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Abstract base class for section definition type data models.
|
|
38
|
+
*
|
|
39
|
+
* @remarks
|
|
40
|
+
* Represents the foundational structure for section definition elements
|
|
41
|
+
* within Doxygen XML documentation, corresponding to the sectiondefType
|
|
42
|
+
* complex type in the XML schema. This class provides the core properties
|
|
43
|
+
* and utility methods for managing section definitions, including kind
|
|
44
|
+
* classification, optional headers and descriptions, and member collections.
|
|
45
|
+
* All concrete section definition classes should extend this base to ensure
|
|
46
|
+
* consistent structure and behaviour.
|
|
47
|
+
*
|
|
48
|
+
* @public
|
|
49
|
+
*/
|
|
50
|
+
export abstract class AbstractSectionDefTypeBase extends AbstractDataModelBase {
|
|
51
|
+
/**
|
|
52
|
+
* The kind classification of this section definition.
|
|
53
|
+
*
|
|
54
|
+
* @remarks
|
|
55
|
+
* Mandatory attribute that specifies the type of section, corresponding
|
|
56
|
+
* to the DoxSectionKind enumeration in the XML schema. This classification
|
|
57
|
+
* determines how the section is processed and presented in the documentation.
|
|
58
|
+
*/
|
|
59
|
+
kind = ''
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* The optional header text for this section.
|
|
63
|
+
*
|
|
64
|
+
* @remarks
|
|
65
|
+
* Optional element that provides a title or heading for the section.
|
|
66
|
+
* When present, this header is used for display and navigation purposes
|
|
67
|
+
* within the generated documentation.
|
|
68
|
+
*/
|
|
69
|
+
header?: string | undefined
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* The optional description content for this section.
|
|
73
|
+
*
|
|
74
|
+
* @remarks
|
|
75
|
+
* Optional element containing detailed description information for the
|
|
76
|
+
* section. This description provides context and documentation about
|
|
77
|
+
* the section's purpose and contents.
|
|
78
|
+
*/
|
|
79
|
+
description?: DescriptionDataModel | undefined
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Collection of member definition data models.
|
|
83
|
+
*
|
|
84
|
+
* @remarks
|
|
85
|
+
* Optional array containing detailed member definitions for this section.
|
|
86
|
+
* This collection is mutually exclusive with the members array, as per
|
|
87
|
+
* the XML schema choice constraint. Each member definition provides
|
|
88
|
+
* comprehensive information about documented entities.
|
|
89
|
+
*/
|
|
90
|
+
memberDefs?: MemberDefDataModel[] | undefined
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Collection of member reference data models.
|
|
94
|
+
*
|
|
95
|
+
* @remarks
|
|
96
|
+
* Optional array containing member references for this section. This
|
|
97
|
+
* collection is mutually exclusive with the memberDefs array, as per
|
|
98
|
+
* the XML schema choice constraint. Each member reference provides
|
|
99
|
+
* summary information and links to detailed definitions.
|
|
100
|
+
*/
|
|
101
|
+
members?: MemberDataModel[] | undefined
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Constructs a new abstract section definition type base instance.
|
|
105
|
+
*
|
|
106
|
+
* @param elementName - The XML element name for this section definition
|
|
107
|
+
* @param kind - The section kind classification
|
|
108
|
+
*
|
|
109
|
+
* @remarks
|
|
110
|
+
* Initialises the base properties for a section definition, establishing
|
|
111
|
+
* the element name and kind classification that will be used throughout
|
|
112
|
+
* the processing lifecycle.
|
|
113
|
+
*/
|
|
114
|
+
constructor(elementName: string, kind: string) {
|
|
115
|
+
super(elementName)
|
|
116
|
+
|
|
117
|
+
this.kind = kind
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Determines whether this section contains any member information.
|
|
122
|
+
*
|
|
123
|
+
* @returns True if the section has member definitions or member references
|
|
124
|
+
*
|
|
125
|
+
* @remarks
|
|
126
|
+
* Utility method that checks for the presence of either member definitions
|
|
127
|
+
* or member references within this section. This is useful for determining
|
|
128
|
+
* whether the section requires member processing or can be treated as
|
|
129
|
+
* documentation-only content.
|
|
130
|
+
*/
|
|
131
|
+
hasMembers(): boolean {
|
|
132
|
+
return this.memberDefs !== undefined || this.members !== undefined
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Computes an adjusted kind string based on section and member suffixes.
|
|
137
|
+
*
|
|
138
|
+
* @param sectionSuffix - The suffix to apply for section-based adjustments
|
|
139
|
+
* @param memberSuffix - The suffix to apply for member-based adjustments
|
|
140
|
+
* @returns The adjusted kind string
|
|
141
|
+
*
|
|
142
|
+
* @remarks
|
|
143
|
+
* Transforms the section kind for specific member types, such as converting
|
|
144
|
+
* 'public-func' into more specific kinds like 'public-constructor',
|
|
145
|
+
* 'public-destructor', or 'public-operator'. For user-defined sections,
|
|
146
|
+
* returns the member suffix directly. For hyphenated kinds, replaces the
|
|
147
|
+
* final component with the section suffix. Otherwise, returns the member
|
|
148
|
+
* suffix as the default behaviour.
|
|
149
|
+
*/
|
|
150
|
+
computeAdjustedKind(
|
|
151
|
+
sectionSuffix: string,
|
|
152
|
+
memberSuffix: string = sectionSuffix
|
|
153
|
+
): string {
|
|
154
|
+
// Turn `public-func` into
|
|
155
|
+
// - `public-constructor`
|
|
156
|
+
// - `public-destructor`.
|
|
157
|
+
// - `public-operator` etc.
|
|
158
|
+
if (this.kind === 'user-defined') {
|
|
159
|
+
return memberSuffix
|
|
160
|
+
}
|
|
161
|
+
if (this.kind.includes('-')) {
|
|
162
|
+
// Replace only the last word with the new suffix.
|
|
163
|
+
return `${this.kind.replace(/[-][a-z][a-z]*$/, '-')}${sectionSuffix}`
|
|
164
|
+
} else {
|
|
165
|
+
return memberSuffix
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Abstract class for XML-parsed section definition types.
|
|
172
|
+
*
|
|
173
|
+
* @remarks
|
|
174
|
+
* Extends the base section definition type to provide XML parsing capabilities
|
|
175
|
+
* for constructing section definition data models from Doxygen XML elements.
|
|
176
|
+
* This class handles the complete parsing process including attributes, inner
|
|
177
|
+
* elements, headers, descriptions, and member collections. All concrete
|
|
178
|
+
* section definition implementations that require XML parsing should extend
|
|
179
|
+
* this class to benefit from the standardised parsing infrastructure.
|
|
180
|
+
*
|
|
181
|
+
* @public
|
|
182
|
+
*/
|
|
183
|
+
// eslint-disable-next-line max-len
|
|
184
|
+
export abstract class AbstractSectionDefType extends AbstractSectionDefTypeBase {
|
|
185
|
+
/**
|
|
186
|
+
* Constructs a new abstract section definition type from XML data.
|
|
187
|
+
*
|
|
188
|
+
* @param xml - The Doxygen XML parser instance
|
|
189
|
+
* @param element - The XML element containing section definition data
|
|
190
|
+
* @param elementName - The expected XML element name
|
|
191
|
+
*
|
|
192
|
+
* @remarks
|
|
193
|
+
* Parses the provided XML element to construct a complete section definition
|
|
194
|
+
* data model. The parsing process handles all defined inner elements
|
|
195
|
+
* including headers, descriptions, member definitions, and member references,
|
|
196
|
+
* as well as the mandatory kind attribute. Validation ensures that required
|
|
197
|
+
* elements and attributes are present and conform to the expected XML schema
|
|
198
|
+
* structure.
|
|
199
|
+
*/
|
|
200
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string) {
|
|
201
|
+
super(elementName, '')
|
|
202
|
+
|
|
203
|
+
// console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
|
|
204
|
+
|
|
205
|
+
// ------------------------------------------------------------------------
|
|
206
|
+
// Process elements.
|
|
207
|
+
|
|
208
|
+
const innerElements = xml.getInnerElements(element, elementName)
|
|
209
|
+
assert(innerElements.length > 0)
|
|
210
|
+
|
|
211
|
+
for (const innerElement of innerElements) {
|
|
212
|
+
if (xml.hasInnerText(innerElement)) {
|
|
213
|
+
// Ignore texts.
|
|
214
|
+
} else if (xml.isInnerElementText(innerElement, 'header')) {
|
|
215
|
+
assert(this.header === undefined)
|
|
216
|
+
this.header = xml.getInnerElementText(innerElement, 'header')
|
|
217
|
+
} else if (xml.hasInnerElement(innerElement, 'description')) {
|
|
218
|
+
assert(this.description === undefined)
|
|
219
|
+
this.description = new DescriptionDataModel(xml, innerElement)
|
|
220
|
+
} else if (xml.hasInnerElement(innerElement, 'memberdef')) {
|
|
221
|
+
this.memberDefs ??= []
|
|
222
|
+
this.memberDefs.push(new MemberDefDataModel(xml, innerElement))
|
|
223
|
+
} else if (xml.hasInnerElement(innerElement, 'member')) {
|
|
224
|
+
this.members ??= []
|
|
225
|
+
this.members.push(new MemberDataModel(xml, innerElement))
|
|
226
|
+
} else {
|
|
227
|
+
console.error(util.inspect(innerElement))
|
|
228
|
+
console.error(
|
|
229
|
+
`${elementName} element:`,
|
|
230
|
+
Object.keys(innerElement),
|
|
231
|
+
'not implemented yet in',
|
|
232
|
+
this.constructor.name
|
|
233
|
+
)
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
// ------------------------------------------------------------------------
|
|
238
|
+
// Process attributes.
|
|
239
|
+
|
|
240
|
+
assert(xml.hasAttributes(element))
|
|
241
|
+
|
|
242
|
+
const attributesNames = xml.getAttributesNames(element)
|
|
243
|
+
for (const attributeName of attributesNames) {
|
|
244
|
+
if (attributeName === '@_kind') {
|
|
245
|
+
assert(this.kind.length === 0)
|
|
246
|
+
this.kind = xml.getAttributeStringValue(element, '@_kind')
|
|
247
|
+
} else {
|
|
248
|
+
console.error(util.inspect(element, { compact: false, depth: 999 }))
|
|
249
|
+
console.error(
|
|
250
|
+
`${elementName} attribute:`,
|
|
251
|
+
attributeName,
|
|
252
|
+
'not implemented yet in',
|
|
253
|
+
this.constructor.name
|
|
254
|
+
)
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
assert(this.kind.length > 0)
|
|
259
|
+
|
|
260
|
+
// ------------------------------------------------------------------------
|
|
261
|
+
|
|
262
|
+
// console.log(util.inspect(this, { compact: false, depth: 999 }))
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
// ----------------------------------------------------------------------------
|
|
267
|
+
|
|
268
|
+
// <xsd:element name="sectiondef" type="sectiondefType" minOccurs="0" maxOccurs="unbounded" />
|
|
269
|
+
|
|
270
|
+
/**
|
|
271
|
+
* Concrete data model for section definition elements.
|
|
272
|
+
*
|
|
273
|
+
* @remarks
|
|
274
|
+
* Represents a specific section definition within Doxygen XML documentation,
|
|
275
|
+
* corresponding to the sectiondef XML element. This class provides the
|
|
276
|
+
* complete implementation for parsing and managing section definition data,
|
|
277
|
+
* including all supported attributes, elements, and member collections. Each
|
|
278
|
+
* instance represents a single section within a compound or group structure.
|
|
279
|
+
*
|
|
280
|
+
* @public
|
|
281
|
+
*/
|
|
282
|
+
export class SectionDefDataModel extends AbstractSectionDefType {
|
|
283
|
+
/**
|
|
284
|
+
* Constructs a new section definition data model from XML.
|
|
285
|
+
*
|
|
286
|
+
* @param xml - The Doxygen XML parser instance
|
|
287
|
+
* @param element - The XML element containing section definition data
|
|
288
|
+
*
|
|
289
|
+
* @remarks
|
|
290
|
+
* Creates a complete section definition data model by parsing the provided
|
|
291
|
+
* XML element. This constructor delegates to the parent class to handle all
|
|
292
|
+
* standard parsing operations for the sectiondef element type.
|
|
293
|
+
*/
|
|
294
|
+
constructor(xml: DoxygenXmlParser, element: object) {
|
|
295
|
+
// console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
|
|
296
|
+
super(xml, element, 'sectiondef')
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
/**
|
|
301
|
+
* Data model for section definitions organised by kind classification.
|
|
302
|
+
*
|
|
303
|
+
* @remarks
|
|
304
|
+
* Represents a section definition that is categorised by a specific kind
|
|
305
|
+
* without requiring XML parsing. This class is useful for creating organised
|
|
306
|
+
* collections of section definitions based on their classification types,
|
|
307
|
+
* allowing for structured presentation and filtering of documentation sections.
|
|
308
|
+
* The kind-based organisation enables efficient grouping and processing of
|
|
309
|
+
* related sections within the documentation structure.
|
|
310
|
+
*
|
|
311
|
+
* @public
|
|
312
|
+
*/
|
|
313
|
+
export class SectionDefByKindDataModel extends AbstractSectionDefTypeBase {
|
|
314
|
+
/**
|
|
315
|
+
* Constructs a new section definition organised by kind.
|
|
316
|
+
*
|
|
317
|
+
* @param kind - The section kind classification
|
|
318
|
+
*
|
|
319
|
+
* @remarks
|
|
320
|
+
* Creates a section definition data model with the specified kind
|
|
321
|
+
* classification. This constructor is used when creating organised
|
|
322
|
+
* collections of sections based on their type, without requiring
|
|
323
|
+
* XML parsing operations.
|
|
324
|
+
*/
|
|
325
|
+
constructor(kind: string) {
|
|
326
|
+
super('sectiondef', kind)
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
// ----------------------------------------------------------------------------
|