@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,256 @@
|
|
|
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
|
+
|
|
17
|
+
import { DoxygenXmlParser } from '../doxygen-xml-parser.js'
|
|
18
|
+
import { IndexMemberDataModel } from './indexmembertype-dm.js'
|
|
19
|
+
import { AbstractDataModelBase } from '../types.js'
|
|
20
|
+
|
|
21
|
+
// ----------------------------------------------------------------------------
|
|
22
|
+
|
|
23
|
+
// <xsd:complexType name="CompoundType">
|
|
24
|
+
// <xsd:sequence>
|
|
25
|
+
// <xsd:element name="name" type="xsd:string"/>
|
|
26
|
+
// <xsd:element name="member" type="MemberType" minOccurs="0" maxOccurs="unbounded"/>
|
|
27
|
+
// </xsd:sequence>
|
|
28
|
+
// <xsd:attribute name="refid" type="xsd:string" use="required"/>
|
|
29
|
+
// <xsd:attribute name="kind" type="CompoundKind" use="required"/>
|
|
30
|
+
// </xsd:complexType>
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Abstract base class for index compound type data models.
|
|
34
|
+
*
|
|
35
|
+
* @remarks
|
|
36
|
+
* Represents compound elements found within Doxygen index XML structures,
|
|
37
|
+
* corresponding to the CompoundType complex type in the XML schema. This
|
|
38
|
+
* class handles the parsing of compound names, member collections, and
|
|
39
|
+
* mandatory attributes (refid and kind). All concrete compound data model
|
|
40
|
+
* classes should extend this abstract base to ensure consistent parsing
|
|
41
|
+
* and data representation.
|
|
42
|
+
*
|
|
43
|
+
* @public
|
|
44
|
+
*/
|
|
45
|
+
export abstract class AbstractIndexCompoundType extends AbstractDataModelBase {
|
|
46
|
+
/**
|
|
47
|
+
* The name of the compound element.
|
|
48
|
+
*
|
|
49
|
+
* @remarks
|
|
50
|
+
* Extracted from the mandatory 'name' element within the compound XML
|
|
51
|
+
* structure. Represents the identifier or name of the documented compound
|
|
52
|
+
* such as a class name, namespace, or filename.
|
|
53
|
+
*/
|
|
54
|
+
name = ''
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Collection of member data models associated with this compound.
|
|
58
|
+
*
|
|
59
|
+
* @remarks
|
|
60
|
+
* Optional array containing member elements found within the compound
|
|
61
|
+
* structure. Each member represents a documented entity that belongs
|
|
62
|
+
* to this compound, such as functions, variables, or other nested
|
|
63
|
+
* constructs. The array supports zero to many members as per the XML schema.
|
|
64
|
+
*/
|
|
65
|
+
members: IndexMemberDataModel[] | undefined // [0-n]
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* The unique reference identifier for this compound.
|
|
69
|
+
*
|
|
70
|
+
* @remarks
|
|
71
|
+
* Mandatory attribute that provides a unique identifier for referencing
|
|
72
|
+
* this compound within the Doxygen documentation structure. Used to link
|
|
73
|
+
* index entries to their detailed definitions in separate XML files.
|
|
74
|
+
*/
|
|
75
|
+
refid = ''
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* The kind classification of this compound.
|
|
79
|
+
*
|
|
80
|
+
* @remarks
|
|
81
|
+
* Mandatory attribute specifying the type of compound (e.g., class, struct,
|
|
82
|
+
* namespace, file). Corresponds to the CompoundKind enumeration in the
|
|
83
|
+
* XML schema, determining how the compound should be processed and presented.
|
|
84
|
+
*/
|
|
85
|
+
kind = '' // CompoundKind
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Constructs a new AbstractIndexCompoundType instance from XML data.
|
|
89
|
+
*
|
|
90
|
+
* @param xml - The Doxygen XML parser instance for processing XML elements
|
|
91
|
+
* @param element - The XML element containing the compound data
|
|
92
|
+
* @param elementName - The name of the XML element being processed
|
|
93
|
+
*
|
|
94
|
+
* @remarks
|
|
95
|
+
* Parses the provided XML element to extract compound information including
|
|
96
|
+
* the name element, member collections, and mandatory attributes (refid and
|
|
97
|
+
* kind). The constructor validates that all required data is present and
|
|
98
|
+
* properly formatted according to the XML schema specifications. Member
|
|
99
|
+
* elements are processed into IndexMemberDataModel instances when present.
|
|
100
|
+
*/
|
|
101
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string) {
|
|
102
|
+
super(elementName)
|
|
103
|
+
|
|
104
|
+
// console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
|
|
105
|
+
|
|
106
|
+
// ------------------------------------------------------------------------
|
|
107
|
+
// Process elements.
|
|
108
|
+
|
|
109
|
+
const innerElements = xml.getInnerElements(element, elementName)
|
|
110
|
+
assert(innerElements.length > 0)
|
|
111
|
+
|
|
112
|
+
for (const innerElement of innerElements) {
|
|
113
|
+
if (xml.hasInnerText(innerElement)) {
|
|
114
|
+
// Ignore texts.
|
|
115
|
+
} else if (xml.isInnerElementText(innerElement, 'name')) {
|
|
116
|
+
assert(this.name.length === 0)
|
|
117
|
+
this.name = xml.getInnerElementText(innerElement, 'name')
|
|
118
|
+
} else if (xml.hasInnerElement(innerElement, 'member')) {
|
|
119
|
+
this.members ??= []
|
|
120
|
+
this.members.push(new IndexMemberDataModel(xml, innerElement))
|
|
121
|
+
} else {
|
|
122
|
+
console.error(util.inspect(innerElement))
|
|
123
|
+
console.error(
|
|
124
|
+
`index ${elementName} element:`,
|
|
125
|
+
Object.keys(innerElement),
|
|
126
|
+
'not implemented yet in',
|
|
127
|
+
this.constructor.name
|
|
128
|
+
)
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
// ------------------------------------------------------------------------
|
|
133
|
+
// Process attributes.
|
|
134
|
+
|
|
135
|
+
assert(xml.hasAttributes(element))
|
|
136
|
+
|
|
137
|
+
const attributesNames = xml.getAttributesNames(element)
|
|
138
|
+
// console.log(attributesNames)
|
|
139
|
+
for (const attributeName of attributesNames) {
|
|
140
|
+
// console.log(attributeName)
|
|
141
|
+
if (attributeName === '@_refid') {
|
|
142
|
+
this.refid = xml.getAttributeStringValue(element, '@_refid')
|
|
143
|
+
} else if (attributeName === '@_kind') {
|
|
144
|
+
this.kind = xml.getAttributeStringValue(element, '@_kind')
|
|
145
|
+
} else {
|
|
146
|
+
console.error(util.inspect(element, { compact: false, depth: 999 }))
|
|
147
|
+
console.error(
|
|
148
|
+
`index ${elementName} attribute:`,
|
|
149
|
+
attributeName,
|
|
150
|
+
'not implemented yet in',
|
|
151
|
+
this.constructor.name
|
|
152
|
+
)
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
assert(this.refid.length > 0)
|
|
157
|
+
assert(this.kind.length > 0)
|
|
158
|
+
|
|
159
|
+
// ------------------------------------------------------------------------
|
|
160
|
+
|
|
161
|
+
// console.log(util.inspect(this, { compact: false, depth: 999 }))
|
|
162
|
+
// console.log('compound: ', this.refid)
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
// ----------------------------------------------------------------------------
|
|
167
|
+
|
|
168
|
+
// <xsd:simpleType name="CompoundKind">
|
|
169
|
+
// <xsd:restriction base="xsd:string">
|
|
170
|
+
// <xsd:enumeration value="class"/>
|
|
171
|
+
// <xsd:enumeration value="struct"/>
|
|
172
|
+
// <xsd:enumeration value="union"/>
|
|
173
|
+
// <xsd:enumeration value="interface"/>
|
|
174
|
+
// <xsd:enumeration value="protocol"/>
|
|
175
|
+
// <xsd:enumeration value="category"/>
|
|
176
|
+
// <xsd:enumeration value="exception"/>
|
|
177
|
+
// <xsd:enumeration value="file"/>
|
|
178
|
+
// <xsd:enumeration value="namespace"/>
|
|
179
|
+
// <xsd:enumeration value="group"/>
|
|
180
|
+
// <xsd:enumeration value="page"/>
|
|
181
|
+
// <xsd:enumeration value="example"/>
|
|
182
|
+
// <xsd:enumeration value="dir"/>
|
|
183
|
+
// <xsd:enumeration value="type"/>
|
|
184
|
+
// <xsd:enumeration value="concept"/>
|
|
185
|
+
// <xsd:enumeration value="module"/>
|
|
186
|
+
// </xsd:restriction>
|
|
187
|
+
// </xsd:simpleType>
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Union type representing the various kinds of compounds in Doxygen
|
|
191
|
+
* documentation.
|
|
192
|
+
*
|
|
193
|
+
* @remarks
|
|
194
|
+
* Corresponds to the CompoundKind simple type in the Doxygen XML schema,
|
|
195
|
+
* which defines the allowable classifications for documented compounds.
|
|
196
|
+
* Each value represents a specific type of programming construct or
|
|
197
|
+
* documentation unit that can be indexed, ranging from code structures
|
|
198
|
+
* like classes and namespaces to documentation pages and examples.
|
|
199
|
+
*
|
|
200
|
+
* @public
|
|
201
|
+
*/
|
|
202
|
+
export type IndexCompoundKind =
|
|
203
|
+
| 'class'
|
|
204
|
+
| 'struct'
|
|
205
|
+
| 'union'
|
|
206
|
+
| 'interface'
|
|
207
|
+
| 'protocol'
|
|
208
|
+
| 'category'
|
|
209
|
+
| 'exception'
|
|
210
|
+
| 'file'
|
|
211
|
+
| 'namespace'
|
|
212
|
+
| 'group'
|
|
213
|
+
| 'page'
|
|
214
|
+
| 'example'
|
|
215
|
+
| 'dir'
|
|
216
|
+
| 'type'
|
|
217
|
+
| 'concept'
|
|
218
|
+
| 'module'
|
|
219
|
+
|
|
220
|
+
// ----------------------------------------------------------------------------
|
|
221
|
+
|
|
222
|
+
// <xsd:element name="compound" type="CompoundType" minOccurs="0" maxOccurs="unbounded"/>
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* Concrete data model class for index compound elements.
|
|
226
|
+
*
|
|
227
|
+
* @remarks
|
|
228
|
+
* Represents individual compound elements found within Doxygen index XML
|
|
229
|
+
* structures. This class extends the abstract base to provide specific
|
|
230
|
+
* handling for 'compound' elements, which reference documented entities
|
|
231
|
+
* such as classes, namespaces, files, and other structural components
|
|
232
|
+
* within the indexed documentation. Each compound serves as an entry
|
|
233
|
+
* point for accessing detailed documentation in separate XML files.
|
|
234
|
+
*
|
|
235
|
+
* @public
|
|
236
|
+
*/
|
|
237
|
+
export class IndexCompoundDataModel extends AbstractIndexCompoundType {
|
|
238
|
+
/**
|
|
239
|
+
* Constructs a new IndexCompoundDataModel instance from XML data.
|
|
240
|
+
*
|
|
241
|
+
* @param xml - The Doxygen XML parser instance for processing XML elements
|
|
242
|
+
* @param element - The XML element containing the compound data
|
|
243
|
+
*
|
|
244
|
+
* @remarks
|
|
245
|
+
* Initialises the compound data model by parsing the provided XML element
|
|
246
|
+
* as a 'compound' element type. The constructor delegates to the parent
|
|
247
|
+
* class for common compound processing whilst specifying the element name
|
|
248
|
+
* for proper XML structure handling.
|
|
249
|
+
*/
|
|
250
|
+
constructor(xml: DoxygenXmlParser, element: object) {
|
|
251
|
+
// console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
|
|
252
|
+
super(xml, element, 'compound')
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
// ----------------------------------------------------------------------------
|
|
@@ -0,0 +1,196 @@
|
|
|
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
|
+
|
|
17
|
+
import { DoxygenXmlParser } from '../doxygen-xml-parser.js'
|
|
18
|
+
import { IndexCompoundDataModel } from './indexcompoundtype-dm.js'
|
|
19
|
+
import { AbstractDataModelBase } from '../types.js'
|
|
20
|
+
|
|
21
|
+
// ----------------------------------------------------------------------------
|
|
22
|
+
|
|
23
|
+
// WARNING: it clashes with the definition in compound.xsd.
|
|
24
|
+
// <xsd:complexType name="DoxygenType">
|
|
25
|
+
// <xsd:sequence>
|
|
26
|
+
// <xsd:element name="compound" type="CompoundType" minOccurs="0" maxOccurs="unbounded"/>
|
|
27
|
+
// </xsd:sequence>
|
|
28
|
+
// <xsd:attribute name="version" type="xsd:string" use="required"/>
|
|
29
|
+
// <xsd:attribute ref="xml:lang" use="required"/>
|
|
30
|
+
// </xsd:complexType>
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Abstract base class for Doxygen index type data models.
|
|
34
|
+
*
|
|
35
|
+
* @remarks
|
|
36
|
+
* Represents the top-level structure of Doxygen index XML files, corresponding
|
|
37
|
+
* to the DoxygenType complex type in the XML schema. This class handles the
|
|
38
|
+
* parsing of version and language attributes, along with compound element
|
|
39
|
+
* collections. Note that this definition may clash with similar types in
|
|
40
|
+
* compound.xsd, requiring careful namespace management.
|
|
41
|
+
*
|
|
42
|
+
* @public
|
|
43
|
+
*/
|
|
44
|
+
export abstract class AbstractIndexDoxygenType extends AbstractDataModelBase {
|
|
45
|
+
/**
|
|
46
|
+
* The version of the Doxygen tool that generated the XML.
|
|
47
|
+
*
|
|
48
|
+
* @remarks
|
|
49
|
+
* Mandatory attribute extracted from the XML structure that identifies
|
|
50
|
+
* the version of Doxygen used to generate the documentation. This
|
|
51
|
+
* information is crucial for compatibility and parsing decisions.
|
|
52
|
+
*/
|
|
53
|
+
version = ''
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* The language specification for the documentation content.
|
|
57
|
+
*
|
|
58
|
+
* @remarks
|
|
59
|
+
* Mandatory attribute corresponding to the xml:lang attribute in the
|
|
60
|
+
* XML structure. Specifies the primary language used in the documented
|
|
61
|
+
* content for internationalisation purposes.
|
|
62
|
+
*/
|
|
63
|
+
lang = ''
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Collection of compound data models referenced in the index.
|
|
67
|
+
*
|
|
68
|
+
* @remarks
|
|
69
|
+
* Optional array containing compound elements found within the index
|
|
70
|
+
* structure. Each compound represents a documented entity such as
|
|
71
|
+
* classes, namespaces, or files that are catalogued in the index.
|
|
72
|
+
*/
|
|
73
|
+
compounds?: IndexCompoundDataModel[] | undefined
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* The XML schema location reference for validation.
|
|
77
|
+
*
|
|
78
|
+
* @remarks
|
|
79
|
+
* Optional attribute that specifies the location of the XML schema
|
|
80
|
+
* definition used for validating the structure of the index XML file.
|
|
81
|
+
* This provides schema validation capabilities for the parsed content.
|
|
82
|
+
*/
|
|
83
|
+
noNamespaceSchemaLocation?: string | undefined
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Constructs a new AbstractIndexDoxygenType instance from XML data.
|
|
87
|
+
*
|
|
88
|
+
* @param xml - The Doxygen XML parser instance for processing XML elements
|
|
89
|
+
* @param element - The XML element containing the Doxygen index data
|
|
90
|
+
* @param elementName - The name of the XML element being processed
|
|
91
|
+
*
|
|
92
|
+
* @remarks
|
|
93
|
+
* Parses the provided XML element to extract Doxygen index information
|
|
94
|
+
* including compound collections and mandatory attributes (version and
|
|
95
|
+
* language). The constructor validates that all required attributes are
|
|
96
|
+
* present and processes compound elements into the appropriate data models.
|
|
97
|
+
* Optional schema location attributes are also extracted when present.
|
|
98
|
+
*/
|
|
99
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string) {
|
|
100
|
+
super(elementName)
|
|
101
|
+
|
|
102
|
+
// console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
|
|
103
|
+
|
|
104
|
+
const innerElements = xml.getInnerElements(element, elementName)
|
|
105
|
+
assert(innerElements.length > 0)
|
|
106
|
+
|
|
107
|
+
for (const innerElement of innerElements) {
|
|
108
|
+
if (xml.hasInnerText(innerElement)) {
|
|
109
|
+
// Ignore texts.
|
|
110
|
+
} else if (xml.hasInnerElement(innerElement, 'compound')) {
|
|
111
|
+
this.compounds ??= []
|
|
112
|
+
this.compounds.push(new IndexCompoundDataModel(xml, innerElement))
|
|
113
|
+
} else {
|
|
114
|
+
console.error(util.inspect(innerElement))
|
|
115
|
+
console.error(
|
|
116
|
+
`index ${elementName} element:`,
|
|
117
|
+
Object.keys(innerElement),
|
|
118
|
+
'not implemented yet in',
|
|
119
|
+
this.constructor.name
|
|
120
|
+
)
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
// ------------------------------------------------------------------------
|
|
125
|
+
// Process attributes.
|
|
126
|
+
|
|
127
|
+
assert(xml.hasAttributes(element))
|
|
128
|
+
|
|
129
|
+
const attributesNames = xml.getAttributesNames(element)
|
|
130
|
+
// console.log(attributesNames)
|
|
131
|
+
for (const attributeName of attributesNames) {
|
|
132
|
+
// console.log(attributeName)
|
|
133
|
+
if (attributeName === '@_version') {
|
|
134
|
+
this.version = xml.getAttributeStringValue(element, '@_version')
|
|
135
|
+
} else if (attributeName === '@_lang') {
|
|
136
|
+
this.lang = xml.getAttributeStringValue(element, '@_lang')
|
|
137
|
+
} else if (attributeName === '@_noNamespaceSchemaLocation') {
|
|
138
|
+
this.noNamespaceSchemaLocation = xml.getAttributeStringValue(
|
|
139
|
+
element,
|
|
140
|
+
'@_noNamespaceSchemaLocation'
|
|
141
|
+
)
|
|
142
|
+
} else {
|
|
143
|
+
console.error(util.inspect(element, { compact: false, depth: 999 }))
|
|
144
|
+
console.error(
|
|
145
|
+
`index ${elementName} attribute:`,
|
|
146
|
+
attributeName,
|
|
147
|
+
'not implemented yet in',
|
|
148
|
+
this.constructor.name
|
|
149
|
+
)
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
assert(this.version.length > 0)
|
|
153
|
+
assert(this.lang.length > 0)
|
|
154
|
+
|
|
155
|
+
// ------------------------------------------------------------------------
|
|
156
|
+
|
|
157
|
+
// console.log(util.inspect(this, { compact: false, depth: 999 }))
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
// ----------------------------------------------------------------------------
|
|
162
|
+
|
|
163
|
+
// <xsd:element name="doxygenindex" type="DoxygenType"/>
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Concrete data model class for doxygenindex elements.
|
|
167
|
+
*
|
|
168
|
+
* @remarks
|
|
169
|
+
* Represents the root element of Doxygen index XML files, extending the
|
|
170
|
+
* abstract base class to provide specific handling for 'doxygenindex'
|
|
171
|
+
* elements. This class serves as the primary entry point for parsing
|
|
172
|
+
* index files and provides access to all compound definitions and
|
|
173
|
+
* metadata contained within the index structure.
|
|
174
|
+
*
|
|
175
|
+
* @public
|
|
176
|
+
*/
|
|
177
|
+
export class DoxygenIndexDataModel extends AbstractIndexDoxygenType {
|
|
178
|
+
/**
|
|
179
|
+
* Constructs a new DoxygenIndexDataModel instance from XML data.
|
|
180
|
+
*
|
|
181
|
+
* @param xml - The Doxygen XML parser instance for processing XML elements
|
|
182
|
+
* @param element - The XML element containing the doxygenindex data
|
|
183
|
+
*
|
|
184
|
+
* @remarks
|
|
185
|
+
* Initialises the Doxygen index data model by parsing the provided XML
|
|
186
|
+
* element as a 'doxygenindex' element type. The constructor delegates
|
|
187
|
+
* to the parent class for common processing whilst specifying the
|
|
188
|
+
* element name for proper XML structure handling.
|
|
189
|
+
*/
|
|
190
|
+
constructor(xml: DoxygenXmlParser, element: object) {
|
|
191
|
+
// console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
|
|
192
|
+
super(xml, element, 'doxygenindex')
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
// ----------------------------------------------------------------------------
|
|
@@ -0,0 +1,230 @@
|
|
|
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
|
+
|
|
17
|
+
import { DoxygenXmlParser } from '../doxygen-xml-parser.js'
|
|
18
|
+
import { AbstractDataModelBase } from '../types.js'
|
|
19
|
+
|
|
20
|
+
// ----------------------------------------------------------------------------
|
|
21
|
+
|
|
22
|
+
// <xsd:complexType name="MemberType">
|
|
23
|
+
// <xsd:sequence>
|
|
24
|
+
// <xsd:element name="name" type="xsd:string"/>
|
|
25
|
+
// </xsd:sequence>
|
|
26
|
+
// <xsd:attribute name="refid" type="xsd:string" use="required"/>
|
|
27
|
+
// <xsd:attribute name="kind" type="MemberKind" use="required"/>
|
|
28
|
+
// </xsd:complexType>
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Abstract base class for index member type data models.
|
|
32
|
+
*
|
|
33
|
+
* @remarks
|
|
34
|
+
* Represents member elements found within Doxygen index XML structures,
|
|
35
|
+
* corresponding to the MemberType complex type in the XML schema. This
|
|
36
|
+
* class handles the parsing of member names, reference identifiers, and
|
|
37
|
+
* member kinds from the XML structure. All concrete member data model
|
|
38
|
+
* classes should extend this abstract base to ensure consistent parsing
|
|
39
|
+
* and data representation.
|
|
40
|
+
*
|
|
41
|
+
* @public
|
|
42
|
+
*/
|
|
43
|
+
export abstract class AbstractIndexMemberType extends AbstractDataModelBase {
|
|
44
|
+
/**
|
|
45
|
+
* The name of the member element.
|
|
46
|
+
*
|
|
47
|
+
* @remarks
|
|
48
|
+
* Extracted from the mandatory 'name' element within the member XML
|
|
49
|
+
* structure. Represents the identifier or name of the documented member.
|
|
50
|
+
*/
|
|
51
|
+
name = ''
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* The reference identifier for the member.
|
|
55
|
+
*
|
|
56
|
+
* @remarks
|
|
57
|
+
* Mandatory attribute that provides a unique identifier for referencing
|
|
58
|
+
* this member within the Doxygen documentation structure. Used to link
|
|
59
|
+
* index entries to their detailed definitions.
|
|
60
|
+
*/
|
|
61
|
+
refid = ''
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* The kind classification of the member.
|
|
65
|
+
*
|
|
66
|
+
* @remarks
|
|
67
|
+
* Mandatory attribute specifying the type of member (e.g., function,
|
|
68
|
+
* variable, typedef). Corresponds to the MemberKind enumeration in the
|
|
69
|
+
* XML schema.
|
|
70
|
+
*/
|
|
71
|
+
kind = '' // MemberKind
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Constructs a new AbstractIndexMemberType instance from XML data.
|
|
75
|
+
*
|
|
76
|
+
* @param xml - The Doxygen XML parser instance for processing XML elements
|
|
77
|
+
* @param element - The XML element containing the member data
|
|
78
|
+
* @param elementName - The name of the XML element being processed
|
|
79
|
+
*
|
|
80
|
+
* @remarks
|
|
81
|
+
* Parses the provided XML element to extract member information including
|
|
82
|
+
* the name element and mandatory attributes (refid and kind). The constructor
|
|
83
|
+
* validates that all required data is present and properly formatted
|
|
84
|
+
* according to the XML schema specifications.
|
|
85
|
+
*/
|
|
86
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string) {
|
|
87
|
+
super(elementName)
|
|
88
|
+
|
|
89
|
+
// console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
|
|
90
|
+
|
|
91
|
+
// ------------------------------------------------------------------------
|
|
92
|
+
// Process elements.
|
|
93
|
+
|
|
94
|
+
const innerElements = xml.getInnerElements(element, elementName)
|
|
95
|
+
assert(innerElements.length > 0)
|
|
96
|
+
|
|
97
|
+
for (const innerElement of innerElements) {
|
|
98
|
+
if (xml.hasInnerText(innerElement)) {
|
|
99
|
+
// Ignore texts.
|
|
100
|
+
} else if (xml.isInnerElementText(innerElement, 'name')) {
|
|
101
|
+
assert(this.name.length === 0)
|
|
102
|
+
this.name = xml.getInnerElementText(innerElement, 'name')
|
|
103
|
+
} else {
|
|
104
|
+
console.error(util.inspect(innerElement))
|
|
105
|
+
console.error(
|
|
106
|
+
`index ${elementName} element:`,
|
|
107
|
+
Object.keys(innerElement),
|
|
108
|
+
'not implemented yet in',
|
|
109
|
+
this.constructor.name
|
|
110
|
+
)
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// ------------------------------------------------------------------------
|
|
115
|
+
// Process attributes.
|
|
116
|
+
|
|
117
|
+
assert(xml.hasAttributes(element))
|
|
118
|
+
|
|
119
|
+
const attributesNames = xml.getAttributesNames(element)
|
|
120
|
+
// console.log(attributesNames)
|
|
121
|
+
for (const attributeName of attributesNames) {
|
|
122
|
+
// console.log(attributeName)
|
|
123
|
+
if (attributeName === '@_refid') {
|
|
124
|
+
this.refid = xml.getAttributeStringValue(element, '@_refid')
|
|
125
|
+
} else if (attributeName === '@_kind') {
|
|
126
|
+
this.kind = xml.getAttributeStringValue(element, '@_kind')
|
|
127
|
+
} else {
|
|
128
|
+
console.error(util.inspect(element, { compact: false, depth: 999 }))
|
|
129
|
+
console.error(
|
|
130
|
+
`index ${elementName} attribute:`,
|
|
131
|
+
attributeName,
|
|
132
|
+
'not implemented yet in',
|
|
133
|
+
this.constructor.name
|
|
134
|
+
)
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
assert(this.refid.length > 0)
|
|
139
|
+
assert(this.kind.length > 0)
|
|
140
|
+
|
|
141
|
+
// ------------------------------------------------------------------------
|
|
142
|
+
|
|
143
|
+
// console.log(util.inspect(this, { compact: false, depth: 999 }))
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
// ----------------------------------------------------------------------------
|
|
148
|
+
|
|
149
|
+
// <xsd:simpleType name="MemberKind">
|
|
150
|
+
// <xsd:restriction base="xsd:string">
|
|
151
|
+
// <xsd:enumeration value="define"/>
|
|
152
|
+
// <xsd:enumeration value="property"/>
|
|
153
|
+
// <xsd:enumeration value="event"/>
|
|
154
|
+
// <xsd:enumeration value="variable"/>
|
|
155
|
+
// <xsd:enumeration value="typedef"/>
|
|
156
|
+
// <xsd:enumeration value="enum"/>
|
|
157
|
+
// <xsd:enumeration value="enumvalue"/>
|
|
158
|
+
// <xsd:enumeration value="function"/>
|
|
159
|
+
// <xsd:enumeration value="signal"/>
|
|
160
|
+
// <xsd:enumeration value="prototype"/>
|
|
161
|
+
// <xsd:enumeration value="friend"/>
|
|
162
|
+
// <xsd:enumeration value="dcop"/>
|
|
163
|
+
// <xsd:enumeration value="slot"/>
|
|
164
|
+
// </xsd:restriction>
|
|
165
|
+
// </xsd:simpleType>
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Union type representing the various kinds of members in Doxygen
|
|
169
|
+
* documentation.
|
|
170
|
+
*
|
|
171
|
+
* @remarks
|
|
172
|
+
* Corresponds to the MemberKind simple type in the Doxygen XML schema,
|
|
173
|
+
* which defines the allowable classifications for documented members.
|
|
174
|
+
* Each value represents a specific type of programming construct that
|
|
175
|
+
* can be documented, ranging from preprocessor definitions to class
|
|
176
|
+
* methods and properties.
|
|
177
|
+
*
|
|
178
|
+
* @public
|
|
179
|
+
*/
|
|
180
|
+
export type IndexMemberKind =
|
|
181
|
+
| 'define'
|
|
182
|
+
| 'property'
|
|
183
|
+
| 'event'
|
|
184
|
+
| 'variable'
|
|
185
|
+
| 'typedef'
|
|
186
|
+
| 'enum'
|
|
187
|
+
| 'enumvalue'
|
|
188
|
+
| 'function'
|
|
189
|
+
| 'signal'
|
|
190
|
+
| 'prototype'
|
|
191
|
+
| 'friend'
|
|
192
|
+
| 'dcop'
|
|
193
|
+
| 'slot'
|
|
194
|
+
|
|
195
|
+
// ----------------------------------------------------------------------------
|
|
196
|
+
|
|
197
|
+
// The name clashes with a similar definition in compound.xsd.
|
|
198
|
+
// <xsd:element name="member" type="MemberType" minOccurs="0" maxOccurs="unbounded" />
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* Concrete data model class for index member elements.
|
|
202
|
+
*
|
|
203
|
+
* @remarks
|
|
204
|
+
* Represents individual member elements found within Doxygen index XML
|
|
205
|
+
* structures. This class extends the abstract base to provide specific
|
|
206
|
+
* handling for 'member' elements, which reference documented members
|
|
207
|
+
* such as functions, variables, and other programming constructs within
|
|
208
|
+
* the indexed documentation.
|
|
209
|
+
*
|
|
210
|
+
* @public
|
|
211
|
+
*/
|
|
212
|
+
export class IndexMemberDataModel extends AbstractIndexMemberType {
|
|
213
|
+
/**
|
|
214
|
+
* Constructs a new IndexMemberDataModel instance from XML data.
|
|
215
|
+
*
|
|
216
|
+
* @param xml - The Doxygen XML parser instance for processing XML elements
|
|
217
|
+
* @param element - The XML element containing the member data
|
|
218
|
+
*
|
|
219
|
+
* @remarks
|
|
220
|
+
* Initialises the member data model by parsing the provided XML element
|
|
221
|
+
* as a 'member' element type. The constructor delegates to the parent
|
|
222
|
+
* class for common member processing whilst specifying the element name.
|
|
223
|
+
*/
|
|
224
|
+
constructor(xml: DoxygenXmlParser, element: object) {
|
|
225
|
+
// console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
|
|
226
|
+
super(xml, element, 'member')
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
// ----------------------------------------------------------------------------
|