@xpack/doxygen2docusaurus 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +2 -1
- package/bin/doxygen2docusaurus.js +1 -1
- 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/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 +4 -184
- 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 +26 -0
- package/dist/docusaurus/view-model/concepts-vm.d.ts.map +1 -0
- package/dist/docusaurus/view-model/concepts-vm.js +329 -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 +4 -199
- package/dist/docusaurus/view-model/namespaces-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/namespaces-vm.js +79 -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 +0 -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 +5 -492
- package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/compounddef-dm.js +23 -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/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/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 +4 -197
- 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 +4 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -42
- package/dist/index.js.map +1 -1
- package/package.json +45 -51
- 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/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 +756 -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 +719 -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 +1018 -0
- package/src/docusaurus/view-model/options.ts +95 -0
- package/src/docusaurus/view-model/pages-vm.ts +342 -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 +1156 -0
- package/src/doxygen/data-model/compounds/compoundreftype-dm.ts +266 -0
- package/src/doxygen/data-model/compounds/descriptiontype-dm.ts +10107 -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 +874 -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/sectiondeftype-dm.ts +330 -0
- package/src/doxygen/data-model/compounds/tableofcontentstype-dm.ts +563 -0
- package/src/doxygen/data-model/compounds/templateparamlisttype-dm.ts +150 -0
- package/src/doxygen/data-model/data-model.ts +377 -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 +1699 -0
- package/src/doxygen/data-model/xsds/doxyfile.xsd +355 -0
- package/src/doxygen/data-model/xsds/index.xsd +72 -0
- package/src/doxygen/data-model/xsds/xml.xsd +23 -0
- package/src/index.ts +261 -0
- package/src/tsconfig.json +10 -0
- package/dist/doxygen2docusaurus.d.ts +0 -4774
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/tsdoc-metadata.json +0 -11
|
@@ -0,0 +1,756 @@
|
|
|
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
|
|
6
|
+
* for any purpose is hereby granted, under the terms of the MIT license.
|
|
7
|
+
*
|
|
8
|
+
* If a copy of the license was not distributed with this file, it can
|
|
9
|
+
* be obtained from https://opensource.org/licenses/MIT.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
// ----------------------------------------------------------------------------
|
|
13
|
+
|
|
14
|
+
import * as util from 'node:util'
|
|
15
|
+
import assert from 'node:assert'
|
|
16
|
+
|
|
17
|
+
import type {
|
|
18
|
+
ElementLinesRendererBase,
|
|
19
|
+
ElementStringRendererBase,
|
|
20
|
+
} from './element-renderer-base.js'
|
|
21
|
+
import {
|
|
22
|
+
BlockquoteLinesRenderer,
|
|
23
|
+
ComputerOutputDataModelStringRenderer,
|
|
24
|
+
DescriptionTypeLinesRenderer,
|
|
25
|
+
DocAnchorTypeLinesRenderer,
|
|
26
|
+
DocEmptyTypeStringRenderer,
|
|
27
|
+
DocMarkupTypeStringRenderer,
|
|
28
|
+
DocParamListTypeLinesRenderer,
|
|
29
|
+
DocParaTypeLinesRenderer,
|
|
30
|
+
DocRefTextTypeStringRenderer,
|
|
31
|
+
DocSimpleSectTypeLinesRenderer,
|
|
32
|
+
DocURLLinkStringRenderer,
|
|
33
|
+
EmojiStringRenderer,
|
|
34
|
+
FormulaStringRenderer,
|
|
35
|
+
HeadingLinesRenderer,
|
|
36
|
+
HtmlOnlyStringRenderer,
|
|
37
|
+
ImageStringRenderer,
|
|
38
|
+
PreformattedStringRenderer,
|
|
39
|
+
SpTypeStringRenderer,
|
|
40
|
+
VerbatimStringRenderer,
|
|
41
|
+
} from './descriptiontype.js'
|
|
42
|
+
import {
|
|
43
|
+
ListingTypeLinesRenderer,
|
|
44
|
+
HighlightTypeLinesRenderer,
|
|
45
|
+
} from './listingtype.js'
|
|
46
|
+
import { DocListTypeLinesRenderer } from './doclisttype.js'
|
|
47
|
+
import {
|
|
48
|
+
DocS1TypeLinesRenderer,
|
|
49
|
+
DocS2TypeLinesRenderer,
|
|
50
|
+
DocS3TypeLinesRenderer,
|
|
51
|
+
DocS4TypeLinesRenderer,
|
|
52
|
+
DocS5TypeLinesRenderer,
|
|
53
|
+
DocS6TypeLinesRenderer,
|
|
54
|
+
} from './docinternalstype.js'
|
|
55
|
+
import { DocTitleTypeLinesRenderer } from './doctitletype.js'
|
|
56
|
+
import {
|
|
57
|
+
DocVariableListTypeLinesRenderer,
|
|
58
|
+
VariableListPairLinesRenderer,
|
|
59
|
+
} from './docvariablelisttype.js'
|
|
60
|
+
import { DocXRefSectLinesRenderer as DocXRefSectStringRenderer } from './docxrefsecttype.js'
|
|
61
|
+
import { IncTypeLinesRenderer } from './inctype.js'
|
|
62
|
+
import { LinkedTextTypeStringRenderer } from './linkedtexttype.js'
|
|
63
|
+
import { ParamTypeLinesRenderer } from './paramtype.js'
|
|
64
|
+
import { RefTextTypeStringRenderer } from './reftexttype.js'
|
|
65
|
+
import { RefTypeLinesRenderer } from './reftype.js'
|
|
66
|
+
import type { Workspace } from '../workspace.js'
|
|
67
|
+
import { SubstringDocMarkupTypeRenderer } from './substringtype.js'
|
|
68
|
+
import {
|
|
69
|
+
DocCaptionLinesRenderer,
|
|
70
|
+
DocEntryTypeStringRenderer,
|
|
71
|
+
DocRowTypeLinesRenderer,
|
|
72
|
+
DocTableTypeLinesRenderer,
|
|
73
|
+
} from './doctabletype.js'
|
|
74
|
+
import { TocListLinesRenderer } from './tableofcontentstype.js'
|
|
75
|
+
import { ReferenceTypeStringRenderer } from './referencetype.js'
|
|
76
|
+
import type { DataModelElement } from '../../doxygen/data-model/types.js'
|
|
77
|
+
|
|
78
|
+
// ----------------------------------------------------------------------------
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Central registry and coordinator for all rendering functionality.
|
|
82
|
+
*
|
|
83
|
+
* The Renderers class manages the registration and lookup of specialised
|
|
84
|
+
* renderer objects that convert Doxygen data model elements into
|
|
85
|
+
* Docusaurus-compatible Markdown output.
|
|
86
|
+
*
|
|
87
|
+
* @public
|
|
88
|
+
*/
|
|
89
|
+
export class Renderers {
|
|
90
|
+
/** Map of element types to their corresponding line-based renderers. */
|
|
91
|
+
elementLinesRenderers = new Map<string, ElementLinesRendererBase>()
|
|
92
|
+
|
|
93
|
+
/** Map of element types to their corresponding string-based renderers. */
|
|
94
|
+
elementStringRenderers = new Map<string, ElementStringRendererBase>()
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Registers all available renderers with the rendering system.
|
|
98
|
+
*
|
|
99
|
+
* Initialises and maps all specialised renderer instances to their
|
|
100
|
+
* corresponding data model element types, enabling proper conversion
|
|
101
|
+
* of XML elements to Markdown format.
|
|
102
|
+
*
|
|
103
|
+
* @param workspace - The workspace context containing configuration and data.
|
|
104
|
+
*/
|
|
105
|
+
registerRenderers(workspace: Workspace): void {
|
|
106
|
+
// Add renderers for the parsed xml elements (in alphabetical order).
|
|
107
|
+
|
|
108
|
+
this.elementLinesRenderers.set(
|
|
109
|
+
'VariableListPairDataModel',
|
|
110
|
+
new VariableListPairLinesRenderer(workspace)
|
|
111
|
+
)
|
|
112
|
+
|
|
113
|
+
this.elementLinesRenderers.set(
|
|
114
|
+
'AbstractDescriptionType',
|
|
115
|
+
new DescriptionTypeLinesRenderer(workspace)
|
|
116
|
+
)
|
|
117
|
+
this.elementLinesRenderers.set(
|
|
118
|
+
'AbstractDocAnchorType',
|
|
119
|
+
new DocAnchorTypeLinesRenderer(workspace)
|
|
120
|
+
)
|
|
121
|
+
this.elementLinesRenderers.set(
|
|
122
|
+
'AbstractDocBlockQuoteType',
|
|
123
|
+
new BlockquoteLinesRenderer(workspace)
|
|
124
|
+
)
|
|
125
|
+
this.elementLinesRenderers.set(
|
|
126
|
+
'AbstractDocCaptionType',
|
|
127
|
+
new DocCaptionLinesRenderer(workspace)
|
|
128
|
+
)
|
|
129
|
+
this.elementLinesRenderers.set(
|
|
130
|
+
'AbstractDocHeadingType',
|
|
131
|
+
new HeadingLinesRenderer(workspace)
|
|
132
|
+
)
|
|
133
|
+
this.elementLinesRenderers.set(
|
|
134
|
+
'AbstractDocListType',
|
|
135
|
+
new DocListTypeLinesRenderer(workspace)
|
|
136
|
+
)
|
|
137
|
+
this.elementLinesRenderers.set(
|
|
138
|
+
'AbstractDocParamListType',
|
|
139
|
+
new DocParamListTypeLinesRenderer(workspace)
|
|
140
|
+
)
|
|
141
|
+
this.elementLinesRenderers.set(
|
|
142
|
+
'AbstractDocParaType',
|
|
143
|
+
new DocParaTypeLinesRenderer(workspace)
|
|
144
|
+
)
|
|
145
|
+
this.elementLinesRenderers.set(
|
|
146
|
+
'AbstractDocRowType',
|
|
147
|
+
new DocRowTypeLinesRenderer(workspace)
|
|
148
|
+
)
|
|
149
|
+
this.elementLinesRenderers.set(
|
|
150
|
+
'AbstractDocSect1Type',
|
|
151
|
+
new DocS1TypeLinesRenderer(workspace)
|
|
152
|
+
)
|
|
153
|
+
this.elementLinesRenderers.set(
|
|
154
|
+
'AbstractDocSect2Type',
|
|
155
|
+
new DocS2TypeLinesRenderer(workspace)
|
|
156
|
+
)
|
|
157
|
+
this.elementLinesRenderers.set(
|
|
158
|
+
'AbstractDocSect3Type',
|
|
159
|
+
new DocS3TypeLinesRenderer(workspace)
|
|
160
|
+
)
|
|
161
|
+
this.elementLinesRenderers.set(
|
|
162
|
+
'AbstractDocSect4Type',
|
|
163
|
+
new DocS4TypeLinesRenderer(workspace)
|
|
164
|
+
)
|
|
165
|
+
this.elementLinesRenderers.set(
|
|
166
|
+
'AbstractDocSect5Type',
|
|
167
|
+
new DocS5TypeLinesRenderer(workspace)
|
|
168
|
+
)
|
|
169
|
+
this.elementLinesRenderers.set(
|
|
170
|
+
'AbstractDocSect6Type',
|
|
171
|
+
new DocS6TypeLinesRenderer(workspace)
|
|
172
|
+
)
|
|
173
|
+
this.elementLinesRenderers.set(
|
|
174
|
+
'AbstractDocSimpleSectType',
|
|
175
|
+
new DocSimpleSectTypeLinesRenderer(workspace)
|
|
176
|
+
)
|
|
177
|
+
this.elementLinesRenderers.set(
|
|
178
|
+
'AbstractDocTableType',
|
|
179
|
+
new DocTableTypeLinesRenderer(workspace)
|
|
180
|
+
)
|
|
181
|
+
this.elementLinesRenderers.set(
|
|
182
|
+
'AbstractDocTitleType',
|
|
183
|
+
new DocTitleTypeLinesRenderer(workspace)
|
|
184
|
+
)
|
|
185
|
+
this.elementLinesRenderers.set(
|
|
186
|
+
'AbstractDocTocListType',
|
|
187
|
+
new TocListLinesRenderer(workspace)
|
|
188
|
+
)
|
|
189
|
+
this.elementLinesRenderers.set(
|
|
190
|
+
'AbstractDocVariableListType',
|
|
191
|
+
new DocVariableListTypeLinesRenderer(workspace)
|
|
192
|
+
)
|
|
193
|
+
this.elementLinesRenderers.set(
|
|
194
|
+
'AbstractDocXRefSectType',
|
|
195
|
+
new DocXRefSectStringRenderer(workspace)
|
|
196
|
+
)
|
|
197
|
+
this.elementLinesRenderers.set(
|
|
198
|
+
'AbstractHighlightType',
|
|
199
|
+
new HighlightTypeLinesRenderer(workspace)
|
|
200
|
+
)
|
|
201
|
+
this.elementLinesRenderers.set(
|
|
202
|
+
'AbstractIncType',
|
|
203
|
+
new IncTypeLinesRenderer(workspace)
|
|
204
|
+
)
|
|
205
|
+
this.elementLinesRenderers.set(
|
|
206
|
+
'AbstractListingTypeBase',
|
|
207
|
+
new ListingTypeLinesRenderer(workspace)
|
|
208
|
+
)
|
|
209
|
+
this.elementLinesRenderers.set(
|
|
210
|
+
'AbstractParamType',
|
|
211
|
+
new ParamTypeLinesRenderer(workspace)
|
|
212
|
+
)
|
|
213
|
+
this.elementLinesRenderers.set(
|
|
214
|
+
'AbstractProgramListingType',
|
|
215
|
+
new ListingTypeLinesRenderer(workspace)
|
|
216
|
+
)
|
|
217
|
+
this.elementLinesRenderers.set(
|
|
218
|
+
'AbstractRefType',
|
|
219
|
+
new RefTypeLinesRenderer(workspace)
|
|
220
|
+
)
|
|
221
|
+
// console.log(this.elementGenerators.size, 'element generators')
|
|
222
|
+
|
|
223
|
+
this.elementStringRenderers.set(
|
|
224
|
+
'ComputerOutputDataModel',
|
|
225
|
+
new ComputerOutputDataModelStringRenderer(workspace)
|
|
226
|
+
)
|
|
227
|
+
|
|
228
|
+
this.elementStringRenderers.set(
|
|
229
|
+
'AbstractDocEmptyType',
|
|
230
|
+
new DocEmptyTypeStringRenderer(workspace)
|
|
231
|
+
)
|
|
232
|
+
this.elementStringRenderers.set(
|
|
233
|
+
'AbstractDocEntryType',
|
|
234
|
+
new DocEntryTypeStringRenderer(workspace)
|
|
235
|
+
)
|
|
236
|
+
this.elementStringRenderers.set(
|
|
237
|
+
'AbstractEmojiType',
|
|
238
|
+
new EmojiStringRenderer(workspace)
|
|
239
|
+
)
|
|
240
|
+
this.elementStringRenderers.set(
|
|
241
|
+
'AbstractDocFormulaType',
|
|
242
|
+
new FormulaStringRenderer(workspace)
|
|
243
|
+
)
|
|
244
|
+
this.elementStringRenderers.set(
|
|
245
|
+
'AbstractDocHtmlOnlyType',
|
|
246
|
+
new HtmlOnlyStringRenderer(workspace)
|
|
247
|
+
)
|
|
248
|
+
this.elementStringRenderers.set(
|
|
249
|
+
'AbstractDocImageType',
|
|
250
|
+
new ImageStringRenderer(workspace)
|
|
251
|
+
)
|
|
252
|
+
this.elementStringRenderers.set(
|
|
253
|
+
'AbstractDocMarkupType',
|
|
254
|
+
new DocMarkupTypeStringRenderer(workspace)
|
|
255
|
+
)
|
|
256
|
+
this.elementStringRenderers.set(
|
|
257
|
+
'AbstractDocRefTextType',
|
|
258
|
+
new DocRefTextTypeStringRenderer(workspace)
|
|
259
|
+
)
|
|
260
|
+
this.elementStringRenderers.set(
|
|
261
|
+
'AbstractDocURLLink',
|
|
262
|
+
new DocURLLinkStringRenderer(workspace)
|
|
263
|
+
)
|
|
264
|
+
this.elementStringRenderers.set(
|
|
265
|
+
'AbstractLinkedTextType',
|
|
266
|
+
new LinkedTextTypeStringRenderer(workspace)
|
|
267
|
+
)
|
|
268
|
+
this.elementStringRenderers.set(
|
|
269
|
+
'AbstractPreformattedType',
|
|
270
|
+
new PreformattedStringRenderer(workspace)
|
|
271
|
+
)
|
|
272
|
+
this.elementStringRenderers.set(
|
|
273
|
+
'AbstractReferenceType',
|
|
274
|
+
new ReferenceTypeStringRenderer(workspace)
|
|
275
|
+
)
|
|
276
|
+
this.elementStringRenderers.set(
|
|
277
|
+
'AbstractRefTextType',
|
|
278
|
+
new RefTextTypeStringRenderer(workspace)
|
|
279
|
+
)
|
|
280
|
+
this.elementStringRenderers.set(
|
|
281
|
+
'AbstractSpType',
|
|
282
|
+
new SpTypeStringRenderer(workspace)
|
|
283
|
+
)
|
|
284
|
+
this.elementStringRenderers.set(
|
|
285
|
+
'AbstractVerbatimType',
|
|
286
|
+
new VerbatimStringRenderer(workspace)
|
|
287
|
+
)
|
|
288
|
+
this.elementStringRenderers.set(
|
|
289
|
+
'SubstringDocMarkupType',
|
|
290
|
+
new SubstringDocMarkupTypeRenderer(workspace)
|
|
291
|
+
)
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
/**
|
|
295
|
+
* Retrieves a line-based renderer for the specified element.
|
|
296
|
+
*
|
|
297
|
+
* @remarks
|
|
298
|
+
* Searches through the element's class hierarchy to find a registered
|
|
299
|
+
* line-based renderer. Uses prototype chain traversal to support
|
|
300
|
+
* inheritance-based renderer selection for abstract types.
|
|
301
|
+
*
|
|
302
|
+
* @param element - The element object to find a renderer for
|
|
303
|
+
* @returns The corresponding line-based renderer, or undefined if none found
|
|
304
|
+
*/
|
|
305
|
+
getElementLinesRenderer(
|
|
306
|
+
element: object
|
|
307
|
+
): ElementLinesRendererBase | undefined {
|
|
308
|
+
let elementClass = element.constructor
|
|
309
|
+
while (elementClass.name !== '') {
|
|
310
|
+
// console.log(elementClass.name)
|
|
311
|
+
// console.log(this.elementGenerators)
|
|
312
|
+
const elementGenerator = this.elementLinesRenderers.get(elementClass.name)
|
|
313
|
+
if (elementGenerator !== undefined) {
|
|
314
|
+
return elementGenerator
|
|
315
|
+
}
|
|
316
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
317
|
+
elementClass = Object.getPrototypeOf(elementClass)
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
return undefined
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
/**
|
|
324
|
+
* Retrieves a string-based renderer for the specified element.
|
|
325
|
+
*
|
|
326
|
+
* @remarks
|
|
327
|
+
* Searches through the element's class hierarchy to find a registered
|
|
328
|
+
* string-based renderer. Uses prototype chain traversal to support
|
|
329
|
+
* inheritance-based renderer selection for abstract types.
|
|
330
|
+
*
|
|
331
|
+
* @param element - The element object to find a renderer for
|
|
332
|
+
* @returns The corresponding string-based renderer, or undefined if not found
|
|
333
|
+
*/
|
|
334
|
+
getElementTextRenderer(
|
|
335
|
+
element: object
|
|
336
|
+
): ElementStringRendererBase | undefined {
|
|
337
|
+
let elementClass = element.constructor
|
|
338
|
+
while (elementClass.name !== '') {
|
|
339
|
+
// console.log(elementClass.name)
|
|
340
|
+
// console.log(this.elementGenerators)
|
|
341
|
+
const elementGenerator = this.elementStringRenderers.get(
|
|
342
|
+
elementClass.name
|
|
343
|
+
)
|
|
344
|
+
if (elementGenerator !== undefined) {
|
|
345
|
+
return elementGenerator
|
|
346
|
+
}
|
|
347
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
348
|
+
elementClass = Object.getPrototypeOf(elementClass)
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
return undefined
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
// --------------------------------------------------------------------------
|
|
355
|
+
|
|
356
|
+
/**
|
|
357
|
+
* Renders a string with appropriate escaping for the target format.
|
|
358
|
+
*
|
|
359
|
+
* @remarks
|
|
360
|
+
* Applies format-specific character escaping to ensure proper rendering
|
|
361
|
+
* in different output contexts. Handles HTML entity escaping for HTML
|
|
362
|
+
* output and Markdown character escaping for Markdown output.
|
|
363
|
+
*
|
|
364
|
+
* @param element - The string to render and escape
|
|
365
|
+
* @param type - The target format ('text', 'markdown', 'html')
|
|
366
|
+
* @returns The properly escaped string for the target format
|
|
367
|
+
*/
|
|
368
|
+
renderString(element: string, type: string): string {
|
|
369
|
+
if (type === 'text') {
|
|
370
|
+
return element
|
|
371
|
+
} else if (type === 'markdown') {
|
|
372
|
+
return element
|
|
373
|
+
.replaceAll(/&/g, '&')
|
|
374
|
+
.replaceAll(/</g, '<')
|
|
375
|
+
.replaceAll(/>/g, '>')
|
|
376
|
+
.replaceAll(/\\/g, '\\\\') // Must be placed before \[ \]
|
|
377
|
+
.replaceAll(/\[/g, '\\[')
|
|
378
|
+
.replaceAll(/\]/g, '\\]')
|
|
379
|
+
.replaceAll(/\*/g, '\\*') // Markdown for bold
|
|
380
|
+
.replaceAll(/_/g, '\\_') // Markdown for italics
|
|
381
|
+
.replaceAll(/~/g, '\\~') // Markdown for strikethrough in GFM
|
|
382
|
+
} else if (type === 'html') {
|
|
383
|
+
return element
|
|
384
|
+
.replaceAll(/&/g, '&')
|
|
385
|
+
.replaceAll(/</g, '<')
|
|
386
|
+
.replaceAll(/>/g, '>')
|
|
387
|
+
} else {
|
|
388
|
+
console.error('Unsupported type', type, 'in renderString')
|
|
389
|
+
return element
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
/**
|
|
394
|
+
* Renders an array of elements to formatted output lines.
|
|
395
|
+
*
|
|
396
|
+
* @remarks
|
|
397
|
+
* Processes each element in the array through the appropriate renderer
|
|
398
|
+
* and concatenates the resulting lines. Handles undefined arrays
|
|
399
|
+
* gracefully by returning empty arrays.
|
|
400
|
+
*
|
|
401
|
+
* @param elements - Array of elements to render, or undefined
|
|
402
|
+
* @param type - The rendering context type
|
|
403
|
+
* @returns Array of formatted output lines from all elements
|
|
404
|
+
*/
|
|
405
|
+
renderElementsArrayToLines(
|
|
406
|
+
elements: DataModelElement[] | undefined,
|
|
407
|
+
type: string
|
|
408
|
+
): string[] {
|
|
409
|
+
if (!Array.isArray(elements)) {
|
|
410
|
+
return []
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
const lines: string[] = []
|
|
414
|
+
|
|
415
|
+
for (const element of elements) {
|
|
416
|
+
lines.push(...this.renderElementToLines(element, type))
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
return lines
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
/**
|
|
423
|
+
* Renders a single element or element array to formatted output lines.
|
|
424
|
+
*
|
|
425
|
+
* @remarks
|
|
426
|
+
* Determines the appropriate renderer based on element type and delegates
|
|
427
|
+
* rendering. Handles strings, arrays, and objects with fallback logic
|
|
428
|
+
* between line and string renderers. Provides error handling for
|
|
429
|
+
* unrecognised element types.
|
|
430
|
+
*
|
|
431
|
+
* @param element - The element to render (single, array, or undefined)
|
|
432
|
+
* @param type - The rendering context type
|
|
433
|
+
* @returns Array of formatted output lines
|
|
434
|
+
*/
|
|
435
|
+
renderElementToLines(
|
|
436
|
+
element: DataModelElement | DataModelElement[] | undefined,
|
|
437
|
+
type: string
|
|
438
|
+
): string[] {
|
|
439
|
+
if (element === undefined) {
|
|
440
|
+
return []
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
if (typeof element === 'string') {
|
|
444
|
+
if (element.startsWith('\n')) {
|
|
445
|
+
return []
|
|
446
|
+
} else {
|
|
447
|
+
return [this.renderString(element, type)]
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
if (Array.isArray(element)) {
|
|
452
|
+
const lines: string[] = []
|
|
453
|
+
for (const elementOfArray of element) {
|
|
454
|
+
lines.push(...this.renderElementToLines(elementOfArray, type))
|
|
455
|
+
}
|
|
456
|
+
return lines
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
const linesRenderer: ElementLinesRendererBase | undefined =
|
|
460
|
+
this.getElementLinesRenderer(element)
|
|
461
|
+
if (linesRenderer !== undefined) {
|
|
462
|
+
return linesRenderer.renderToLines(element, type)
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
const textRenderer: ElementStringRendererBase | undefined =
|
|
466
|
+
this.getElementTextRenderer(element)
|
|
467
|
+
if (textRenderer !== undefined) {
|
|
468
|
+
return textRenderer.renderToString(element, type).split('\n')
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
console.error(util.inspect(element, { compact: false, depth: 999 }))
|
|
472
|
+
console.error(
|
|
473
|
+
'no element lines renderer for',
|
|
474
|
+
element.constructor.name,
|
|
475
|
+
'in',
|
|
476
|
+
this.constructor.name,
|
|
477
|
+
'renderElementToLines'
|
|
478
|
+
)
|
|
479
|
+
assert(false)
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
/**
|
|
483
|
+
* Renders an array of elements to a concatenated string.
|
|
484
|
+
*
|
|
485
|
+
* @remarks
|
|
486
|
+
* Processes each element in the array through string rendering and
|
|
487
|
+
* concatenates all results into a single string. Handles undefined
|
|
488
|
+
* arrays by returning empty strings.
|
|
489
|
+
*
|
|
490
|
+
* @param elements - Array of elements to render, or undefined
|
|
491
|
+
* @param type - The rendering context type
|
|
492
|
+
* @returns Concatenated string from all rendered elements
|
|
493
|
+
*/
|
|
494
|
+
renderElementsArrayToString(
|
|
495
|
+
elements: DataModelElement[] | undefined,
|
|
496
|
+
type: string
|
|
497
|
+
): string {
|
|
498
|
+
if (elements === undefined) {
|
|
499
|
+
return ''
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
let text = ''
|
|
503
|
+
for (const element of elements) {
|
|
504
|
+
text += this.renderElementToString(element, type)
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
return text
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
/**
|
|
511
|
+
* Renders a single element or element array to a formatted string.
|
|
512
|
+
*
|
|
513
|
+
* @remarks
|
|
514
|
+
* Determines the appropriate renderer based on element type and delegates
|
|
515
|
+
* string rendering. Prioritises string renderers over line renderers
|
|
516
|
+
* with fallback conversion. Handles strings, arrays, and objects with
|
|
517
|
+
* comprehensive error handling.
|
|
518
|
+
*
|
|
519
|
+
* @param element - The element to render (single, array, or undefined)
|
|
520
|
+
* @param type - The rendering context type
|
|
521
|
+
* @returns The formatted string representation
|
|
522
|
+
*/
|
|
523
|
+
renderElementToString(
|
|
524
|
+
element: DataModelElement | DataModelElement[] | undefined,
|
|
525
|
+
type: string
|
|
526
|
+
): string {
|
|
527
|
+
if (element === undefined) {
|
|
528
|
+
return ''
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
if (typeof element === 'string') {
|
|
532
|
+
return this.renderString(element, type)
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
if (Array.isArray(element)) {
|
|
536
|
+
let text = ''
|
|
537
|
+
for (const elementOfArray of element) {
|
|
538
|
+
text += this.renderElementToString(elementOfArray, type)
|
|
539
|
+
}
|
|
540
|
+
return text
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
const textRenderer: ElementStringRendererBase | undefined =
|
|
544
|
+
this.getElementTextRenderer(element)
|
|
545
|
+
if (textRenderer !== undefined) {
|
|
546
|
+
return textRenderer.renderToString(element, type)
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
// console.warn(
|
|
550
|
+
// 'trying element lines renderer for',
|
|
551
|
+
// element.constructor.name,
|
|
552
|
+
// 'in',
|
|
553
|
+
// this.constructor.name,
|
|
554
|
+
// 'renderElementToString'
|
|
555
|
+
// )
|
|
556
|
+
const linesRenderer: ElementLinesRendererBase | undefined =
|
|
557
|
+
this.getElementLinesRenderer(element)
|
|
558
|
+
if (linesRenderer !== undefined) {
|
|
559
|
+
return linesRenderer.renderToLines(element, type).join('\n')
|
|
560
|
+
}
|
|
561
|
+
|
|
562
|
+
console.error(util.inspect(element, { compact: false, depth: 999 }))
|
|
563
|
+
console.error(
|
|
564
|
+
'no element text renderer for',
|
|
565
|
+
element.constructor.name,
|
|
566
|
+
'in',
|
|
567
|
+
this.constructor.name,
|
|
568
|
+
'renderElementToString'
|
|
569
|
+
)
|
|
570
|
+
return ''
|
|
571
|
+
}
|
|
572
|
+
|
|
573
|
+
/**
|
|
574
|
+
* Renders a member index item to formatted HTML table rows.
|
|
575
|
+
*
|
|
576
|
+
* @remarks
|
|
577
|
+
* Generates HTML table rows for member documentation indices with
|
|
578
|
+
* support for templates, types, names, and descriptions. Creates
|
|
579
|
+
* structured layouts with appropriate CSS classes for consistent
|
|
580
|
+
* member presentation.
|
|
581
|
+
*
|
|
582
|
+
* @param params - Object containing member index rendering parameters
|
|
583
|
+
* @param params.template - Optional template text for member display
|
|
584
|
+
* @param params.type - Optional type information for the member
|
|
585
|
+
* @param params.name - The member name (required)
|
|
586
|
+
* @param params.childrenLines - Optional description lines for the member
|
|
587
|
+
* @returns Array of HTML table row strings
|
|
588
|
+
*/
|
|
589
|
+
renderMembersIndexItemToHtmlLines({
|
|
590
|
+
template,
|
|
591
|
+
type,
|
|
592
|
+
name,
|
|
593
|
+
childrenLines,
|
|
594
|
+
}: {
|
|
595
|
+
template?: string | undefined
|
|
596
|
+
type?: string | undefined
|
|
597
|
+
name: string
|
|
598
|
+
childrenLines?: string[] | undefined
|
|
599
|
+
}): string[] {
|
|
600
|
+
const lines: string[] = []
|
|
601
|
+
|
|
602
|
+
if (template !== undefined && template.length > 0) {
|
|
603
|
+
lines.push('<tr class="doxyMemberIndexTemplate">')
|
|
604
|
+
lines.push(
|
|
605
|
+
`<td class="doxyMemberIndexTemplate" colspan="2">` +
|
|
606
|
+
`<div>${template}</div></td>`
|
|
607
|
+
)
|
|
608
|
+
lines.push('</tr>')
|
|
609
|
+
|
|
610
|
+
lines.push('<tr class="doxyMemberIndexItem">')
|
|
611
|
+
if (type !== undefined && type.length > 0) {
|
|
612
|
+
lines.push(
|
|
613
|
+
`<td class="doxyMemberIndexItemTypeTemplate" align="left" ` +
|
|
614
|
+
`valign="top">${type}</td>`
|
|
615
|
+
)
|
|
616
|
+
lines.push(
|
|
617
|
+
`<td class="doxyMemberIndexItemNameTemplate" align="left" ` +
|
|
618
|
+
`valign="top">${name}</td>`
|
|
619
|
+
)
|
|
620
|
+
} else {
|
|
621
|
+
lines.push(
|
|
622
|
+
`<td class="doxyMemberIndexItemNoTypeNameTemplate" colspan="2"` +
|
|
623
|
+
` align="left" valign="top">${name}</td>`
|
|
624
|
+
)
|
|
625
|
+
}
|
|
626
|
+
lines.push('</tr>')
|
|
627
|
+
} else {
|
|
628
|
+
lines.push('<tr class="doxyMemberIndexItem">')
|
|
629
|
+
assert(type !== undefined)
|
|
630
|
+
lines.push(
|
|
631
|
+
`<td class="doxyMemberIndexItemType" align="left" valign="top">` +
|
|
632
|
+
`${type}</td>`
|
|
633
|
+
)
|
|
634
|
+
lines.push(
|
|
635
|
+
`<td class="doxyMemberIndexItemName" align="left" valign="top">` +
|
|
636
|
+
`${name}</td>`
|
|
637
|
+
)
|
|
638
|
+
lines.push('</tr>')
|
|
639
|
+
}
|
|
640
|
+
|
|
641
|
+
if (childrenLines !== undefined) {
|
|
642
|
+
lines.push('<tr class="doxyMemberIndexDescription">')
|
|
643
|
+
lines.push('<td class="doxyMemberIndexDescriptionLeft"></td>')
|
|
644
|
+
lines.push('<td class="doxyMemberIndexDescriptionRight">')
|
|
645
|
+
lines.push(...childrenLines)
|
|
646
|
+
lines.push('</td>')
|
|
647
|
+
lines.push('</tr>')
|
|
648
|
+
}
|
|
649
|
+
|
|
650
|
+
lines.push('<tr class="doxyMemberIndexSeparator">')
|
|
651
|
+
lines.push('<td class="doxyMemberIndexSeparator" colspan="2"></td>')
|
|
652
|
+
lines.push('</tr>')
|
|
653
|
+
|
|
654
|
+
return lines
|
|
655
|
+
}
|
|
656
|
+
|
|
657
|
+
/**
|
|
658
|
+
* Renders tree-structured data as HTML table with hierarchical display.
|
|
659
|
+
*
|
|
660
|
+
* @remarks
|
|
661
|
+
* Converts tree node structures into formatted HTML tables with
|
|
662
|
+
* predefined column layouts and CSS classes. Provides structured
|
|
663
|
+
* presentation for hierarchical data with consistent table markup
|
|
664
|
+
* and width-proportioned columns.
|
|
665
|
+
*
|
|
666
|
+
* @param params - Object containing tree table rendering parameters
|
|
667
|
+
* @param params.contentLines - Array of HTML content lines for table rows
|
|
668
|
+
* @returns Array of HTML table strings with wrapper markup
|
|
669
|
+
*/
|
|
670
|
+
renderTreeTableToHtmlLines({
|
|
671
|
+
contentLines,
|
|
672
|
+
}: {
|
|
673
|
+
contentLines: string[]
|
|
674
|
+
}): string[] {
|
|
675
|
+
const lines: string[] = []
|
|
676
|
+
|
|
677
|
+
lines.push('')
|
|
678
|
+
lines.push('<table class="doxyTreeTable">')
|
|
679
|
+
lines.push('<colgroup><col style="width:40%"><col></colgroup>')
|
|
680
|
+
|
|
681
|
+
lines.push(...contentLines)
|
|
682
|
+
|
|
683
|
+
lines.push('')
|
|
684
|
+
lines.push('</table>')
|
|
685
|
+
|
|
686
|
+
return lines
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
/**
|
|
690
|
+
* Renders individual tree table row with hierarchical styling and content.
|
|
691
|
+
*
|
|
692
|
+
* @remarks
|
|
693
|
+
* Generates HTML table rows for tree structures with depth-based
|
|
694
|
+
* indentation, icon support, and linked labels. Provides consistent
|
|
695
|
+
* formatting for tree node presentation including descriptions and
|
|
696
|
+
* visual hierarchy indicators.
|
|
697
|
+
*
|
|
698
|
+
* @param params - Object containing tree row rendering parameters
|
|
699
|
+
* @param params.itemIconLetter - Optional icon character for the item
|
|
700
|
+
* @param params.itemIconClass - Optional CSS class for icon styling
|
|
701
|
+
* @param params.itemLabel - The display label for the tree item
|
|
702
|
+
* @param params.itemLink - The URL link for the tree item
|
|
703
|
+
* @param params.depth - The hierarchical depth level (0-based)
|
|
704
|
+
* @param params.description - The descriptive text for the item
|
|
705
|
+
* @returns Array of HTML table row strings
|
|
706
|
+
*/
|
|
707
|
+
renderTreeTableRowToHtmlLines({
|
|
708
|
+
itemIconLetter,
|
|
709
|
+
itemIconClass,
|
|
710
|
+
itemLabel,
|
|
711
|
+
itemLink,
|
|
712
|
+
depth,
|
|
713
|
+
description,
|
|
714
|
+
}: {
|
|
715
|
+
itemIconLetter?: string
|
|
716
|
+
itemIconClass?: string
|
|
717
|
+
itemLabel: string
|
|
718
|
+
itemLink: string
|
|
719
|
+
depth: number
|
|
720
|
+
description: string
|
|
721
|
+
}): string[] {
|
|
722
|
+
const lines: string[] = []
|
|
723
|
+
|
|
724
|
+
lines.push('<tr class="doxyTreeItem">')
|
|
725
|
+
lines.push('<td class="doxyTreeItemLeft" align="left" valign="top">')
|
|
726
|
+
const depthStr = (depth * 12).toString()
|
|
727
|
+
lines.push(
|
|
728
|
+
`<span style="width: ${depthStr}px; display: inline-block;"></span>`
|
|
729
|
+
)
|
|
730
|
+
if (itemIconLetter !== undefined && itemIconLetter.length > 0) {
|
|
731
|
+
lines.push(
|
|
732
|
+
`<span class="doxyTreeIconBox">` +
|
|
733
|
+
`<span class="doxyTreeIcon">${itemIconLetter}</span>` +
|
|
734
|
+
`</span>`
|
|
735
|
+
)
|
|
736
|
+
}
|
|
737
|
+
if (itemIconClass !== undefined && itemIconClass.length > 0) {
|
|
738
|
+
lines.push(
|
|
739
|
+
`<a href="${itemLink}">` +
|
|
740
|
+
`<span class="${itemIconClass}">${itemLabel}</span>` +
|
|
741
|
+
`</a>`
|
|
742
|
+
)
|
|
743
|
+
} else {
|
|
744
|
+
lines.push(`<a href="${itemLink}">${itemLabel}</a>`)
|
|
745
|
+
}
|
|
746
|
+
lines.push('</td>')
|
|
747
|
+
lines.push('<td class="doxyTreeItemRight" align="left" valign="top">')
|
|
748
|
+
lines.push(description)
|
|
749
|
+
lines.push('</td>')
|
|
750
|
+
lines.push('</tr>')
|
|
751
|
+
|
|
752
|
+
return lines
|
|
753
|
+
}
|
|
754
|
+
}
|
|
755
|
+
|
|
756
|
+
// ----------------------------------------------------------------------------
|