@xpack/doxygen2docusaurus 1.1.0 → 2.0.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 (266) hide show
  1. package/README.md +3 -3
  2. package/dist/cli/main.d.ts +6 -0
  3. package/dist/cli/main.d.ts.map +1 -1
  4. package/dist/cli/main.js +7 -1
  5. package/dist/cli/main.js.map +1 -1
  6. package/dist/docusaurus/cli-options.d.ts +266 -38
  7. package/dist/docusaurus/cli-options.d.ts.map +1 -1
  8. package/dist/docusaurus/cli-options.js +252 -43
  9. package/dist/docusaurus/cli-options.js.map +1 -1
  10. package/dist/docusaurus/generator.d.ts +179 -4
  11. package/dist/docusaurus/generator.d.ts.map +1 -1
  12. package/dist/docusaurus/generator.js +215 -45
  13. package/dist/docusaurus/generator.js.map +1 -1
  14. package/dist/docusaurus/renderers/descriptiontype.d.ts +417 -0
  15. package/dist/docusaurus/renderers/descriptiontype.d.ts.map +1 -1
  16. package/dist/docusaurus/renderers/descriptiontype.js +417 -0
  17. package/dist/docusaurus/renderers/descriptiontype.js.map +1 -1
  18. package/dist/docusaurus/renderers/docinternalstype.d.ts +132 -0
  19. package/dist/docusaurus/renderers/docinternalstype.d.ts.map +1 -1
  20. package/dist/docusaurus/renderers/docinternalstype.js +132 -0
  21. package/dist/docusaurus/renderers/docinternalstype.js.map +1 -1
  22. package/dist/docusaurus/renderers/doclisttype.d.ts +22 -0
  23. package/dist/docusaurus/renderers/doclisttype.d.ts.map +1 -1
  24. package/dist/docusaurus/renderers/doclisttype.js +22 -2
  25. package/dist/docusaurus/renderers/doclisttype.js.map +1 -1
  26. package/dist/docusaurus/renderers/doctabletype.d.ts +88 -0
  27. package/dist/docusaurus/renderers/doctabletype.d.ts.map +1 -1
  28. package/dist/docusaurus/renderers/doctabletype.js +88 -0
  29. package/dist/docusaurus/renderers/doctabletype.js.map +1 -1
  30. package/dist/docusaurus/renderers/doctitletype.d.ts +22 -0
  31. package/dist/docusaurus/renderers/doctitletype.d.ts.map +1 -1
  32. package/dist/docusaurus/renderers/doctitletype.js +22 -0
  33. package/dist/docusaurus/renderers/doctitletype.js.map +1 -1
  34. package/dist/docusaurus/renderers/docvariablelisttype.d.ts +44 -0
  35. package/dist/docusaurus/renderers/docvariablelisttype.d.ts.map +1 -1
  36. package/dist/docusaurus/renderers/docvariablelisttype.js +44 -0
  37. package/dist/docusaurus/renderers/docvariablelisttype.js.map +1 -1
  38. package/dist/docusaurus/renderers/docxrefsecttype.d.ts +22 -0
  39. package/dist/docusaurus/renderers/docxrefsecttype.d.ts.map +1 -1
  40. package/dist/docusaurus/renderers/docxrefsecttype.js +22 -0
  41. package/dist/docusaurus/renderers/docxrefsecttype.js.map +1 -1
  42. package/dist/docusaurus/renderers/element-renderer-base.d.ts +74 -0
  43. package/dist/docusaurus/renderers/element-renderer-base.d.ts.map +1 -1
  44. package/dist/docusaurus/renderers/element-renderer-base.js +52 -0
  45. package/dist/docusaurus/renderers/element-renderer-base.js.map +1 -1
  46. package/dist/docusaurus/renderers/inctype.d.ts +23 -0
  47. package/dist/docusaurus/renderers/inctype.d.ts.map +1 -1
  48. package/dist/docusaurus/renderers/inctype.js +23 -0
  49. package/dist/docusaurus/renderers/inctype.js.map +1 -1
  50. package/dist/docusaurus/renderers/linkedtexttype.d.ts +22 -0
  51. package/dist/docusaurus/renderers/linkedtexttype.d.ts.map +1 -1
  52. package/dist/docusaurus/renderers/linkedtexttype.js +22 -0
  53. package/dist/docusaurus/renderers/linkedtexttype.js.map +1 -1
  54. package/dist/docusaurus/renderers/listingtype.d.ts +52 -0
  55. package/dist/docusaurus/renderers/listingtype.d.ts.map +1 -1
  56. package/dist/docusaurus/renderers/listingtype.js +66 -2
  57. package/dist/docusaurus/renderers/listingtype.js.map +1 -1
  58. package/dist/docusaurus/renderers/paramtype.d.ts +22 -0
  59. package/dist/docusaurus/renderers/paramtype.d.ts.map +1 -1
  60. package/dist/docusaurus/renderers/paramtype.js +22 -0
  61. package/dist/docusaurus/renderers/paramtype.js.map +1 -1
  62. package/dist/docusaurus/renderers/referencetype.d.ts +23 -0
  63. package/dist/docusaurus/renderers/referencetype.d.ts.map +1 -1
  64. package/dist/docusaurus/renderers/referencetype.js +23 -2
  65. package/dist/docusaurus/renderers/referencetype.js.map +1 -1
  66. package/dist/docusaurus/renderers/reftexttype.d.ts +22 -0
  67. package/dist/docusaurus/renderers/reftexttype.d.ts.map +1 -1
  68. package/dist/docusaurus/renderers/reftexttype.js +22 -0
  69. package/dist/docusaurus/renderers/reftexttype.js.map +1 -1
  70. package/dist/docusaurus/renderers/reftype.d.ts +22 -0
  71. package/dist/docusaurus/renderers/reftype.d.ts.map +1 -1
  72. package/dist/docusaurus/renderers/reftype.js +22 -0
  73. package/dist/docusaurus/renderers/reftype.js.map +1 -1
  74. package/dist/docusaurus/renderers/renderers.d.ts +151 -0
  75. package/dist/docusaurus/renderers/renderers.d.ts.map +1 -1
  76. package/dist/docusaurus/renderers/renderers.js +151 -0
  77. package/dist/docusaurus/renderers/renderers.js.map +1 -1
  78. package/dist/docusaurus/renderers/substringtype.d.ts +22 -0
  79. package/dist/docusaurus/renderers/substringtype.d.ts.map +1 -1
  80. package/dist/docusaurus/renderers/substringtype.js +22 -0
  81. package/dist/docusaurus/renderers/substringtype.js.map +1 -1
  82. package/dist/docusaurus/renderers/tableofcontentstype.d.ts +22 -0
  83. package/dist/docusaurus/renderers/tableofcontentstype.d.ts.map +1 -1
  84. package/dist/docusaurus/renderers/tableofcontentstype.js +22 -0
  85. package/dist/docusaurus/renderers/tableofcontentstype.js.map +1 -1
  86. package/dist/docusaurus/types.d.ts +114 -8
  87. package/dist/docusaurus/types.d.ts.map +1 -1
  88. package/dist/docusaurus/types.js.map +1 -1
  89. package/dist/docusaurus/utils.d.ts +214 -0
  90. package/dist/docusaurus/utils.d.ts.map +1 -1
  91. package/dist/docusaurus/utils.js +214 -0
  92. package/dist/docusaurus/utils.js.map +1 -1
  93. package/dist/docusaurus/view-model/classes-vm.d.ts +139 -2
  94. package/dist/docusaurus/view-model/classes-vm.d.ts.map +1 -1
  95. package/dist/docusaurus/view-model/classes-vm.js +147 -6
  96. package/dist/docusaurus/view-model/classes-vm.js.map +1 -1
  97. package/dist/docusaurus/view-model/collection-base.d.ts +122 -2
  98. package/dist/docusaurus/view-model/collection-base.d.ts.map +1 -1
  99. package/dist/docusaurus/view-model/collection-base.js +78 -0
  100. package/dist/docusaurus/view-model/collection-base.js.map +1 -1
  101. package/dist/docusaurus/view-model/compound-base-vm.d.ts +134 -19
  102. package/dist/docusaurus/view-model/compound-base-vm.d.ts.map +1 -1
  103. package/dist/docusaurus/view-model/compound-base-vm.js +122 -26
  104. package/dist/docusaurus/view-model/compound-base-vm.js.map +1 -1
  105. package/dist/docusaurus/view-model/description-anchors.d.ts +58 -0
  106. package/dist/docusaurus/view-model/description-anchors.d.ts.map +1 -1
  107. package/dist/docusaurus/view-model/description-anchors.js +58 -0
  108. package/dist/docusaurus/view-model/description-anchors.js.map +1 -1
  109. package/dist/docusaurus/view-model/files-and-folders-vm.d.ts +249 -2
  110. package/dist/docusaurus/view-model/files-and-folders-vm.d.ts.map +1 -1
  111. package/dist/docusaurus/view-model/files-and-folders-vm.js +250 -4
  112. package/dist/docusaurus/view-model/files-and-folders-vm.js.map +1 -1
  113. package/dist/docusaurus/view-model/groups-vm.d.ts +150 -2
  114. package/dist/docusaurus/view-model/groups-vm.d.ts.map +1 -1
  115. package/dist/docusaurus/view-model/groups-vm.js +153 -5
  116. package/dist/docusaurus/view-model/groups-vm.js.map +1 -1
  117. package/dist/docusaurus/view-model/members-vm.d.ts +552 -0
  118. package/dist/docusaurus/view-model/members-vm.d.ts.map +1 -1
  119. package/dist/docusaurus/view-model/members-vm.js +552 -4
  120. package/dist/docusaurus/view-model/members-vm.js.map +1 -1
  121. package/dist/docusaurus/view-model/namespaces-vm.d.ts +201 -2
  122. package/dist/docusaurus/view-model/namespaces-vm.d.ts.map +1 -1
  123. package/dist/docusaurus/view-model/namespaces-vm.js +202 -4
  124. package/dist/docusaurus/view-model/namespaces-vm.js.map +1 -1
  125. package/dist/docusaurus/view-model/options.d.ts +43 -0
  126. package/dist/docusaurus/view-model/options.d.ts.map +1 -1
  127. package/dist/docusaurus/view-model/options.js +43 -0
  128. package/dist/docusaurus/view-model/options.js.map +1 -1
  129. package/dist/docusaurus/view-model/pages-vm.d.ts +117 -2
  130. package/dist/docusaurus/view-model/pages-vm.d.ts.map +1 -1
  131. package/dist/docusaurus/view-model/pages-vm.js +119 -4
  132. package/dist/docusaurus/view-model/pages-vm.js.map +1 -1
  133. package/dist/docusaurus/view-model/tree-entries-vm.d.ts +135 -15
  134. package/dist/docusaurus/view-model/tree-entries-vm.d.ts.map +1 -1
  135. package/dist/docusaurus/view-model/tree-entries-vm.js +136 -16
  136. package/dist/docusaurus/view-model/tree-entries-vm.js.map +1 -1
  137. package/dist/docusaurus/view-model/view-model.d.ts +119 -0
  138. package/dist/docusaurus/view-model/view-model.d.ts.map +1 -1
  139. package/dist/docusaurus/view-model/view-model.js +119 -0
  140. package/dist/docusaurus/view-model/view-model.js.map +1 -1
  141. package/dist/docusaurus/workspace.d.ts +106 -0
  142. package/dist/docusaurus/workspace.d.ts.map +1 -1
  143. package/dist/docusaurus/workspace.js +107 -1
  144. package/dist/docusaurus/workspace.js.map +1 -1
  145. package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts +485 -0
  146. package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts.map +1 -1
  147. package/dist/doxygen/data-model/compounds/compounddef-dm.js +485 -0
  148. package/dist/doxygen/data-model/compounds/compounddef-dm.js.map +1 -1
  149. package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts +120 -0
  150. package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts.map +1 -1
  151. package/dist/doxygen/data-model/compounds/compoundreftype-dm.js +98 -0
  152. package/dist/doxygen/data-model/compounds/compoundreftype-dm.js.map +1 -1
  153. package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts +2705 -0
  154. package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts.map +1 -1
  155. package/dist/doxygen/data-model/compounds/descriptiontype-dm.js +2677 -47
  156. package/dist/doxygen/data-model/compounds/descriptiontype-dm.js.map +1 -1
  157. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts +165 -0
  158. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts.map +1 -1
  159. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js +165 -0
  160. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js.map +1 -1
  161. package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts +70 -0
  162. package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts.map +1 -1
  163. package/dist/doxygen/data-model/compounds/doxygentype-dm.js +70 -0
  164. package/dist/doxygen/data-model/compounds/doxygentype-dm.js.map +1 -1
  165. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts +78 -0
  166. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts.map +1 -1
  167. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js +78 -0
  168. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js.map +1 -1
  169. package/dist/doxygen/data-model/compounds/inctype-dm.d.ts +107 -0
  170. package/dist/doxygen/data-model/compounds/inctype-dm.d.ts.map +1 -1
  171. package/dist/doxygen/data-model/compounds/inctype-dm.js +107 -0
  172. package/dist/doxygen/data-model/compounds/inctype-dm.js.map +1 -1
  173. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts +123 -0
  174. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts.map +1 -1
  175. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js +123 -0
  176. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js.map +1 -1
  177. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts +70 -0
  178. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts.map +1 -1
  179. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js +70 -1
  180. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js.map +1 -1
  181. package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts +156 -0
  182. package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts.map +1 -1
  183. package/dist/doxygen/data-model/compounds/locationtype-dm.js +156 -5
  184. package/dist/doxygen/data-model/compounds/locationtype-dm.js.map +1 -1
  185. package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts +433 -0
  186. package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts.map +1 -1
  187. package/dist/doxygen/data-model/compounds/memberdeftype-dm.js +417 -6
  188. package/dist/doxygen/data-model/compounds/memberdeftype-dm.js.map +1 -1
  189. package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts +135 -0
  190. package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts.map +1 -1
  191. package/dist/doxygen/data-model/compounds/memberreftype-dm.js +136 -4
  192. package/dist/doxygen/data-model/compounds/memberreftype-dm.js.map +1 -1
  193. package/dist/doxygen/data-model/compounds/membertype-dm.d.ts +95 -0
  194. package/dist/doxygen/data-model/compounds/membertype-dm.d.ts.map +1 -1
  195. package/dist/doxygen/data-model/compounds/membertype-dm.js +76 -4
  196. package/dist/doxygen/data-model/compounds/membertype-dm.js.map +1 -1
  197. package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts +158 -0
  198. package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts.map +1 -1
  199. package/dist/doxygen/data-model/compounds/paramtype-dm.js +158 -1
  200. package/dist/doxygen/data-model/compounds/paramtype-dm.js.map +1 -1
  201. package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts +130 -0
  202. package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts.map +1 -1
  203. package/dist/doxygen/data-model/compounds/referencetype-dm.js +130 -2
  204. package/dist/doxygen/data-model/compounds/referencetype-dm.js.map +1 -1
  205. package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts +120 -0
  206. package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts.map +1 -1
  207. package/dist/doxygen/data-model/compounds/reftexttype-dm.js +106 -3
  208. package/dist/doxygen/data-model/compounds/reftexttype-dm.js.map +1 -1
  209. package/dist/doxygen/data-model/compounds/reftype-dm.d.ts +247 -0
  210. package/dist/doxygen/data-model/compounds/reftype-dm.d.ts.map +1 -1
  211. package/dist/doxygen/data-model/compounds/reftype-dm.js +247 -3
  212. package/dist/doxygen/data-model/compounds/reftype-dm.js.map +1 -1
  213. package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts +99 -0
  214. package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts.map +1 -1
  215. package/dist/doxygen/data-model/compounds/reimplementtype-dm.js +99 -2
  216. package/dist/doxygen/data-model/compounds/reimplementtype-dm.js.map +1 -1
  217. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts +159 -0
  218. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts.map +1 -1
  219. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js +159 -3
  220. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js.map +1 -1
  221. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts +255 -0
  222. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts.map +1 -1
  223. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js +255 -6
  224. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js.map +1 -1
  225. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts +60 -0
  226. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts.map +1 -1
  227. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js +60 -1
  228. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js.map +1 -1
  229. package/dist/doxygen/data-model/data-model.d.ts +86 -2
  230. package/dist/doxygen/data-model/data-model.d.ts.map +1 -1
  231. package/dist/doxygen/data-model/data-model.js +86 -4
  232. package/dist/doxygen/data-model/data-model.js.map +1 -1
  233. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts +109 -0
  234. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts.map +1 -1
  235. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js +84 -2
  236. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js.map +1 -1
  237. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts +81 -0
  238. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts.map +1 -1
  239. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js +81 -3
  240. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js.map +1 -1
  241. package/dist/doxygen/data-model/doxygen-xml-parser.d.ts +24 -7
  242. package/dist/doxygen/data-model/doxygen-xml-parser.d.ts.map +1 -1
  243. package/dist/doxygen/data-model/doxygen-xml-parser.js +24 -22
  244. package/dist/doxygen/data-model/doxygen-xml-parser.js.map +1 -1
  245. package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts +92 -0
  246. package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts.map +1 -1
  247. package/dist/doxygen/data-model/index/indexcompoundtype-dm.js +79 -2
  248. package/dist/doxygen/data-model/index/indexcompoundtype-dm.js.map +1 -1
  249. package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts +76 -0
  250. package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts.map +1 -1
  251. package/dist/doxygen/data-model/index/indexdoxygentype-dm.js +76 -3
  252. package/dist/doxygen/data-model/index/indexdoxygentype-dm.js.map +1 -1
  253. package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts +79 -0
  254. package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts.map +1 -1
  255. package/dist/doxygen/data-model/index/indexmembertype-dm.js +66 -2
  256. package/dist/doxygen/data-model/index/indexmembertype-dm.js.map +1 -1
  257. package/dist/doxygen/data-model/types.d.ts +96 -1
  258. package/dist/doxygen/data-model/types.d.ts.map +1 -1
  259. package/dist/doxygen/data-model/types.js +37 -0
  260. package/dist/doxygen/data-model/types.js.map +1 -1
  261. package/dist/doxygen2docusaurus.d.ts +3675 -48
  262. package/package.json +9 -6
  263. /package/{template → templates}/css/custom.css +0 -0
  264. /package/{template → templates}/img/README.md +0 -0
  265. /package/{template → templates}/img/document-svgrepo-com.svg +0 -0
  266. /package/{template → templates}/img/folder-svgrepo-com.svg +0 -0
