@xpack/doxygen2docusaurus 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (350) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +2 -1
  3. package/bin/doxygen2docusaurus.js +1 -1
  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/descriptiontype.d.ts +0 -417
  17. package/dist/docusaurus/renderers/descriptiontype.d.ts.map +1 -1
  18. package/dist/docusaurus/renderers/descriptiontype.js +11 -555
  19. package/dist/docusaurus/renderers/descriptiontype.js.map +1 -1
  20. package/dist/docusaurus/renderers/docinternalstype.d.ts +0 -132
  21. package/dist/docusaurus/renderers/docinternalstype.d.ts.map +1 -1
  22. package/dist/docusaurus/renderers/docinternalstype.js +0 -156
  23. package/dist/docusaurus/renderers/docinternalstype.js.map +1 -1
  24. package/dist/docusaurus/renderers/doclisttype.d.ts +0 -22
  25. package/dist/docusaurus/renderers/doclisttype.d.ts.map +1 -1
  26. package/dist/docusaurus/renderers/doclisttype.js +0 -42
  27. package/dist/docusaurus/renderers/doclisttype.js.map +1 -1
  28. package/dist/docusaurus/renderers/doctabletype.d.ts +0 -88
  29. package/dist/docusaurus/renderers/doctabletype.d.ts.map +1 -1
  30. package/dist/docusaurus/renderers/doctabletype.js +1 -113
  31. package/dist/docusaurus/renderers/doctabletype.js.map +1 -1
  32. package/dist/docusaurus/renderers/doctitletype.d.ts +0 -22
  33. package/dist/docusaurus/renderers/doctitletype.d.ts.map +1 -1
  34. package/dist/docusaurus/renderers/doctitletype.js +0 -42
  35. package/dist/docusaurus/renderers/doctitletype.js.map +1 -1
  36. package/dist/docusaurus/renderers/docvariablelisttype.d.ts +0 -44
  37. package/dist/docusaurus/renderers/docvariablelisttype.d.ts.map +1 -1
  38. package/dist/docusaurus/renderers/docvariablelisttype.js +1 -69
  39. package/dist/docusaurus/renderers/docvariablelisttype.js.map +1 -1
  40. package/dist/docusaurus/renderers/docxrefsecttype.d.ts +0 -22
  41. package/dist/docusaurus/renderers/docxrefsecttype.d.ts.map +1 -1
  42. package/dist/docusaurus/renderers/docxrefsecttype.js +0 -38
  43. package/dist/docusaurus/renderers/docxrefsecttype.js.map +1 -1
  44. package/dist/docusaurus/renderers/element-renderer-base.d.ts +0 -74
  45. package/dist/docusaurus/renderers/element-renderer-base.d.ts.map +1 -1
  46. package/dist/docusaurus/renderers/element-renderer-base.js +0 -64
  47. package/dist/docusaurus/renderers/element-renderer-base.js.map +1 -1
  48. package/dist/docusaurus/renderers/inctype.d.ts +0 -23
  49. package/dist/docusaurus/renderers/inctype.d.ts.map +1 -1
  50. package/dist/docusaurus/renderers/inctype.js +0 -41
  51. package/dist/docusaurus/renderers/inctype.js.map +1 -1
  52. package/dist/docusaurus/renderers/linkedtexttype.d.ts +0 -22
  53. package/dist/docusaurus/renderers/linkedtexttype.d.ts.map +1 -1
  54. package/dist/docusaurus/renderers/linkedtexttype.js +0 -45
  55. package/dist/docusaurus/renderers/linkedtexttype.js.map +1 -1
  56. package/dist/docusaurus/renderers/listingtype.d.ts +0 -52
  57. package/dist/docusaurus/renderers/listingtype.d.ts.map +1 -1
  58. package/dist/docusaurus/renderers/listingtype.js +1 -88
  59. package/dist/docusaurus/renderers/listingtype.js.map +1 -1
  60. package/dist/docusaurus/renderers/paramtype.d.ts +0 -22
  61. package/dist/docusaurus/renderers/paramtype.d.ts.map +1 -1
  62. package/dist/docusaurus/renderers/paramtype.js +2 -51
  63. package/dist/docusaurus/renderers/paramtype.js.map +1 -1
  64. package/dist/docusaurus/renderers/referencetype.d.ts +0 -23
  65. package/dist/docusaurus/renderers/referencetype.d.ts.map +1 -1
  66. package/dist/docusaurus/renderers/referencetype.js +0 -38
  67. package/dist/docusaurus/renderers/referencetype.js.map +1 -1
  68. package/dist/docusaurus/renderers/reftexttype.d.ts +0 -22
  69. package/dist/docusaurus/renderers/reftexttype.d.ts.map +1 -1
  70. package/dist/docusaurus/renderers/reftexttype.js +0 -38
  71. package/dist/docusaurus/renderers/reftexttype.js.map +1 -1
  72. package/dist/docusaurus/renderers/reftype.d.ts +0 -22
  73. package/dist/docusaurus/renderers/reftype.d.ts.map +1 -1
  74. package/dist/docusaurus/renderers/reftype.js +0 -38
  75. package/dist/docusaurus/renderers/reftype.js.map +1 -1
  76. package/dist/docusaurus/renderers/renderers.d.ts +0 -151
  77. package/dist/docusaurus/renderers/renderers.d.ts.map +1 -1
  78. package/dist/docusaurus/renderers/renderers.js +4 -184
  79. package/dist/docusaurus/renderers/renderers.js.map +1 -1
  80. package/dist/docusaurus/renderers/substringtype.d.ts +0 -22
  81. package/dist/docusaurus/renderers/substringtype.d.ts.map +1 -1
  82. package/dist/docusaurus/renderers/substringtype.js +0 -39
  83. package/dist/docusaurus/renderers/substringtype.js.map +1 -1
  84. package/dist/docusaurus/renderers/tableofcontentstype.d.ts +0 -22
  85. package/dist/docusaurus/renderers/tableofcontentstype.d.ts.map +1 -1
  86. package/dist/docusaurus/renderers/tableofcontentstype.js +0 -39
  87. package/dist/docusaurus/renderers/tableofcontentstype.js.map +1 -1
  88. package/dist/docusaurus/types.d.ts +0 -110
  89. package/dist/docusaurus/types.d.ts.map +1 -1
  90. package/dist/docusaurus/types.js +0 -11
  91. package/dist/docusaurus/types.js.map +1 -1
  92. package/dist/docusaurus/utils.d.ts +0 -214
  93. package/dist/docusaurus/utils.d.ts.map +1 -1
  94. package/dist/docusaurus/utils.js +0 -296
  95. package/dist/docusaurus/utils.js.map +1 -1
  96. package/dist/docusaurus/view-model/classes-vm.d.ts +0 -137
  97. package/dist/docusaurus/view-model/classes-vm.d.ts.map +1 -1
  98. package/dist/docusaurus/view-model/classes-vm.js +9 -225
  99. package/dist/docusaurus/view-model/classes-vm.js.map +1 -1
  100. package/dist/docusaurus/view-model/collection-base.d.ts +0 -120
  101. package/dist/docusaurus/view-model/collection-base.d.ts.map +1 -1
  102. package/dist/docusaurus/view-model/collection-base.js +11 -101
  103. package/dist/docusaurus/view-model/collection-base.js.map +1 -1
  104. package/dist/docusaurus/view-model/compound-base-vm.d.ts +2 -147
  105. package/dist/docusaurus/view-model/compound-base-vm.d.ts.map +1 -1
  106. package/dist/docusaurus/view-model/compound-base-vm.js +47 -225
  107. package/dist/docusaurus/view-model/compound-base-vm.js.map +1 -1
  108. package/dist/docusaurus/view-model/concepts-vm.d.ts +26 -0
  109. package/dist/docusaurus/view-model/concepts-vm.d.ts.map +1 -0
  110. package/dist/docusaurus/view-model/concepts-vm.js +329 -0
  111. package/dist/docusaurus/view-model/concepts-vm.js.map +1 -0
  112. package/dist/docusaurus/view-model/description-anchors.d.ts +0 -58
  113. package/dist/docusaurus/view-model/description-anchors.d.ts.map +1 -1
  114. package/dist/docusaurus/view-model/description-anchors.js +0 -71
  115. package/dist/docusaurus/view-model/description-anchors.js.map +1 -1
  116. package/dist/docusaurus/view-model/files-and-folders-vm.d.ts +0 -247
  117. package/dist/docusaurus/view-model/files-and-folders-vm.d.ts.map +1 -1
  118. package/dist/docusaurus/view-model/files-and-folders-vm.js +61 -353
  119. package/dist/docusaurus/view-model/files-and-folders-vm.js.map +1 -1
  120. package/dist/docusaurus/view-model/groups-vm.d.ts +0 -148
  121. package/dist/docusaurus/view-model/groups-vm.d.ts.map +1 -1
  122. package/dist/docusaurus/view-model/groups-vm.js +2 -223
  123. package/dist/docusaurus/view-model/groups-vm.js.map +1 -1
  124. package/dist/docusaurus/view-model/members-vm.d.ts +0 -552
  125. package/dist/docusaurus/view-model/members-vm.d.ts.map +1 -1
  126. package/dist/docusaurus/view-model/members-vm.js +17 -702
  127. package/dist/docusaurus/view-model/members-vm.js.map +1 -1
  128. package/dist/docusaurus/view-model/namespaces-vm.d.ts +4 -199
  129. package/dist/docusaurus/view-model/namespaces-vm.d.ts.map +1 -1
  130. package/dist/docusaurus/view-model/namespaces-vm.js +79 -284
  131. package/dist/docusaurus/view-model/namespaces-vm.js.map +1 -1
  132. package/dist/docusaurus/view-model/options.d.ts +0 -43
  133. package/dist/docusaurus/view-model/options.d.ts.map +1 -1
  134. package/dist/docusaurus/view-model/options.js +0 -57
  135. package/dist/docusaurus/view-model/options.js.map +1 -1
  136. package/dist/docusaurus/view-model/pages-vm.d.ts +0 -115
  137. package/dist/docusaurus/view-model/pages-vm.d.ts.map +1 -1
  138. package/dist/docusaurus/view-model/pages-vm.js +0 -162
  139. package/dist/docusaurus/view-model/pages-vm.js.map +1 -1
  140. package/dist/docusaurus/view-model/tree-entries-vm.d.ts +8 -142
  141. package/dist/docusaurus/view-model/tree-entries-vm.d.ts.map +1 -1
  142. package/dist/docusaurus/view-model/tree-entries-vm.js +54 -174
  143. package/dist/docusaurus/view-model/tree-entries-vm.js.map +1 -1
  144. package/dist/docusaurus/view-model/view-model.d.ts +0 -125
  145. package/dist/docusaurus/view-model/view-model.d.ts.map +1 -1
  146. package/dist/docusaurus/view-model/view-model.js +20 -182
  147. package/dist/docusaurus/view-model/view-model.js.map +1 -1
  148. package/dist/docusaurus/workspace.d.ts +1 -126
  149. package/dist/docusaurus/workspace.d.ts.map +1 -1
  150. package/dist/docusaurus/workspace.js +8 -221
  151. package/dist/docusaurus/workspace.js.map +1 -1
  152. package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts +5 -492
  153. package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts.map +1 -1
  154. package/dist/doxygen/data-model/compounds/compounddef-dm.js +23 -672
  155. package/dist/doxygen/data-model/compounds/compounddef-dm.js.map +1 -1
  156. package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts +0 -129
  157. package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts.map +1 -1
  158. package/dist/doxygen/data-model/compounds/compoundreftype-dm.js +1 -145
  159. package/dist/doxygen/data-model/compounds/compoundreftype-dm.js.map +1 -1
  160. package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts +104 -2848
  161. package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts.map +1 -1
  162. package/dist/doxygen/data-model/compounds/descriptiontype-dm.js +73 -3975
  163. package/dist/doxygen/data-model/compounds/descriptiontype-dm.js.map +1 -1
  164. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts +0 -165
  165. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts.map +1 -1
  166. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js +0 -229
  167. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js.map +1 -1
  168. package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts +0 -70
  169. package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts.map +1 -1
  170. package/dist/doxygen/data-model/compounds/doxygentype-dm.js +0 -105
  171. package/dist/doxygen/data-model/compounds/doxygentype-dm.js.map +1 -1
  172. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts +0 -84
  173. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts.map +1 -1
  174. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js +1 -122
  175. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js.map +1 -1
  176. package/dist/doxygen/data-model/compounds/inctype-dm.d.ts +0 -116
  177. package/dist/doxygen/data-model/compounds/inctype-dm.d.ts.map +1 -1
  178. package/dist/doxygen/data-model/compounds/inctype-dm.js +3 -155
  179. package/dist/doxygen/data-model/compounds/inctype-dm.js.map +1 -1
  180. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts +3 -138
  181. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts.map +1 -1
  182. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js +5 -180
  183. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js.map +1 -1
  184. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts +0 -76
  185. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts.map +1 -1
  186. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js +0 -107
  187. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js.map +1 -1
  188. package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts +0 -162
  189. package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts.map +1 -1
  190. package/dist/doxygen/data-model/compounds/locationtype-dm.js +4 -203
  191. package/dist/doxygen/data-model/compounds/locationtype-dm.js.map +1 -1
  192. package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts +2 -443
  193. package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts.map +1 -1
  194. package/dist/doxygen/data-model/compounds/memberdeftype-dm.js +19 -475
  195. package/dist/doxygen/data-model/compounds/memberdeftype-dm.js.map +1 -1
  196. package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts +0 -141
  197. package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts.map +1 -1
  198. package/dist/doxygen/data-model/compounds/memberreftype-dm.js +0 -176
  199. package/dist/doxygen/data-model/compounds/memberreftype-dm.js.map +1 -1
  200. package/dist/doxygen/data-model/compounds/membertype-dm.d.ts +0 -101
  201. package/dist/doxygen/data-model/compounds/membertype-dm.d.ts.map +1 -1
  202. package/dist/doxygen/data-model/compounds/membertype-dm.js +0 -115
  203. package/dist/doxygen/data-model/compounds/membertype-dm.js.map +1 -1
  204. package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts +0 -164
  205. package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts.map +1 -1
  206. package/dist/doxygen/data-model/compounds/paramtype-dm.js +0 -208
  207. package/dist/doxygen/data-model/compounds/paramtype-dm.js.map +1 -1
  208. package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts +0 -139
  209. package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts.map +1 -1
  210. package/dist/doxygen/data-model/compounds/referencetype-dm.js +2 -175
  211. package/dist/doxygen/data-model/compounds/referencetype-dm.js.map +1 -1
  212. package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts +0 -120
  213. package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts.map +1 -1
  214. package/dist/doxygen/data-model/compounds/reftexttype-dm.js +2 -141
  215. package/dist/doxygen/data-model/compounds/reftexttype-dm.js.map +1 -1
  216. package/dist/doxygen/data-model/compounds/reftype-dm.d.ts +0 -268
  217. package/dist/doxygen/data-model/compounds/reftype-dm.d.ts.map +1 -1
  218. package/dist/doxygen/data-model/compounds/reftype-dm.js +4 -326
  219. package/dist/doxygen/data-model/compounds/reftype-dm.js.map +1 -1
  220. package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts +0 -105
  221. package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts.map +1 -1
  222. package/dist/doxygen/data-model/compounds/reimplementtype-dm.js +1 -139
  223. package/dist/doxygen/data-model/compounds/reimplementtype-dm.js.map +1 -1
  224. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts +0 -168
  225. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts.map +1 -1
  226. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js +0 -209
  227. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js.map +1 -1
  228. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts +0 -267
  229. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts.map +1 -1
  230. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js +0 -354
  231. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js.map +1 -1
  232. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts +0 -66
  233. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts.map +1 -1
  234. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js +0 -97
  235. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js.map +1 -1
  236. package/dist/doxygen/data-model/data-model.d.ts +0 -149
  237. package/dist/doxygen/data-model/data-model.d.ts.map +1 -1
  238. package/dist/doxygen/data-model/data-model.js +4 -197
  239. package/dist/doxygen/data-model/data-model.js.map +1 -1
  240. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts +0 -115
  241. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts.map +1 -1
  242. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js +4 -129
  243. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js.map +1 -1
  244. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts +0 -87
  245. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts.map +1 -1
  246. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js +0 -118
  247. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js.map +1 -1
  248. package/dist/doxygen/data-model/doxygen-xml-parser.d.ts +0 -253
  249. package/dist/doxygen/data-model/doxygen-xml-parser.d.ts.map +1 -1
  250. package/dist/doxygen/data-model/doxygen-xml-parser.js +0 -291
  251. package/dist/doxygen/data-model/doxygen-xml-parser.js.map +1 -1
  252. package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts +0 -98
  253. package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts.map +1 -1
  254. package/dist/doxygen/data-model/index/indexcompoundtype-dm.js +2 -122
  255. package/dist/doxygen/data-model/index/indexcompoundtype-dm.js.map +1 -1
  256. package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts +0 -82
  257. package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts.map +1 -1
  258. package/dist/doxygen/data-model/index/indexdoxygentype-dm.js +0 -114
  259. package/dist/doxygen/data-model/index/indexdoxygentype-dm.js.map +1 -1
  260. package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts +0 -85
  261. package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts.map +1 -1
  262. package/dist/doxygen/data-model/index/indexmembertype-dm.js +1 -107
  263. package/dist/doxygen/data-model/index/indexmembertype-dm.js.map +1 -1
  264. package/dist/doxygen/data-model/types.d.ts +0 -104
  265. package/dist/doxygen/data-model/types.d.ts.map +1 -1
  266. package/dist/doxygen/data-model/types.js +0 -52
  267. package/dist/doxygen/data-model/types.js.map +1 -1
  268. package/dist/index.d.ts +4 -16
  269. package/dist/index.d.ts.map +1 -1
  270. package/dist/index.js +4 -42
  271. package/dist/index.js.map +1 -1
  272. package/package.json +45 -51
  273. package/src/cli/main.ts +122 -0
  274. package/src/docusaurus/cli-options.ts +560 -0
  275. package/src/docusaurus/generator.ts +788 -0
  276. package/src/docusaurus/renderers/descriptiontype.ts +1299 -0
  277. package/src/docusaurus/renderers/docinternalstype.ts +354 -0
  278. package/src/docusaurus/renderers/doclisttype.ts +134 -0
  279. package/src/docusaurus/renderers/doctabletype.ts +220 -0
  280. package/src/docusaurus/renderers/doctitletype.ts +77 -0
  281. package/src/docusaurus/renderers/docvariablelisttype.ts +123 -0
  282. package/src/docusaurus/renderers/docxrefsecttype.ts +84 -0
  283. package/src/docusaurus/renderers/element-renderer-base.ts +112 -0
  284. package/src/docusaurus/renderers/inctype.ts +75 -0
  285. package/src/docusaurus/renderers/linkedtexttype.ts +64 -0
  286. package/src/docusaurus/renderers/listingtype.ts +235 -0
  287. package/src/docusaurus/renderers/paramtype.ts +116 -0
  288. package/src/docusaurus/renderers/referencetype.ts +83 -0
  289. package/src/docusaurus/renderers/reftexttype.ts +81 -0
  290. package/src/docusaurus/renderers/reftype.ts +77 -0
  291. package/src/docusaurus/renderers/renderers.ts +756 -0
  292. package/src/docusaurus/renderers/substringtype.ts +53 -0
  293. package/src/docusaurus/renderers/tableofcontentstype.ts +74 -0
  294. package/src/docusaurus/types.ts +187 -0
  295. package/src/docusaurus/utils.ts +409 -0
  296. package/src/docusaurus/view-model/README.md +12 -0
  297. package/src/docusaurus/view-model/classes-vm.ts +1088 -0
  298. package/src/docusaurus/view-model/collection-base.ts +352 -0
  299. package/src/docusaurus/view-model/compound-base-vm.ts +1340 -0
  300. package/src/docusaurus/view-model/concepts-vm.ts +719 -0
  301. package/src/docusaurus/view-model/description-anchors.ts +107 -0
  302. package/src/docusaurus/view-model/files-and-folders-vm.ts +1293 -0
  303. package/src/docusaurus/view-model/groups-vm.ts +548 -0
  304. package/src/docusaurus/view-model/members-vm.ts +1943 -0
  305. package/src/docusaurus/view-model/namespaces-vm.ts +1018 -0
  306. package/src/docusaurus/view-model/options.ts +95 -0
  307. package/src/docusaurus/view-model/pages-vm.ts +342 -0
  308. package/src/docusaurus/view-model/tree-entries-vm.ts +376 -0
  309. package/src/docusaurus/view-model/view-model.ts +513 -0
  310. package/src/docusaurus/workspace.ts +588 -0
  311. package/src/doxygen/data-model/README.md +13 -0
  312. package/src/doxygen/data-model/compounds/compounddef-dm.ts +1156 -0
  313. package/src/doxygen/data-model/compounds/compoundreftype-dm.ts +266 -0
  314. package/src/doxygen/data-model/compounds/descriptiontype-dm.ts +10107 -0
  315. package/src/doxygen/data-model/compounds/docvarlistentrytype-dm.ts +354 -0
  316. package/src/doxygen/data-model/compounds/doxygentype-dm.ts +187 -0
  317. package/src/doxygen/data-model/compounds/enumvaluetype-dm.ts +218 -0
  318. package/src/doxygen/data-model/compounds/inctype-dm.ts +217 -0
  319. package/src/doxygen/data-model/compounds/linkedtexttype-dm.ts +288 -0
  320. package/src/doxygen/data-model/compounds/listofallmemberstype-dm.ts +160 -0
  321. package/src/doxygen/data-model/compounds/locationtype-dm.ts +284 -0
  322. package/src/doxygen/data-model/compounds/memberdeftype-dm.ts +874 -0
  323. package/src/doxygen/data-model/compounds/memberreftype-dm.ts +270 -0
  324. package/src/doxygen/data-model/compounds/membertype-dm.ts +239 -0
  325. package/src/doxygen/data-model/compounds/paramtype-dm.ts +302 -0
  326. package/src/doxygen/data-model/compounds/referencetype-dm.ts +248 -0
  327. package/src/doxygen/data-model/compounds/reftexttype-dm.ts +234 -0
  328. package/src/doxygen/data-model/compounds/reftype-dm.ts +430 -0
  329. package/src/doxygen/data-model/compounds/reimplementtype-dm.ts +201 -0
  330. package/src/doxygen/data-model/compounds/sectiondeftype-dm.ts +330 -0
  331. package/src/doxygen/data-model/compounds/tableofcontentstype-dm.ts +563 -0
  332. package/src/doxygen/data-model/compounds/templateparamlisttype-dm.ts +150 -0
  333. package/src/doxygen/data-model/data-model.ts +377 -0
  334. package/src/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.ts +271 -0
  335. package/src/doxygen/data-model/doxyfile/doxyfiletype-dm.ts +200 -0
  336. package/src/doxygen/data-model/doxygen-xml-parser.ts +522 -0
  337. package/src/doxygen/data-model/index/indexcompoundtype-dm.ts +256 -0
  338. package/src/doxygen/data-model/index/indexdoxygentype-dm.ts +196 -0
  339. package/src/doxygen/data-model/index/indexmembertype-dm.ts +230 -0
  340. package/src/doxygen/data-model/types.ts +175 -0
  341. package/src/doxygen/data-model/xsds/README.md +6 -0
  342. package/src/doxygen/data-model/xsds/compound.xsd +1699 -0
  343. package/src/doxygen/data-model/xsds/doxyfile.xsd +355 -0
  344. package/src/doxygen/data-model/xsds/index.xsd +72 -0
  345. package/src/doxygen/data-model/xsds/xml.xsd +23 -0
  346. package/src/index.ts +261 -0
  347. package/src/tsconfig.json +10 -0
  348. package/dist/doxygen2docusaurus.d.ts +0 -4774
  349. package/dist/tsconfig.tsbuildinfo +0 -1
  350. package/dist/tsdoc-metadata.json +0 -11
