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