@@ -78,16 +78,90 @@ export const sectionHeaders = {
78
78
  'user-defined': ['Definitions', 1000],
79
79
  };
80
80
  // ----------------------------------------------------------------------------
81
+ /**
82
+ * Represents a documentation section containing member definitions and
83
+ * references.
84
+ *
85
+ * @remarks
86
+ * Sections organise related members (functions, variables, types, etc.) within
87
+ * compounds, providing structured grouping based on visibility, type, and
88
+ * functionality. Each section manages both member definitions and references
89
+ * to members defined elsewhere.
90
+ *
91
+ * @public
92
+ */
81
93
  export class Section {
94
+ /**
95
+ * The parent compound containing this section.
96
+ *
97
+ * @remarks
98
+ * References the compound (class, namespace, file, etc.) that owns
99
+ * this section for context and rendering operations.
100
+ */
82
101
  compound;
102
+ /**
103
+ * The section kind identifier from Doxygen.
104
+ *
105
+ * @remarks
106
+ * Specifies the type of section (e.g., 'public-func', 'private-attrib',
107
+ * 'typedef') which determines member organisation and display headers.
108
+ */
83
109
  kind;
110
+ /**
111
+ * The display header name for this section.
112
+ *
113
+ * @remarks
114
+ * Human-readable section title derived from the kind, used for
115
+ * generating section headers in the documentation output.
116
+ */
84
117
  headerName;
118
+ /**
119
+ * Optional section description lines in HTML format.
120
+ *
121
+ * @remarks
122
+ * Contains processed description content for sections that include
123
+ * additional explanatory text beyond the standard header.
124
+ */
85
125
  descriptionLines;
86
- // Both references and definitions.
126
+ /**
127
+ * All members in this section including references and definitions.
128
+ *
129
+ * @remarks
130
+ * Contains both member definitions and member references in their
131
+ * original order, used for generating member indices and overviews.
132
+ */
87
133
  indexMembers = [];
88
- // Only definitions.
134
+ /**
135
+ * Only member definitions in this section, sorted alphabetically.
136
+ *
137
+ * @remarks
138
+ * Filtered collection containing only actual member definitions
139
+ * (not references), sorted by name for detailed documentation rendering.
140
+ */
89
141
  definitionMembers = [];
142
+ /**
143
+ * Private data available only during initialisation.
144
+ *
145
+ * @remarks
146
+ * Temporary storage for section definition data that is cleared
147
+ * after late initialisation to reduce memory usage.
148
+ *
149
+ * @internal
150
+ */
90
151
  _private = {};
152
+ /**
153
+ * Initialises a new Section instance from section definition data.
154
+ *
155
+ * @remarks
156
+ * Processes the section metadata, creates member instances, and organises
157
+ * them into appropriate collections for index and definition rendering.
158
+ * Members are sorted alphabetically for consistent documentation output.
159
+ *
160
+ * @param compound - The parent compound containing this section
161
+ * @param sectionDef - The section definition containing member data
162
+ *
163
+ * @public
164
+ */
91
165
  constructor(compound, sectionDef) {
92
166
  // console.log(compound.kind, compound.compoundName, sectionDef.kind)
93
167
  this._private._sectionDef = sectionDef;
@@ -121,6 +195,16 @@ export class Section {
121
195
  // Sorted.
122
196
  this.definitionMembers = definitionMembers.sort((a, b) => a.name.localeCompare(b.name));
123
197
  }
198
+ /**
199
+ * Performs late initialisation for section descriptions.
200
+ *
201
+ * @remarks
202
+ * Processes optional section descriptions into HTML format for rendering.
203
+ * This method is called after all basic initialisation is complete to
204
+ * ensure proper workspace context for description processing.
205
+ *
206
+ * @public
207
+ */
124
208
  initializeLate() {
125
209
  const { workspace } = this.compound.collection;
126
210
  assert(this._private._sectionDef !== undefined);
@@ -130,6 +214,18 @@ export class Section {
130
214
  // console.log(this.indexMembers, this.descriptionLines)
131
215
  }
132
216
  }
217
+ /**
218
+ * Determines if this section contains any member definitions.
219
+ *
220
+ * @remarks
221
+ * Checks whether the section has actual member definitions (not just
222
+ * references) that require detailed documentation rendering. Used to
223
+ * filter sections for output generation.
224
+ *
225
+ * @returns True if the section contains member definitions, false otherwise
226
+ *
227
+ * @public
228
+ */
133
229
  hasDefinitionMembers() {
134
230
  return this.definitionMembers.length > 0;
135
231
  }
@@ -174,6 +270,20 @@ export class Section {
174
270
  // <xsd:enumeration value="var" />
175
271
  // </xsd:restriction>
176
272
  // </xsd:simpleType>
273
+ /**
274
+ * Determines the display header name for a section based on its kind.
275
+ *
276
+ * @remarks
277
+ * Maps Doxygen section kinds to human-readable header names, handling
278
+ * both standard section types and user-defined sections with custom
279
+ * headers. Falls back to predefined section headers from the global
280
+ * mapping table.
281
+ *
282
+ * @param sectionDef - The section definition containing kind and header data
283
+ * @returns The formatted header name for display
284
+ *
285
+ * @private
286
+ */
177
287
  getHeaderNameByKind(sectionDef) {
178
288
  // User defined sections have their own header.
179
289
  const { header, kind } = sectionDef;
@@ -197,6 +307,19 @@ export class Section {
197
307
  }
198
308
  return sectionHeader[0].trim();
199
309
  }
310
+ /**
311
+ * Determines the display order for this section based on its kind.
312
+ *
313
+ * @remarks
314
+ * Returns a numeric order value used for sorting sections consistently
315
+ * in documentation output. User-defined sections are placed at the end
316
+ * with order 1000, while predefined sections use values from the global
317
+ * mapping table.
318
+ *
319
+ * @returns Numeric order value for section sorting
320
+ *
321
+ * @public
322
+ */
200
323
  getSectionOrderByKind() {
201
324
  const { kind } = this;
202
325
  if (kind === 'user-defined') {
@@ -208,6 +331,18 @@ export class Section {
208
331
  return header[1];
209
332
  }
210
333
  // --------------------------------------------------------------------------
334
+ /**
335
+ * Renders the section index to HTML table lines.
336
+ *
337
+ * @remarks
338
+ * Generates an HTML table containing all members in this section with
339
+ * their signatures and brief descriptions. Both member definitions and
340
+ * references are included in the index for comprehensive overview.
341
+ *
342
+ * @returns Array of HTML lines representing the section index
343
+ *
344
+ * @public
345
+ */
211
346
  renderIndexToLines() {
212
347
  const lines = [];
213
348
  // console.log(sectionDef)
@@ -232,6 +367,18 @@ export class Section {
232
367
  return lines;
233
368
  }
234
369
  // --------------------------------------------------------------------------
370
+ /**
371
+ * Renders the complete section documentation to HTML lines.
372
+ *
373
+ * @remarks
374
+ * Generates detailed section documentation including header, optional
375
+ * description, and full member definitions. Only sections with member
376
+ * definitions are rendered, ensuring meaningful content output.
377
+ *
378
+ * @returns Array of HTML lines representing the complete section
379
+ *
380
+ * @public
381
+ */
235
382
  renderToLines() {
236
383
  const lines = [];
237
384
  if (!this.hasDefinitionMembers()) {
@@ -258,43 +405,282 @@ export class Section {
258
405
  }
259
406
  }
260
407
  // ----------------------------------------------------------------------------
408
+ /**
409
+ * Base class for member instances providing common functionality.
410
+ *
411
+ * @remarks
412
+ * Provides shared properties and methods for both member definitions and
413
+ * member references, establishing a common interface for member handling
414
+ * throughout the documentation generation process.
415
+ *
416
+ * @internal
417
+ */
261
418
  class MemberBase {
419
+ /**
420
+ * The parent section containing this member.
421
+ *
422
+ * @remarks
423
+ * References the section that owns this member for context and
424
+ * access to compound and workspace information.
425
+ */
262
426
  section;
427
+ /**
428
+ * The member name identifier.
429
+ *
430
+ * @remarks
431
+ * Base name of the member used for identification and documentation
432
+ * generation across different member types.
433
+ */
263
434
  name;
435
+ /**
436
+ * Initialises a new MemberBase instance.
437
+ *
438
+ * @remarks
439
+ * Establishes the basic member properties required for all member types,
440
+ * providing foundation for both definitions and references.
441
+ *
442
+ * @param section - The parent section containing this member
443
+ * @param name - The member name identifier
444
+ *
445
+ * @protected
446
+ */
264
447
  constructor(section, name) {
265
448
  this.section = section;
266
449
  this.name = name;
267
450
  }
451
+ /**
452
+ * Performs late initialisation for members.
453
+ *
454
+ * @remarks
455
+ * Base implementation is intentionally empty, allowing subclasses to
456
+ * override with specific initialisation logic as needed.
457
+ *
458
+ * @public
459
+ */
268
460
  // Intentionally left blank for subclasses to override.
269
461
  // eslint-disable-next-line @typescript-eslint/no-empty-function
270
462
  initializeLate() { }
271
463
  }
464
+ /**
465
+ * Represents a complete member definition with full documentation.
466
+ *
467
+ * @remarks
468
+ * Contains comprehensive member information including documentation,
469
+ * signatures, location data, and rendering capabilities. Handles
470
+ * various member types such as functions, variables, enums, and
471
+ * typedefs with their specific documentation requirements.
472
+ *
473
+ * @public
474
+ */
272
475
  export class Member extends MemberBase {
476
+ /**
477
+ * Unique identifier for this member.
478
+ *
479
+ * @remarks
480
+ * Doxygen-generated unique ID used for cross-references, permalinks,
481
+ * and member lookup operations throughout the documentation.
482
+ */
273
483
  id;
484
+ /**
485
+ * The member kind from Doxygen classification.
486
+ *
487
+ * @remarks
488
+ * Specifies the type of member (e.g., 'function', 'variable', 'enum',
489
+ * 'typedef') which determines rendering and documentation behaviour.
490
+ */
274
491
  kind;
492
+ /**
493
+ * Brief description in HTML format.
494
+ *
495
+ * @remarks
496
+ * Optional short description of the member, processed into HTML for
497
+ * display in indices and member overviews.
498
+ */
275
499
  briefDescriptionHtmlString;
500
+ /**
501
+ * Detailed description lines in HTML format.
502
+ *
503
+ * @remarks
504
+ * Comprehensive member documentation including parameters, return values,
505
+ * examples, and detailed explanations processed into HTML lines.
506
+ */
276
507
  detailedDescriptionHtmlLines;
508
+ /**
509
+ * Function argument string from Doxygen.
510
+ *
511
+ * @remarks
512
+ * Contains the complete function signature arguments including types,
513
+ * names, and default values for function-type members.
514
+ */
277
515
  argsstring;
516
+ /**
517
+ * Fully qualified member name.
518
+ *
519
+ * @remarks
520
+ * Complete qualified name including namespace and class scope,
521
+ * used for accurate member identification and documentation.
522
+ */
278
523
  qualifiedName;
524
+ /**
525
+ * Member definition string from Doxygen.
526
+ *
527
+ * @remarks
528
+ * Complete member definition including type, qualifiers, and signature,
529
+ * used for generating accurate member documentation and prototypes.
530
+ */
279
531
  definition;
532
+ /**
533
+ * Member type information in HTML format.
534
+ *
535
+ * @remarks
536
+ * Type specification for the member including template parameters and
537
+ * qualifiers, processed into HTML for documentation display.
538
+ */
280
539
  type;
281
- // Markdown, since it may include constructs like []().
540
+ /**
541
+ * Member initialiser lines in HTML format.
542
+ *
543
+ * @remarks
544
+ * Variable or constant initialisation values, processed into HTML lines
545
+ * for display in member documentation and indices.
546
+ */
282
547
  initializerHtmlLines;
548
+ /**
549
+ * Location information in Markdown format.
550
+ *
551
+ * @remarks
552
+ * File and line number information for the member definition,
553
+ * formatted as Markdown for documentation display.
554
+ */
283
555
  locationMarkdownLines;
556
+ /**
557
+ * Template parameters string.
558
+ *
559
+ * @remarks
560
+ * Template parameter specification for template members, formatted
561
+ * for display in member documentation headers.
562
+ */
284
563
  templateParameters;
564
+ /**
565
+ * Enumeration values in HTML format.
566
+ *
567
+ * @remarks
568
+ * For enum members, contains the formatted enumeration values table
569
+ * with descriptions, processed into HTML lines.
570
+ */
285
571
  enumHtmlLines;
572
+ /**
573
+ * Function parameters in HTML format.
574
+ *
575
+ * @remarks
576
+ * For function members, contains the processed parameter list with
577
+ * types and names formatted as HTML string.
578
+ */
286
579
  parametersHtmlString;
580
+ /**
581
+ * Program listing for inline code display.
582
+ *
583
+ * @remarks
584
+ * When enabled, contains the source code excerpt for the member
585
+ * definition for inline documentation display.
586
+ */
287
587
  programListing;
588
+ /**
589
+ * Cross-references to members that reference this member.
590
+ *
591
+ * @remarks
592
+ * Markdown-formatted list of members and locations that reference
593
+ * this member, providing reverse lookup capabilities.
594
+ */
288
595
  referencedByMarkdownString;
596
+ /**
597
+ * Cross-references to members referenced by this member.
598
+ *
599
+ * @remarks
600
+ * Markdown-formatted list of members and locations referenced by
601
+ * this member, providing forward lookup capabilities.
602
+ */
289
603
  referencesMarkdownString;
604
+ /**
605
+ * Enumeration values for enum members.
606
+ *
607
+ * @remarks
608
+ * For enumeration members, contains the collection of enum values
609
+ * with their documentation and initialiser values.
610
+ */
290
611
  enumValues;
612
+ /**
613
+ * Collection of member attribute labels.
614
+ *
615
+ * @remarks
616
+ * Contains labels such as 'static', 'inline', 'virtual', 'const' that
617
+ * are displayed as badges in the member documentation.
618
+ */
291
619
  labels = [];
620
+ /**
621
+ * Indicates if the member uses trailing return type syntax.
622
+ *
623
+ * @remarks
624
+ * For C++ functions with trailing return types (auto func() -> Type),
625
+ * affects how the member signature is formatted in documentation.
626
+ */
292
627
  isTrailingType = false;
628
+ /**
629
+ * Indicates if the member is declared as constexpr.
630
+ *
631
+ * @remarks
632
+ * True for constexpr members, affects display formatting and
633
+ * documentation generation for compile-time constants.
634
+ */
293
635
  isConstexpr = false;
636
+ /**
637
+ * Indicates if the member is a strong enum.
638
+ *
639
+ * @remarks
640
+ * True for enum class declarations, affects how enumeration
641
+ * documentation is formatted and displayed.
642
+ */
294
643
  isStrong = false;
644
+ /**
645
+ * Indicates if the member is declared as const.
646
+ *
647
+ * @remarks
648
+ * True for const members, affects member signature display
649
+ * and documentation formatting.
650
+ */
295
651
  isConst = false;
652
+ /**
653
+ * Indicates if the member is declared as static.
654
+ *
655
+ * @remarks
656
+ * True for static members, affects member organisation,
657
+ * display formatting, and section classification.
658
+ */
296
659
  isStatic = false;
660
+ /**
661
+ * Private data available only during initialisation.
662
+ *
663
+ * @remarks
664
+ * Temporary storage for member definition data that is cleared
665
+ * after late initialisation to reduce memory usage.
666
+ *
667
+ * @internal
668
+ */
297
669
  _private = {};
670
+ /**
671
+ * Initialises a new Member instance from member definition data.
672
+ *
673
+ * @remarks
674
+ * Creates a member instance with basic identification information.
675
+ * Full initialisation occurs later during the initializeLate phase
676
+ * when workspace context is available for processing descriptions
677
+ * and cross-references.
678
+ *
679
+ * @param section - The parent section containing this member
680
+ * @param memberDef - The member definition containing member metadata
681
+ *
682
+ * @public
683
+ */
298
684
  constructor(section, memberDef) {
299
685
  super(section, memberDef.name);
300
686
  this._private._memberDef = memberDef;
@@ -302,6 +688,17 @@ export class Member extends MemberBase {
302
688
  this.id = id;
303
689
  this.kind = kind;
304
690
  }
691
+ /**
692
+ * Performs comprehensive late initialisation for member documentation.
693
+ *
694
+ * @remarks
695
+ * Processes member descriptions, signatures, location data, cross-references,
696
+ * and rendering properties. This method transforms raw Doxygen data into
697
+ * formatted HTML content ready for documentation generation. It handles
698
+ * template parameters, enumeration values, and various member attributes.
699
+ *
700
+ * @public
701
+ */
305
702
  initializeLate() {
306
703
  super.initializeLate();
307
704
  const { _memberDef: memberDef } = this._private;
@@ -434,6 +831,19 @@ export class Member extends MemberBase {
434
831
  // Clear the reference, it is no longer needed.
435
832
  this._private._memberDef = undefined;
436
833
  }
834
+ /**
835
+ * Filters program listing content for a specific member location.
836
+ *
837
+ * @remarks
838
+ * Extracts relevant source code lines from file program listings based on
839
+ * member location data. Creates a filtered program listing containing only
840
+ * the code relevant to this specific member for inline documentation display.
841
+ *
842
+ * @param location - The location data containing file and line information
843
+ * @returns Filtered program listing or undefined if unavailable
844
+ *
845
+ * @private
846
+ */
437
847
  filterProgramListingForLocation(location) {
438
848
  // console.log(location)
439
849
  const { workspace } = this.section.compound.collection;
@@ -493,6 +903,19 @@ export class Member extends MemberBase {
493
903
  return programListing;
494
904
  }
495
905
  // --------------------------------------------------------------------------
906
+ /**
907
+ * Renders the member index entry to HTML table lines.
908
+ *
909
+ * @remarks
910
+ * Generates a formatted HTML table row for member index display, including
911
+ * member signature, type information, template parameters, and brief
912
+ * description. The format varies based on member kind (function, variable,
913
+ * enum, typedef, etc.) to provide appropriate representation.
914
+ *
915
+ * @returns Array of HTML lines representing the member index entry
916
+ *
917
+ * @public
918
+ */
496
919
  renderIndexToLines() {
497
920
  // console.log(util.inspect(this, { compact: false, depth: 999 }))
498
921
  const lines = [];
@@ -671,6 +1094,19 @@ export class Member extends MemberBase {
671
1094
  return lines;
672
1095
  }
673
1096
  // --------------------------------------------------------------------------
1097
+ /**
1098
+ * Renders the complete member documentation to HTML lines.
1099
+ *
1100
+ * @remarks
1101
+ * Generates comprehensive member documentation including header, signature,
1102
+ * template parameters, descriptions, initialisers, and cross-references.
1103
+ * The output format varies based on member type to provide appropriate
1104
+ * documentation structure for functions, variables, enums, and other members.
1105
+ *
1106
+ * @returns Array of HTML lines representing the complete member documentation
1107
+ *
1108
+ * @public
1109
+ */
674
1110
  renderToLines() {
675
1111
  const lines = [];
676
1112
  const workspace = this.section.compound.collection.workspace;
@@ -891,6 +1327,20 @@ export class Member extends MemberBase {
891
1327
  }
892
1328
  return lines;
893
1329
  }
1330
+ /**
1331
+ * Renders a member definition with prototype and documentation.
1332
+ *
1333
+ * @remarks
1334
+ * Generates the HTML structure for displaying member definitions including
1335
+ * template parameters, prototype signature, attribute labels, and detailed
1336
+ * documentation content. Uses Doxygen-compatible CSS classes for styling.
1337
+ *
1338
+ * @param options - Rendering options including template, prototype, labels,
1339
+ * and content
1340
+ * @returns Array of HTML lines representing the member definition
1341
+ *
1342
+ * @private
1343
+ */
894
1344
  renderMemberDefinitionToLines({ template, prototype, labels, childrenLines, }) {
895
1345
  const lines = [];
896
1346
  lines.push('<div class="doxyMemberItem">');
@@ -927,6 +1377,19 @@ export class Member extends MemberBase {
927
1377
  return lines;
928
1378
  }
929
1379
  // --------------------------------------------------------------------------
1380
+ /**
1381
+ * Renders enumeration values to HTML table lines.
1382
+ *
1383
+ * @remarks
1384
+ * Generates a formatted HTML table displaying all enumeration values with
1385
+ * their names, descriptions, and initialiser values. Each enum value
1386
+ * includes an anchor for direct linking and proper formatting for
1387
+ * documentation display.
1388
+ *
1389
+ * @returns Array of HTML lines representing the enumeration values table
1390
+ *
1391
+ * @private
1392
+ */
930
1393
  renderEnumToLines() {
931
1394
  const lines = [];
932
1395
  lines.push('');
@@ -970,9 +1433,37 @@ export class Member extends MemberBase {
970
1433
  }
971
1434
  }
972
1435
  // ----------------------------------------------------------------------------
1436
+ /**
1437
+ * Represents a reference to a member defined elsewhere.
1438
+ *
1439
+ * @remarks
1440
+ * Member references point to actual member definitions in other compounds,
1441
+ * allowing for cross-referencing and inclusion in multiple contexts without
1442
+ * duplicating the complete member definition data.
1443
+ *
1444
+ * @public
1445
+ */
973
1446
  export class MemberRef extends MemberBase {
974
- // memberRef: MemberDataModel
1447
+ /**
1448
+ * Reference ID pointing to the actual member definition.
1449
+ *
1450
+ * @remarks
1451
+ * Unique identifier used to locate the referenced member definition
1452
+ * in the global members collection for rendering and cross-referencing.
1453
+ */
975
1454
  refid;
1455
+ /**
1456
+ * Initialises a new MemberRef instance from member reference data.
1457
+ *
1458
+ * @remarks
1459
+ * Creates a lightweight reference to a member defined elsewhere, storing
1460
+ * only the essential information needed for lookups and cross-references.
1461
+ *
1462
+ * @param section - The parent section containing this member reference
1463
+ * @param memberRef - The member reference data containing reference ID
1464
+ *
1465
+ * @public
1466
+ */
976
1467
  constructor(section, memberRef) {
977
1468
  super(section, memberRef.name);
978
1469
  // this.memberRef = memberRef
@@ -981,12 +1472,69 @@ export class MemberRef extends MemberBase {
981
1472
  }
982
1473
  }
983
1474
  // ----------------------------------------------------------------------------
1475
+ /**
1476
+ * Represents an individual enumeration value with documentation.
1477
+ *
1478
+ * @remarks
1479
+ * Contains the name, description, and initialiser value for enumeration
1480
+ * entries, providing complete documentation support for enum constants
1481
+ * including cross-referencing and detailed descriptions.
1482
+ *
1483
+ * @public
1484
+ */
984
1485
  export class EnumValue {
1486
+ /**
1487
+ * The enumeration value name.
1488
+ *
1489
+ * @remarks
1490
+ * Identifier name of the enumeration constant as declared in the source code.
1491
+ */
985
1492
  name;
1493
+ /**
1494
+ * Unique identifier for this enumeration value.
1495
+ *
1496
+ * @remarks
1497
+ * Doxygen-generated unique ID used for cross-references and anchor
1498
+ * generation in the documentation.
1499
+ */
986
1500
  id;
1501
+ /**
1502
+ * Brief description in HTML format.
1503
+ *
1504
+ * @remarks
1505
+ * Optional description of the enumeration value, processed into HTML
1506
+ * for display in enumeration tables and documentation.
1507
+ */
987
1508
  briefDescriptionHtmlString;
1509
+ /**
1510
+ * Initialiser value in HTML format.
1511
+ *
1512
+ * @remarks
1513
+ * The assigned value for the enumeration constant, if explicitly specified,
1514
+ * formatted as HTML for documentation display.
1515
+ */
988
1516
  initializerHtmlString;
1517
+ /**
1518
+ * Reference to the parent enumeration member.
1519
+ *
1520
+ * @remarks
1521
+ * Back-reference to the Member instance that contains this enumeration
1522
+ * value, providing access to parent context and workspace information.
1523
+ */
989
1524
  member;
1525
+ /**
1526
+ * Initialises a new EnumValue instance from enumeration value data.
1527
+ *
1528
+ * @remarks
1529
+ * Processes the enumeration value metadata including name, description,
1530
+ * and initialiser value, converting them into appropriate HTML format
1531
+ * for documentation rendering.
1532
+ *
1533
+ * @param member - The parent enumeration member
1534
+ * @param enumValue - The enumeration value data from Doxygen
1535
+ *
1536
+ * @public
1537
+ */
990
1538
  constructor(member, enumValue) {
991
1539
  this.member = member;
992
1540
  this.name = enumValue.name.trim();