@@ -1,14 +1,3 @@
1
- /*
2
- * This file is part of the xPack project (http://xpack.github.io).
3
- * Copyright (c) 2025 Liviu Ionescu. All rights reserved.
4
- *
5
- * Permission to use, copy, modify, and/or distribute this software
6
- * for any purpose is hereby granted, under the terms of the MIT license.
7
- *
8
- * If a copy of the license was not distributed with this file, it can
9
- * be obtained from https://opensource.org/licenses/MIT.
10
- */
11
- // ----------------------------------------------------------------------------
12
1
  import * as util from 'node:util';
13
2
  import assert from 'node:assert';
14
3
  import { IncludedByDataModel, IncludesDataModel } from './inctype-dm.js';
@@ -17,77 +6,36 @@ import { TemplateParamListDataModel } from './templateparamlisttype-dm.js';
17
6
  import { SectionDefDataModel } from './sectiondeftype-dm.js';
18
7
  import { ListOfAllMembersDataModel } from './listofallmemberstype-dm.js';
19
8
  import { AbstractStringType, BriefDescriptionDataModel, DetailedDescriptionDataModel, ParaDataModel, ProgramListingDataModel, Sect5DataModel, } from './descriptiontype-dm.js';
20
- import { InnerClassDataModel, InnerDirDataModel, InnerFileDataModel, InnerGroupDataModel, InnerNamespaceDataModel, InnerPageDataModel, } from './reftype-dm.js';
9
+ import { InnerClassDataModel, InnerConceptDataModel, InnerDirDataModel, InnerFileDataModel, InnerGroupDataModel, InnerNamespaceDataModel, InnerPageDataModel, } from './reftype-dm.js';
21
10
  import { LocationDataModel } from './locationtype-dm.js';
