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