22
11
  import { AbstractDataModelBase } from '../types.js';
23
12
  import { TableOfContentsDataModel } from './tableofcontentstype-dm.js';
24
- // ----------------------------------------------------------------------------
25
- /**
26
- * Abstract template class for creating new data model objects.
27
- *
28
- * @remarks
29
- * This template provides a standardised structure for implementing new
30
- * data model types with common properties and processing patterns. It
31
- * demonstrates the typical XML parsing approach used throughout the
32
- * Doxygen data model implementation, including element and attribute
33
- * processing workflows.
34
- *
35
- * @public
36
- */
37
- // Template, to be used for creating new objects.
13
+ import { InitializerDataModel, RequiresClauseDataModel, } from './linkedtexttype-dm.js';
38
14
  export class AbstractXyzType extends AbstractDataModelBase {
39
- // If the object has a text.
40
15
  text = '';
41
- // Mandatory elements.
42
16
  compoundName = '';
43
17
  colsCount = NaN;
44
18
  elm12 = false;
45
- // elm13: BriefDescriptionDataModel
46
- // Optional elements.
47
19
  elm20;
48
20
  elm21;
49
21
  elm22;
50
22
  briefDescription;
51
23
  includes;
52
- // Mandatory attributes.
53
24
  id = '';
54
25
  rowsCount = NaN;
55
26
  thead = false;
56
- // Optional attributes.
57
27
  language;
58
28
  final;
59
29
  lineno;
60
30
  attr23;
61
- // ------------------------------------------
62
- // children: Array<string | ParaDataModel | Sect5DataModel> = []
63
- /**
64
- * Constructs a new template data model instance.
65
- *
66
- * @remarks
67
- * Demonstrates the standard XML parsing workflow used throughout the
68
- * data model implementation. This includes processing inner elements,
69
- * handling mixed content with ordered children, and extracting attributes
70
- * with appropriate type conversion and validation.
71
- *
72
- * @param xml - The XML parser instance for processing elements
73
- * @param element - The XML element object to parse
74
- * @param elementName - The name of the XML element being processed
75
- */
76
31
  constructor(xml, element, elementName) {
77
32
  super(elementName);
78
- // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
79
- // ------------------------------------------------------------------------
80
- // Process elements.
81
- // If the object has only a text.
82
33
  assert(xml.isInnerElementText(element, elementName));
83
34
  this.text = xml.getInnerElementText(element, elementName);
84
- // ------------------------------------------
85
- // If the object has sub-elements.
86
35
  const innerElements = xml.getInnerElements(element, elementName);
87
36
  assert(innerElements.length > 0);
88
37
  for (const innerElement of innerElements) {
89
38
  if (xml.hasInnerText(innerElement)) {
90
- // Ignore texts.
91
39
  }
92
40
  else if (xml.isInnerElementText(innerElement, 'compoundname')) {
93
41
  this.compoundName = xml.getInnerElementText(innerElement, 'compoundname');
@@ -96,7 +44,6 @@ export class AbstractXyzType extends AbstractDataModelBase {
96
44
  this.briefDescription = new BriefDescriptionDataModel(xml, innerElement);
97
45
  }
98
46
  else if (xml.hasInnerElement(innerElement, 'includes')) {
99
- // console.log(util.inspect(item))
100
47
  this.includes ??= [];
101
48
  this.includes.push(new IncludesDataModel(xml, innerElement));
102
49
  }
@@ -104,10 +51,6 @@ export class AbstractXyzType extends AbstractDataModelBase {
104
51
  console.error(`${elementName} element:`, Object.keys(innerElement), 'not implemented yet in', this.constructor.name);
105
52
  }
106
53
  }
107
- // ------------------------------------------
108
- // If the object has to keep trak of the order of mixed type children.
109
- // const innerElements = xml.getInnerElements(element, elementName)
110
- // assert(innerElements.length > 0)
111
54
  this.children = [];
112
55
  for (const innerElement of innerElements) {
113
56
  if (xml.hasInnerText(innerElement)) {
@@ -124,16 +67,10 @@ export class AbstractXyzType extends AbstractDataModelBase {
124
67
  console.error(`${elementName} element:`, Object.keys(innerElement), 'not implemented yet in', this.constructor.name);
125
68
  }
126
69
  }
127
- // ------------------------------------------------------------------------
128
- // Process attributes.
129
- // If the object has no attributes.
130
70
  assert(!xml.hasAttributes(element));
131
- // ------------------------------------------
132
71
  assert(xml.hasAttributes(element));
133
72
  const attributesNames = xml.getAttributesNames(element);
134
- // console.log(attributesNames)
135
73
  for (const attributeName of attributesNames) {
136
- // console.log(attributeName)
137
74
  if (attributeName === '@_id') {
138
75
  this.id = xml.getAttributeStringValue(element, '@_id');
139
76
  }
@@ -148,10 +85,10 @@ export class AbstractXyzType extends AbstractDataModelBase {
148
85
  this.language = xml.getAttributeStringValue(element, '@_language');
149
86
  }
150
87
  else if (attributeName === '@_final') {
151
- this.final = Boolean(xml.getAttributeBooleanValue(element, '@_final'));
88
+ this.final = xml.getAttributeBooleanValue(element, '@_final');
152
89
  }
153
90
  else if (attributeName === '@_lineno') {
154
- this.lineno = Number(xml.getAttributeNumberValue(element, '@_lineno'));
91
+ this.lineno = xml.getAttributeNumberValue(element, '@_lineno');
155
92
  }
156
93
  else {
157
94
  console.error(util.inspect(element, { compact: false, depth: 999 }));
@@ -159,428 +96,51 @@ export class AbstractXyzType extends AbstractDataModelBase {
159
96
  }
160
97
  }
161
98
  assert(this.id.length > 0);
162
- // ------------------------------------------------------------------------
163
- // console.log(util.inspect(this, { compact: false, depth: 999 }))
164
99
  }
165
100
  }
166
- /**
167
- * Concrete implementation of the template data model.
168
- *
169
- * @remarks
170
- * Provides a specific implementation of the abstract template class,
171
- * demonstrating how to create concrete data model objects for particular
172
- * XML element types. This pattern is used throughout the data model
173
- * for creating type-specific implementations.
174
- *
175
- * @public
176
- */
177
101
  export class XyzDataModel extends AbstractXyzType {
178
- /**
179
- * Constructs a new XyzDataModel instance.
180
- *
181
- * @remarks
182
- * Creates a data model object for 'xyz' XML elements by delegating
183
- * to the parent constructor with the appropriate element name.
184
- *
185
- * @param xml - The XML parser instance for processing elements
186
- * @param element - The XML element object to parse
187
- */
188
102
  constructor(xml, element) {
189
- // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
190
103
  super(xml, element, 'xyz');
191
104
  }
192
105
  }
193
- // ----------------------------------------------------------------------------
194
- // <xsd:complexType name="compounddefType">
195
- // <xsd:sequence>
196
- // <xsd:element name="compoundname" type="xsd:string"/>
197
- // <xsd:element name="title" type="xsd:string" minOccurs="0" />
198
- // <xsd:element name="basecompoundref" type="compoundRefType" minOccurs="0" maxOccurs="unbounded" />
199
- // <xsd:element name="derivedcompoundref" type="compoundRefType" minOccurs="0" maxOccurs="unbounded" />
200
- // <xsd:element name="includes" type="incType" minOccurs="0" maxOccurs="unbounded" />
201
- // <xsd:element name="includedby" type="incType" minOccurs="0" maxOccurs="unbounded" />
202
- // <xsd:element name="incdepgraph" type="graphType" minOccurs="0" />
203
- // <xsd:element name="invincdepgraph" type="graphType" minOccurs="0" />
204
- // <xsd:element name="innermodule" type="refType" minOccurs="0" maxOccurs="unbounded" />
205
- // <xsd:element name="innerdir" type="refType" minOccurs="0" maxOccurs="unbounded" />
206
- // <xsd:element name="innerfile" type="refType" minOccurs="0" maxOccurs="unbounded" />
207
- // <xsd:element name="innerclass" type="refType" minOccurs="0" maxOccurs="unbounded" />
208
- // <xsd:element name="innerconcept" type="refType" minOccurs="0" maxOccurs="unbounded" />
209
- // <xsd:element name="innernamespace" type="refType" minOccurs="0" maxOccurs="unbounded" />
210
- // <xsd:element name="innerpage" type="refType" minOccurs="0" maxOccurs="unbounded" />
211
- // <xsd:element name="innergroup" type="refType" minOccurs="0" maxOccurs="unbounded" />
212
- // <xsd:element name="qualifier" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
213
- // <xsd:element name="templateparamlist" type="templateparamlistType" minOccurs="0" />
214
- // <xsd:element name="sectiondef" type="sectiondefType" minOccurs="0" maxOccurs="unbounded" />
215
- // <xsd:element name="tableofcontents" type="tableofcontentsType" minOccurs="0" maxOccurs="1" />
216
- // <xsd:element name="requiresclause" type="linkedTextType" minOccurs="0" />
217
- // <xsd:element name="initializer" type="linkedTextType" minOccurs="0" />
218
- // <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
219
- // <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
220
- // <xsd:element name="exports" type="exportsType" minOccurs="0" maxOccurs="1"/>
221
- // <xsd:element name="inheritancegraph" type="graphType" minOccurs="0" />
222
- // <xsd:element name="collaborationgraph" type="graphType" minOccurs="0" />
223
- // <xsd:element name="programlisting" type="listingType" minOccurs="0" />
224
- // <xsd:element name="location" type="locationType" minOccurs="0" />
225
- // <xsd:element name="listofallmembers" type="listofallmembersType" minOccurs="0" />
226
- // </xsd:sequence>
227
- // <xsd:attribute name="id" type="xsd:string" />
228
- // <xsd:attribute name="kind" type="DoxCompoundKind" />
229
- // <xsd:attribute name="language" type="DoxLanguage" use="optional"/>
230
- // <xsd:attribute name="prot" type="DoxProtectionKind" />
231
- // <xsd:attribute name="final" type="DoxBool" use="optional"/>
232
- // <xsd:attribute name="inline" type="DoxBool" use="optional"/>
233
- // <xsd:attribute name="sealed" type="DoxBool" use="optional"/>
234
- // <xsd:attribute name="abstract" type="DoxBool" use="optional"/>
235
- // </xsd:complexType>
236
- // <xsd:simpleType name="DoxCompoundKind">
237
- // <xsd:restriction base="xsd:string">
238
- // <xsd:enumeration value="class" />
239
- // <xsd:enumeration value="struct" />
240
- // <xsd:enumeration value="union" />
241
- // <xsd:enumeration value="interface" />
242
- // <xsd:enumeration value="protocol" />
243
- // <xsd:enumeration value="category" />
244
- // <xsd:enumeration value="exception" />
245
- // <xsd:enumeration value="service" />
246
- // <xsd:enumeration value="singleton" />
247
- // <xsd:enumeration value="module" />
248
- // <xsd:enumeration value="type" />
249
- // <xsd:enumeration value="file" />
250
- // <xsd:enumeration value="namespace" />
251
- // <xsd:enumeration value="group" />
252
- // <xsd:enumeration value="page" />
253
- // <xsd:enumeration value="example" />
254
- // <xsd:enumeration value="dir" />
255
- // <xsd:enumeration value="concept" />
256
- // </xsd:restriction>
257
- // </xsd:simpleType>
258
- /**
259
- * Abstract base class for Doxygen compound definition data models.
260
- *
261
- * @remarks
262
- * Represents the core structure of compound definitions in Doxygen XML output,
263
- * including classes, structures, files, namespaces, and other compound types.
264
- * This class handles the complete XML schema for compound definitions with
265
- * comprehensive element and attribute processing to capture all aspects of
266
- * the documented code structures.
267
- *
268
- * @public
269
- */
270
106
  export class AbstractCompoundDefType extends AbstractDataModelBase {
271
- // Mandatory elements.
272
- /**
273
- * The name of the compound element.
274
- *
275
- * @remarks
276
- * Contains the fully qualified name of the compound (class, namespace,
277
- * file, etc.) as extracted from the 'compoundname' XML element. This
278
- * represents the primary identifier for the compound in the documentation
279
- * hierarchy and is mandatory for all compound types except namespaces.
280
- */
281
107
  compoundName = '';
282
- // Optional elements.
283
- /**
284
- * Optional title for the compound.
285
- *
286
- * @remarks
287
- * Provides a human-readable title for the compound that may differ from
288
- * the compound name. This is typically used for pages and groups where
289
- * a descriptive title is more appropriate than the technical identifier.
290
- */
291
108
  title;
292
- /**
293
- * Brief description of the compound.
294
- *
295
- * @remarks
296
- * Contains a concise summary description of the compound extracted from
297
- * the 'briefdescription' XML element. This provides a short overview
298
- * suitable for listings and summary views of the documented entity.
299
- */
300
109
  briefDescription;
301
- /**
302
- * Detailed description of the compound.
303
- *
304
- * @remarks
305
- * Contains comprehensive documentation for the compound extracted from
306
- * the 'detaileddescription' XML element. This includes full description
307
- * text with formatting, examples, and other detailed documentation
308
- * content.
309
- */
310
110
  detailedDescription;
311
- /**
312
- * Base compound references for inheritance relationships.
313
- *
314
- * @remarks
315
- * Contains references to base classes or parent compounds from which
316
- * this compound inherits. This property captures the inheritance
317
- * hierarchy information extracted from 'basecompoundref' XML elements
318
- * for object-oriented documentation structures.
319
- */
320
111
  baseCompoundRefs;
321
- /**
322
- * Derived compound references for inheritance relationships.
323
- *
324
- * @remarks
325
- * Contains references to derived classes or child compounds that inherit
326
- * from this compound. This property captures the inheritance hierarchy
327
- * information extracted from 'derivedcompoundref' XML elements for
328
- * complete inheritance documentation.
329
- */
330
112
  derivedCompoundRefs;
331
- /**
332
- * Include file references for this compound.
333
- *
334
- * @remarks
335
- * Contains information about header files or modules that this compound
336
- * includes or depends upon. This property captures dependency
337
- * relationships extracted from 'includes' XML elements, providing
338
- * visibility into the file inclusion structure.
339
- */
340
113
  includes;
341
- /**
342
- * Reverse include file references for this compound.
343
- *
344
- * @remarks
345
- * Contains information about other files or compounds that include this
346
- * compound. This property captures reverse dependency relationships
347
- * extracted from 'includedby' XML elements, showing which entities
348
- * depend on this compound.
349
- */
350
114
  includedBy;
351
- /**
352
- * Template parameter list for templated compounds.
353
- *
354
- * @remarks
355
- * Contains the template parameter definitions for templated classes,
356
- * functions, or other templated entities. This property captures
357
- * template information extracted from 'templateparamlist' XML elements,
358
- * providing details about generic programming constructs.
359
- */
360
115
  templateParamList;
361
- /**
362
- * Section definitions within the compound.
363
- *
364
- * @remarks
365
- * Contains organised sections of members and documentation within the
366
- * compound. This property captures structured content extracted from
367
- * 'sectiondef' XML elements, providing hierarchical organisation of
368
- * compound members by type and visibility.
369
- */
370
116
  sectionDefs;
371
- /**
372
- * Table of contents for the compound documentation.
373
- *
374
- * @remarks
375
- * Contains the navigation structure for complex compound documentation.
376
- * This property captures hierarchical content organisation extracted
377
- * from 'tableofcontents' XML elements, providing structured navigation
378
- * for large documentation entities.
379
- */
380
117
  tableOfContents;
381
- // innerModules
382
- /**
383
- * Inner folder references contained within this compound.
384
- *
385
- * @remarks
386
- * Contains references to subdirectories or folders that are logically
387
- * contained within this compound. This property captures hierarchical
388
- * folder structure extracted from 'innerdir' XML elements, typically
389
- * used for directory-based documentation organisation.
390
- */
118
+ requiresClause;
119
+ initializer;
391
120
  innerDirs;
392
- /**
393
- * Inner file references contained within this compound.
394
- *
395
- * @remarks
396
- * Contains references to files that are logically contained within this
397
- * compound. This property captures file relationships extracted from
398
- * 'innerfile' XML elements, providing visibility into compound-to-file
399
- * associations in the documentation structure.
400
- */
401
121
  innerFiles;
402
- /**
403
- * Inner class references contained within this compound.
404
- *
405
- * @remarks
406
- * Contains references to classes, structures, or other class-like
407
- * entities that are defined within this compound. This property captures
408
- * nested type relationships extracted from 'innerclass' XML elements,
409
- * supporting hierarchical type documentation.
410
- */
411
122
  innerClasses;
412
- // innerConcepts
413
- /**
414
- * Inner namespace references contained within this compound.
415
- *
416
- * @remarks
417
- * Contains references to namespaces that are nested within this compound.
418
- * This property captures namespace hierarchy relationships extracted from
419
- * 'innernamespace' XML elements, supporting multi-level namespace
420
- * documentation organisation.
421
- */
123
+ innerConcepts;
422
124
  innerNamespaces;
423
- /**
424
- * Inner page references contained within this compound.
425
- *
426
- * @remarks
427
- * Contains references to documentation pages that are logically
428
- * associated with this compound. This property captures page
429
- * relationships extracted from 'innerpage' XML elements, supporting
430
- * structured documentation navigation.
431
- */
432
125
  innerPages;
433
- /**
434
- * Inner group references contained within this compound.
435
- *
436
- * @remarks
437
- * Contains references to documentation groups that are associated with
438
- * this compound. This property captures group relationships extracted
439
- * from 'innergroup' XML elements, supporting thematic organisation of
440
- * related documentation elements.
441
- */
442
126
  innerGroups;
443
- /**
444
- * Program listing or source code for the compound.
445
- *
446
- * @remarks
447
- * Contains the actual source code implementation or listing for the
448
- * compound when available. This property captures code content extracted
449
- * from 'programlisting' XML elements, providing syntax-highlighted
450
- * source code display in the documentation.
451
- */
452
127
  programListing;
453
- /**
454
- * Location information for the compound definition.
455
- *
456
- * @remarks
457
- * Contains file path, line number, and other location details for where
458
- * the compound is defined in the source code. This property captures
459
- * location metadata extracted from 'location' XML elements, enabling
460
- * source code navigation and reference linking.
461
- */
462
128
  location;
463
- /**
464
- * Complete list of all members contained in the compound.
465
- *
466
- * @remarks
467
- * Contains a comprehensive list of all members (methods, properties,
468
- * etc.) that belong to this compound, including inherited members.
469
- * This property captures member information extracted from
470
- * 'listofallmembers' XML elements for complete API documentation.
471
- */
472
129
  listOfAllMembers;
473
- // Mandatory attributes.
474
- /**
475
- * Unique identifier for the compound.
476
- *
477
- * @remarks
478
- * Contains the unique ID assigned to this compound by Doxygen for
479
- * cross-referencing and linking purposes. This identifier is mandatory
480
- * and serves as the primary key for compound identification throughout
481
- * the documentation system.
482
- */
483
130
  id = '';
484
- /**
485
- * The kind or type of compound.
486
- *
487
- * @remarks
488
- * Specifies the compound type using DoxCompoundKind enumeration values
489
- * such as 'class', 'struct', 'file', 'namespace', 'page', etc. This
490
- * mandatory attribute determines how the compound should be processed
491
- * and displayed in the documentation output.
492
- */
493
- kind = ''; // DoxCompoundKind
494
- // Optional attributes.
495
- /**
496
- * Programming language of the compound.
497
- *
498
- * @remarks
499
- * Specifies the programming language using DoxLanguage enumeration
500
- * values when the compound is language-specific. This optional attribute
501
- * enables language-aware processing and appropriate syntax highlighting
502
- * in the generated documentation.
503
- */
504
- language; // DoxLanguage
505
- // WARNING: This attribute is not marked as optional, but is not present.
506
- /**
507
- * Protection level of the compound.
508
- *
509
- * @remarks
510
- * Specifies the access protection level (public, private, protected)
511
- * for the compound using DoxProtectionKind enumeration values. Note
512
- * that whilst this attribute is not marked as optional in the XML
513
- * schema, it may not be present in all compound definitions.
514
- */
131
+ kind = '';
132
+ language;
515
133
  prot;
516
- /**
517
- * Indicates whether the compound is marked as final.
518
- *
519
- * @remarks
520
- * Specifies that the compound cannot be inherited from or extended,
521
- * typically used in object-oriented programming languages that support
522
- * final classes or sealed types. This boolean attribute reflects the
523
- * final modifier in the source code.
524
- */
525
134
  final;
526
- /**
527
- * Indicates whether the compound is inline.
528
- *
529
- * @remarks
530
- * Specifies that the compound is defined inline, typically used for
531
- * functions, methods, or other constructs that are implemented directly
532
- * in header files. This boolean attribute reflects inline declarations
533
- * in the source code.
534
- */
535
135
  inline;
536
- /**
537
- * Indicates whether the compound is sealed.
538
- *
539
- * @remarks
540
- * Specifies that the compound is sealed and cannot be inherited from,
541
- * similar to final but using different language-specific terminology.
542
- * This boolean attribute reflects sealed modifiers found in languages
543
- * like C# or other object-oriented programming environments.
544
- */
545
136
  sealed;
546
- /**
547
- * Indicates whether the compound is abstract.
548
- *
549
- * @remarks
550
- * Specifies that the compound is abstract and cannot be instantiated
551
- * directly, typically requiring concrete implementations of abstract
552
- * methods or properties. This boolean attribute reflects abstract
553
- * modifiers in object-oriented programming languages.
554
- */
555
137
  abstract;
556
- // Not in xsd.
557
- // parentId: string = ''
558
- // permalink: string = ''
559
- /**
560
- * Constructs a new compound definition data model instance.
561
- *
562
- * @remarks
563
- * Parses the complete XML structure for compound definitions, processing
564
- * all elements and attributes according to the Doxygen XML schema. This
565
- * includes handling optional and mandatory elements, complex nested
566
- * structures, and comprehensive attribute validation to ensure data
567
- * integrity throughout the parsing process.
568
- *
569
- * @param xml - The XML parser instance for processing elements
570
- * @param element - The XML element object to parse
571
- * @param elementName - The name of the XML element being processed
572
- */
573
138
  constructor(xml, element, elementName) {
574
139
  super(elementName);
575
- // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
576
- // ------------------------------------------------------------------------
577
- // Process elements.
578
- // console.log(util.inspect(element, { compact: false, depth: 999 })
579
140
  const innerElements = xml.getInnerElements(element, elementName);
580
141
  assert(innerElements.length > 0);
581
142
  for (const innerElement of innerElements) {
582
143
  if (xml.hasInnerText(innerElement)) {
583
- // Ignore texts.
584
144
  }
585
145
  else if (xml.isInnerElementText(innerElement, 'compoundname')) {
586
146
  this.compoundName = xml.getInnerElementText(innerElement, 'compoundname');
@@ -603,20 +163,16 @@ export class AbstractCompoundDefType extends AbstractDataModelBase {
603
163
  this.derivedCompoundRefs.push(new DerivedCompoundRefDataModel(xml, innerElement));
604
164
  }
605
165
  else if (xml.hasInnerElement(innerElement, 'includes')) {
606
- // console.log(util.inspect(item))
607
166
  this.includes ??= [];
608
167
  this.includes.push(new IncludesDataModel(xml, innerElement));
609
168
  }
610
169
  else if (xml.hasInnerElement(innerElement, 'includedby')) {
611
- // console.log(util.inspect(item))
612
170
  this.includedBy ??= [];
613
171
  this.includedBy.push(new IncludedByDataModel(xml, innerElement));
614
172
  }
615
173
  else if (xml.hasInnerElement(innerElement, 'incdepgraph')) {
616
- // TODO: Ignored, not used for now.
617
174
  }
618
175
  else if (xml.hasInnerElement(innerElement, 'invincdepgraph')) {
619
- // TODO: Ignored, not used for now.
620
176
  }
621
177
  else if (xml.hasInnerElement(innerElement, 'innerdir')) {
622
178
  this.innerDirs ??= [];
@@ -630,6 +186,10 @@ export class AbstractCompoundDefType extends AbstractDataModelBase {
630
186
  this.innerClasses ??= [];
631
187
  this.innerClasses.push(new InnerClassDataModel(xml, innerElement));
632
188
  }
189
+ else if (xml.hasInnerElement(innerElement, 'innerconcept')) {
190
+ this.innerConcepts ??= [];
191
+ this.innerConcepts.push(new InnerConceptDataModel(xml, innerElement));
192
+ }
633
193
  else if (xml.hasInnerElement(innerElement, 'innernamespace')) {
634
194
  this.innerNamespaces ??= [];
635
195
  this.innerNamespaces.push(new InnerNamespaceDataModel(xml, innerElement));
@@ -652,11 +212,15 @@ export class AbstractCompoundDefType extends AbstractDataModelBase {
652
212
  else if (xml.hasInnerElement(innerElement, 'tableofcontents')) {
653
213
  this.tableOfContents = new TableOfContentsDataModel(xml, innerElement);
654
214
  }
215
+ else if (xml.hasInnerElement(innerElement, 'requiresclause')) {
216
+ this.requiresClause = new RequiresClauseDataModel(xml, innerElement);
217
+ }
218
+ else if (xml.hasInnerElement(innerElement, 'initializer')) {
219
+ this.initializer = new InitializerDataModel(xml, innerElement);
220
+ }
655
221
  else if (xml.hasInnerElement(innerElement, 'inheritancegraph')) {
656
- // TODO: Ignored, not used for now.
657
222
  }
658
223
  else if (xml.hasInnerElement(innerElement, 'collaborationgraph')) {
659
- // TODO: Ignored, not used for now.
660
224
  }
661
225
  else if (xml.hasInnerElement(innerElement, 'programlisting')) {
662
226
  assert(this.programListing === undefined);
@@ -672,15 +236,9 @@ export class AbstractCompoundDefType extends AbstractDataModelBase {
672
236
  console.error(`${elementName} element:`, Object.keys(innerElement), 'not implemented yet in', this.constructor.name);
673
237
  }
674
238
  }
675
- // Moved down, depends on kind.
676
- // assert(this.compoundName.length > 0)
677
- // ------------------------------------------------------------------------
678
- // Process attributes.
679
239
  assert(xml.hasAttributes(element));
680
240
  const attributesNames = xml.getAttributesNames(element);
681
- // console.log(attributesNames)
682
241
  for (const attributeName of attributesNames) {
683
- // console.log(attributeName)
684
242
  if (attributeName === '@_id') {
685
243
  this.id = xml.getAttributeStringValue(element, '@_id');
686
244
  }
@@ -694,16 +252,16 @@ export class AbstractCompoundDefType extends AbstractDataModelBase {
694
252
  this.prot = xml.getAttributeStringValue(element, '@_prot');
695
253
  }
696
254
  else if (attributeName === '@_final') {
697
- this.final = Boolean(xml.getAttributeBooleanValue(element, '@_final'));
255
+ this.final = xml.getAttributeBooleanValue(element, '@_final');
698
256
  }
699
257
  else if (attributeName === '@_inline') {
700
- this.inline = Boolean(xml.getAttributeBooleanValue(element, '@_inline'));
258
+ this.inline = xml.getAttributeBooleanValue(element, '@_inline');
701
259
  }
702
260
  else if (attributeName === '@_sealed') {
703
- this.sealed = Boolean(xml.getAttributeBooleanValue(element, '@_sealed'));
261
+ this.sealed = xml.getAttributeBooleanValue(element, '@_sealed');
704
262
  }
705
263
  else if (attributeName === '@_abstract') {
706
- this.abstract = Boolean(xml.getAttributeBooleanValue(element, '@_abstract'));
264
+ this.abstract = xml.getAttributeBooleanValue(element, '@_abstract');
707
265
  }
708
266
  else {
709
267
  console.error(util.inspect(element, { compact: false, depth: 999 }));
@@ -712,90 +270,23 @@ export class AbstractCompoundDefType extends AbstractDataModelBase {
712
270
  }
713
271
  assert(this.id.length > 0);
714
272
  assert(this.kind.length > 0);
715
- // WARNING: The attribute is not marked as optional, but is not present.
716
- // assert(this.prot.length > 0)
717
273
  if (this.kind !== 'namespace') {
718
274
  assert(this.compoundName.length > 0);
719
275
  }
720
- // ------------------------------------------------------------------------
721
- // console.log(util.inspect(this, { compact: false, depth: 999 }))
722
276
  }
723
277
  }
724
- // ----------------------------------------------------------------------------
725
- // <xsd:element name="compounddef" type="compounddefType" minOccurs="0" />
726
- /**
727
- * Concrete implementation of compound definition data model.
728
- *
729
- * @remarks
730
- * Provides the primary data model implementation for Doxygen compound
731
- * definitions, handling all types of compounds including classes, structures,
732
- * files, namespaces, and pages. This class serves as the main entry point
733
- * for processing compound definition XML elements in the Doxygen output.
734
- *
735
- * @public
736
- */
737
278
  export class CompoundDefDataModel extends AbstractCompoundDefType {
738
- /**
739
- * Constructs a new CompoundDefDataModel instance.
740
- *
741
- * @remarks
742
- * Creates a data model object for 'compounddef' XML elements by delegating
743
- * to the parent constructor with the appropriate element name. This
744
- * represents the root element for all compound definitions in Doxygen XML
745
- * output.
746
- *
747
- * @param xml - The XML parser instance for processing elements
748
- * @param element - The XML element object to parse
749
- */
750
279
  constructor(xml, element) {
751
- // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
752
280
  super(xml, element, 'compounddef');
753
281
  }
754
282
  }
755
- // ----------------------------------------------------------------------------
756
- // <xsd:complexType name="docHtmlOnlyType">
757
- // <xsd:simpleContent>
758
- // <xsd:extension base="xsd:string">
759
- // <xsd:attribute name="block" type="xsd:string" />
760
- // </xsd:extension>
761
- // </xsd:simpleContent>
762
- // </xsd:complexType>
763
- /**
764
- * Abstract base class for HTML-only documentation content.
765
- *
766
- * @remarks
767
- * Represents content that should only be rendered in HTML output formats,
768
- * providing a mechanism for format-specific content inclusion in Doxygen
769
- * documentation. This class handles the 'docHtmlOnlyType' XML schema
770
- * structure with text content and optional block attributes.
771
- *
772
- * @public
773
- */
774
283
  export class AbstractDocHtmlOnlyType extends AbstractDataModelBase {
775
284
  text = '';
776
285
  block;
777
- /**
778
- * Constructs a new HTML-only content data model instance.
779
- *
780
- * @remarks
781
- * Parses HTML-only content elements from Doxygen XML output, extracting
782
- * the text content and any optional block attributes. This content is
783
- * intended for rendering only in HTML-based output formats whilst being
784
- * excluded from other documentation formats.
785
- *
786
- * @param xml - The XML parser instance for processing elements
787
- * @param element - The XML element object to parse
788
- * @param elementName - The name of the XML element being processed
789
- */
790
286
  constructor(xml, element, elementName) {
791
287
  super(elementName);
792
- // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
793
- // ------------------------------------------------------------------------
794
- // Process elements.
795
288
  assert(xml.isInnerElementText(element, elementName));
796
289
  this.text = xml.getInnerElementText(element, elementName);
797
- // ------------------------------------------------------------------------
798
- // Process attributes.
799
290
  if (xml.hasAttributes(element)) {
800
291
  const attributesNames = xml.getAttributesNames(element);
801
292
  for (const attributeName of attributesNames) {
@@ -808,176 +299,36 @@ export class AbstractDocHtmlOnlyType extends AbstractDataModelBase {
808
299
  }
809
300
  }
810
301
  }
811
- // ------------------------------------------------------------------------
812
- // console.log(util.inspect(this, { compact: false, depth: 999 }))
813
302
  }
814
303
  }
815
- // ----------------------------------------------------------------------------
816
- // <xsd:element name="htmlonly" type="docHtmlOnlyType" />
817
- /**
818
- * Data model for HTML-only content elements.
819
- *
820
- * @remarks
821
- * Represents content that should only be included in HTML output formats,
822
- * typically used for web-specific markup or styling that is not appropriate
823
- * for other documentation formats. This implementation handles the 'htmlonly'
824
- * XML element from Doxygen output.
825
- *
826
- * @public
827
- */
828
304
  export class HtmlOnlyDataModel extends AbstractDocHtmlOnlyType {
829
- /**
830
- * Constructs a new HtmlOnlyDataModel instance.
831
- *
832
- * @remarks
833
- * Creates a data model object for 'htmlonly' XML elements, which contain
834
- * content specifically intended for HTML output rendering only.
835
- *
836
- * @param xml - The XML parser instance for processing elements
837
- * @param element - The XML element object to parse
838
- */
839
305
  constructor(xml, element) {
840
- // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
841
306
  super(xml, element, 'htmlonly');
842
307
  }
843
308
  }
844
- // Normally strings are properties, but these are unusual, so we keep them
845
- // as objects.
846
- // <xsd:element name="manonly" type="xsd:string" />
847
- // <xsd:element name="xmlonly" type="xsd:string" />
848
- // <xsd:element name="rtfonly" type="xsd:string" />
849
- // <xsd:element name="latexonly" type="xsd:string" />
850
- // <xsd:element name="docbookonly" type="xsd:string" />
851
- /**
852
- * Data model for manual-only content elements.
853
- *
854
- * @remarks
855
- * Represents content that should only be included in manual page output
856
- * formats. This class handles string content specifically intended for
857
- * Unix manual page generation whilst excluding it from other documentation
858
- * formats.
859
- *
860
- * @public
861
- */
862
309
  export class ManOnlyDataModel extends AbstractStringType {
863
- /**
864
- * Constructs a new ManOnlyDataModel instance.
865
- *
866
- * @remarks
867
- * Creates a data model object for 'manonly' XML elements containing
868
- * content specifically intended for manual page output rendering.
869
- *
870
- * @param xml - The XML parser instance for processing elements
871
- * @param element - The XML element object to parse
872
- */
873
310
  constructor(xml, element) {
874
- // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
875
311
  super(xml, element, 'manonly');
876
312
  }
877
313
  }
878
- /**
879
- * Data model for XML-only content elements.
880
- *
881
- * @remarks
882
- * Represents content that should only be included in XML output formats.
883
- * This class handles string content specifically intended for XML-based
884
- * documentation generation whilst excluding it from other output formats.
885
- *
886
- * @public
887
- */
888
314
  export class XmlOnlyDataModel extends AbstractStringType {
889
- /**
890
- * Constructs a new XmlOnlyDataModel instance.
891
- *
892
- * @remarks
893
- * Creates a data model object for 'xmlonly' XML elements containing
894
- * content specifically intended for XML output rendering.
895
- *
896
- * @param xml - The XML parser instance for processing elements
897
- * @param element - The XML element object to parse
898
- */
899
315
  constructor(xml, element) {
900
- // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
901
316
  super(xml, element, 'xmlonly');
902
317
  }
903
318
  }
904
- /**
905
- * Data model for RTF-only content elements.
906
- *
907
- * @remarks
908
- * Represents content that should only be included in Rich Text Format (RTF)
909
- * output. This class handles string content specifically intended for RTF
910
- * document generation whilst excluding it from other documentation formats.
911
- *
912
- * @public
913
- */
914
319
  export class RtfOnlyDataModel extends AbstractStringType {
915
- /**
916
- * Constructs a new RtfOnlyDataModel instance.
917
- *
918
- * @remarks
919
- * Creates a data model object for 'rtfonly' XML elements containing
920
- * content specifically intended for RTF output rendering.
921
- *
922
- * @param xml - The XML parser instance for processing elements
923
- * @param element - The XML element object to parse
924
- */
925
320
  constructor(xml, element) {
926
- // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
927
321
  super(xml, element, 'rtfonly');
928
322
  }
929
323
  }
930
- /**
931
- * Data model for LaTeX-only content elements.
932
- *
933
- * @remarks
934
- * Represents content that should only be included in LaTeX output formats.
935
- * This class handles string content specifically intended for LaTeX document
936
- * generation whilst excluding it from other documentation formats.
937
- *
938
- * @public
939
- */
940
324
  export class LatexOnlyDataModel extends AbstractStringType {
941
- /**
942
- * Constructs a new LatexOnlyDataModel instance.
943
- *
944
- * @remarks
945
- * Creates a data model object for 'latexonly' XML elements containing
946
- * content specifically intended for LaTeX output rendering.
947
- *
948
- * @param xml - The XML parser instance for processing elements
949
- * @param element - The XML element object to parse
950
- */
951
325
  constructor(xml, element) {
952
- // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
953
326
  super(xml, element, 'latexonly');
954
327
  }
955
328
  }
956
- /**
957
- * Data model for DocBook-only content elements.
958
- *
959
- * @remarks
960
- * Represents content that should only be included in DocBook output formats.
961
- * This class handles string content specifically intended for DocBook XML
962
- * document generation whilst excluding it from other documentation formats.
963
- *
964
- * @public
965
- */
966
329
  export class DocBookOnlyDataModel extends AbstractStringType {
967
- /**
968
- * Constructs a new DocBookOnlyDataModel instance.
969
- *
970
- * @remarks
971
- * Creates a data model object for 'docbookonly' XML elements containing
972
- * content specifically intended for DocBook output rendering.
973
- *
974
- * @param xml - The XML parser instance for processing elements
975
- * @param element - The XML element object to parse
976
- */
977
330
  constructor(xml, element) {
978
- // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
979
331
  super(xml, element, 'docbookonly');
980
332
  }
981
333
  }
982
- // ----------------------------------------------------------------------------
983
334
  //# sourceMappingURL=compounddef-dm.js.map