@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,563 @@
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
+ import { parseDocTitleCmdGroup } from './descriptiontype-dm.js'
20
+
21
+ // ----------------------------------------------------------------------------
22
+
23
+ // <xsd:complexType name="tableofcontentsType">
24
+ // <xsd:sequence>
25
+ // <xsd:choice>
26
+ // <xsd:element name="tocsect" type="tableofcontentsKindType" minOccurs="1" maxOccurs="unbounded" />
27
+ // <xsd:element name="tableofcontents" type="tableofcontentsType" minOccurs="0" maxOccurs="unbounded" />
28
+ // </xsd:choice>
29
+ // </xsd:sequence>
30
+ // </xsd:complexType>
31
+
32
+ /**
33
+ * Abstract base class for table of contents type data models.
34
+ *
35
+ * @remarks
36
+ * Represents table of contents elements within Doxygen XML structures,
37
+ * corresponding to the tableofcontentsType complex type in the XML schema.
38
+ * This class handles the parsing of table of contents structures with
39
+ * mutually exclusive content choices: either table of contents sections
40
+ * or nested table of contents elements. All concrete table of contents
41
+ * data model classes should extend this abstract base to ensure consistent
42
+ * parsing and data representation.
43
+ *
44
+ * @public
45
+ */
46
+ // eslint-disable-next-line max-len
47
+ export abstract class AbstractTableOfContentsType extends AbstractDataModelBase {
48
+ /**
49
+ * Collection of table of contents section data models.
50
+ *
51
+ * @remarks
52
+ * Optional array containing table of contents section elements, part
53
+ * of an exclusive choice with tableOfContents. Each section represents
54
+ * a specific part of the documentation structure with its own name,
55
+ * reference, and potentially nested content.
56
+ */
57
+ tocSect: TocSectDataModel[] | undefined
58
+
59
+ /**
60
+ * Collection of nested table of contents data models.
61
+ *
62
+ * @remarks
63
+ * Optional array containing nested table of contents elements, part
64
+ * of an exclusive choice with tocSect. This allows for recursive
65
+ * table of contents structures to represent complex documentation
66
+ * hierarchies.
67
+ */
68
+ tableOfContents: TableOfContentsDataModel[] | undefined
69
+
70
+ /**
71
+ * Constructs a new AbstractTableOfContentsType instance from XML data.
72
+ *
73
+ * @param xml - The Doxygen XML parser instance for processing XML elements
74
+ * @param element - The XML element containing the table of contents data
75
+ * @param elementName - The name of the XML element being processed
76
+ *
77
+ * @remarks
78
+ * Parses the provided XML element to extract table of contents information
79
+ * following the exclusive choice pattern defined in the XML schema. The
80
+ * constructor processes either table of contents sections or nested table
81
+ * of contents elements, but not both, maintaining the mutually exclusive
82
+ * relationship. This element type has no attributes as per the schema.
83
+ */
84
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string) {
85
+ super(elementName)
86
+
87
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
88
+
89
+ // ------------------------------------------------------------------------
90
+ // Process elements.
91
+
92
+ const innerElements = xml.getInnerElements(element, elementName)
93
+ assert(innerElements.length > 0)
94
+
95
+ for (const innerElement of innerElements) {
96
+ if (xml.hasInnerText(innerElement)) {
97
+ // Ignore texts.
98
+ } else if (xml.hasInnerElement(innerElement, 'tocsect')) {
99
+ // console.log(util.inspect(item))
100
+ this.tocSect ??= []
101
+ this.tocSect.push(new TocSectDataModel(xml, innerElement))
102
+ } else if (xml.hasInnerElement(innerElement, 'tableofcontents')) {
103
+ // console.log(util.inspect(item))
104
+ this.tableOfContents ??= []
105
+ this.tableOfContents.push(
106
+ new TableOfContentsDataModel(xml, innerElement)
107
+ )
108
+ } else {
109
+ console.error(
110
+ `${elementName} element:`,
111
+ Object.keys(innerElement),
112
+ 'not implemented yet in',
113
+ this.constructor.name
114
+ )
115
+ }
116
+ }
117
+ // ------------------------------------------------------------------------
118
+ // Process attributes.
119
+
120
+ assert(!xml.hasAttributes(element))
121
+
122
+ // ------------------------------------------------------------------------
123
+
124
+ // console.log(util.inspect(this, { compact: false, depth: 999 }))
125
+ }
126
+ }
127
+
128
+ // ----------------------------------------------------------------------------
129
+
130
+ // <xsd:element name="tableofcontents" type="tableofcontentsType" minOccurs="0" maxOccurs="1" />
131
+
132
+ /**
133
+ * Concrete data model class for table of contents elements.
134
+ *
135
+ * @remarks
136
+ * Represents individual table of contents elements found within Doxygen
137
+ * compound XML structures. This class extends the abstract base to provide
138
+ * specific handling for 'tableofcontents' elements, which define the
139
+ * structural navigation and organisation of documentation content. Each
140
+ * table of contents provides hierarchical access to documentation sections
141
+ * and subsections.
142
+ *
143
+ * @public
144
+ */
145
+ export class TableOfContentsDataModel extends AbstractTableOfContentsType {
146
+ /**
147
+ * Constructs a new TableOfContentsDataModel instance from XML data.
148
+ *
149
+ * @param xml - The Doxygen XML parser instance for processing XML elements
150
+ * @param element - The XML element containing the table of contents data
151
+ *
152
+ * @remarks
153
+ * Initialises the table of contents data model by parsing the provided
154
+ * XML element as a 'tableofcontents' element type. The constructor
155
+ * delegates to the parent class for common table of contents processing
156
+ * whilst specifying the element name for proper XML structure handling.
157
+ */
158
+ constructor(xml: DoxygenXmlParser, element: object) {
159
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
160
+ super(xml, element, 'tableofcontents')
161
+ }
162
+ }
163
+
164
+ // ----------------------------------------------------------------------------
165
+
166
+ // <xsd:complexType name="tableofcontentsKindType">
167
+ // <xsd:sequence>
168
+ // <xsd:element name="name" type="xsd:string" minOccurs="1" maxOccurs="1"/>
169
+ // <xsd:element name="reference" type="xsd:string" minOccurs="1" maxOccurs="1"/>
170
+ // <xsd:element name="tableofcontents" type="tableofcontentsType" minOccurs="0" maxOccurs="unbounded" />
171
+ // </xsd:sequence>
172
+ // </xsd:complexType>
173
+
174
+ /**
175
+ * Abstract base class for table of contents kind type data models.
176
+ *
177
+ * @remarks
178
+ * Represents table of contents kind elements within Doxygen XML structures,
179
+ * corresponding to the tableofcontentsKindType complex type in the XML
180
+ * schema. This class handles the parsing of named table of contents sections
181
+ * with references and optional nested table of contents structures. All
182
+ * concrete table of contents kind data model classes should extend this
183
+ * abstract base to ensure consistent parsing and data representation.
184
+ *
185
+ * @public
186
+ */
187
+ // eslint-disable-next-line max-len
188
+ export abstract class AbstractTableOfContentsKindType extends AbstractDataModelBase {
189
+ /**
190
+ * The name of the table of contents section.
191
+ *
192
+ * @remarks
193
+ * Mandatory element extracted from the XML structure that provides
194
+ * the display name or title for this table of contents section.
195
+ * This name is used for navigation and presentation purposes.
196
+ */
197
+ name = ''
198
+
199
+ /**
200
+ * The reference identifier for this table of contents section.
201
+ *
202
+ * @remarks
203
+ * Mandatory element that provides a reference or link target for
204
+ * this table of contents section. This reference is used to create
205
+ * navigation links and cross-references within the documentation.
206
+ */
207
+ reference = ''
208
+
209
+ /**
210
+ * Collection of nested table of contents data models.
211
+ *
212
+ * @remarks
213
+ * Optional array containing nested table of contents elements that
214
+ * create hierarchical documentation structures. This allows for
215
+ * multi-level table of contents organisation with subsections and
216
+ * sub-subsections as needed.
217
+ */
218
+ tableOfContents: TableOfContentsDataModel[] | undefined
219
+
220
+ /**
221
+ * Constructs a new AbstractTableOfContentsKindType instance from XML data.
222
+ *
223
+ * @param xml - The Doxygen XML parser instance for processing XML elements
224
+ * @param element - The XML element containing the table of contents kind data
225
+ * @param elementName - The name of the XML element being processed
226
+ *
227
+ * @remarks
228
+ * Parses the provided XML element to extract table of contents kind
229
+ * information including mandatory name and reference elements, along with
230
+ * optional nested table of contents structures. The constructor handles
231
+ * unknown 'docs' elements that may appear but are not defined in the DTD.
232
+ * This element type has no attributes as per the XML schema.
233
+ */
234
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string) {
235
+ super(elementName)
236
+
237
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
238
+
239
+ // ------------------------------------------------------------------------
240
+ // Process elements.
241
+
242
+ const innerElements = xml.getInnerElements(element, elementName)
243
+ assert(innerElements.length > 0)
244
+
245
+ for (const innerElement of innerElements) {
246
+ if (xml.hasInnerText(innerElement)) {
247
+ // Ignore texts.
248
+ } else if (xml.isInnerElementText(innerElement, 'name')) {
249
+ this.name = xml.getInnerElementText(innerElement, 'name')
250
+ } else if (xml.isInnerElementText(innerElement, 'reference')) {
251
+ this.reference = xml.getInnerElementText(innerElement, 'reference')
252
+ } else if (xml.hasInnerElement(innerElement, 'docs')) {
253
+ // WARNING not in dtd, type unknown.
254
+ } else if (xml.hasInnerElement(innerElement, 'tableofcontents')) {
255
+ // console.log(util.inspect(item))
256
+ this.tableOfContents ??= []
257
+ this.tableOfContents.push(
258
+ new TableOfContentsDataModel(xml, innerElement)
259
+ )
260
+ } else {
261
+ console.error(
262
+ `${elementName} element:`,
263
+ Object.keys(innerElement),
264
+ 'not implemented yet in',
265
+ this.constructor.name
266
+ )
267
+ }
268
+ }
269
+ // ------------------------------------------------------------------------
270
+ // Process attributes.
271
+
272
+ assert(!xml.hasAttributes(element))
273
+
274
+ // ------------------------------------------------------------------------
275
+
276
+ // console.log(util.inspect(this, { compact: false, depth: 999 }))
277
+ }
278
+ }
279
+
280
+ // ----------------------------------------------------------------------------
281
+
282
+ // <xsd:element name="tocsect" type="tableofcontentsKindType" minOccurs="1" maxOccurs="unbounded" />
283
+
284
+ /**
285
+ * Concrete data model class for table of contents section elements.
286
+ *
287
+ * @remarks
288
+ * Represents individual table of contents section elements found within
289
+ * Doxygen XML structures. This class extends the abstract base to provide
290
+ * specific handling for 'tocsect' elements, which define named sections
291
+ * within the table of contents hierarchy. Each section includes a name,
292
+ * reference, and potentially nested subsections for comprehensive
293
+ * documentation navigation.
294
+ *
295
+ * @public
296
+ */
297
+ export class TocSectDataModel extends AbstractTableOfContentsKindType {
298
+ /**
299
+ * Constructs a new TocSectDataModel instance from XML data.
300
+ *
301
+ * @param xml - The Doxygen XML parser instance for processing XML elements
302
+ * @param element - The XML element containing the table of contents section
303
+ * data
304
+ *
305
+ * @remarks
306
+ * Initialises the table of contents section data model by parsing the
307
+ * provided XML element as a 'tocsect' element type. The constructor
308
+ * delegates to the parent class for common section processing whilst
309
+ * specifying the element name for proper XML structure handling.
310
+ */
311
+ constructor(xml: DoxygenXmlParser, element: object) {
312
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
313
+ super(xml, element, 'tocsect')
314
+ }
315
+ }
316
+
317
+ // ----------------------------------------------------------------------------
318
+
319
+ // <xsd:complexType name="docTocItemType" mixed="true">
320
+ // <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
321
+ // <xsd:attribute name="id" type="xsd:string" />
322
+ // </xsd:complexType>
323
+
324
+ /**
325
+ * Abstract base class for document table of contents item type data models.
326
+ *
327
+ * @remarks
328
+ * Represents table of contents item elements within Doxygen XML structures,
329
+ * corresponding to the docTocItemType complex type in the XML schema. This
330
+ * class handles the parsing of mixed content including text and document
331
+ * title command groups, along with mandatory identifier attributes. All
332
+ * concrete table of contents item data model classes should extend this
333
+ * abstract base to ensure consistent parsing and data representation.
334
+ *
335
+ * @public
336
+ */
337
+ export abstract class AbstractTocDocItemType extends AbstractDataModelBase {
338
+ /**
339
+ * The unique identifier for this table of contents item.
340
+ *
341
+ * @remarks
342
+ * Mandatory attribute that provides a unique identifier for referencing
343
+ * this table of contents item within the documentation structure. This
344
+ * identifier is used for cross-referencing and navigation purposes.
345
+ */
346
+ id = ''
347
+
348
+ /**
349
+ * Constructs a new AbstractTocDocItemType instance from XML data.
350
+ *
351
+ * @param xml - The Doxygen XML parser instance for processing XML elements
352
+ * @param element - The XML element containing the table of contents item data
353
+ * @param elementName - The name of the XML element being processed
354
+ *
355
+ * @remarks
356
+ * Parses the provided XML element to extract table of contents item
357
+ * information including mixed content (text and document title command
358
+ * groups) and the mandatory identifier attribute. The constructor processes
359
+ * the mixed content model defined in the XML schema, handling both text
360
+ * nodes and structured command groups.
361
+ */
362
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string) {
363
+ super(elementName)
364
+
365
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
366
+
367
+ // ------------------------------------------------------------------------
368
+ // Process elements.
369
+
370
+ const innerElements = xml.getInnerElements(element, elementName)
371
+ assert(innerElements.length > 0)
372
+
373
+ this.children = []
374
+
375
+ for (const innerElement of innerElements) {
376
+ if (xml.hasInnerText(innerElement)) {
377
+ this.children.push(xml.getInnerText(innerElement))
378
+ } else {
379
+ this.children.push(
380
+ ...parseDocTitleCmdGroup(xml, innerElement, elementName)
381
+ )
382
+ }
383
+ }
384
+
385
+ // ------------------------------------------------------------------------
386
+ // Process attributes.
387
+
388
+ assert(xml.hasAttributes(element))
389
+
390
+ const attributesNames = xml.getAttributesNames(element)
391
+ for (const attributeName of attributesNames) {
392
+ if (attributeName === '@_id') {
393
+ assert(this.id.length === 0)
394
+ this.id = xml.getAttributeStringValue(element, '@_id')
395
+ } else {
396
+ console.error(util.inspect(element, { compact: false, depth: 999 }))
397
+ console.error(
398
+ `${elementName} attribute:`,
399
+ attributeName,
400
+ 'not implemented yet in',
401
+ this.constructor.name
402
+ )
403
+ }
404
+ }
405
+
406
+ assert(this.id.length > 0)
407
+
408
+ // ------------------------------------------------------------------------
409
+
410
+ // console.log(util.inspect(this, { compact: false, depth: 999 }))
411
+ }
412
+ }
413
+
414
+ // <xsd:element name="tocitem" type="docTocItemType" minOccurs="0" maxOccurs="unbounded" />
415
+
416
+ /**
417
+ * Concrete data model class for table of contents item elements.
418
+ *
419
+ * @remarks
420
+ * Represents individual table of contents item elements found within
421
+ * Doxygen XML structures. This class extends the abstract base to provide
422
+ * specific handling for 'tocitem' elements, which define individual entries
423
+ * within table of contents lists. Each item includes mixed content and
424
+ * a unique identifier for navigation and cross-referencing purposes.
425
+ *
426
+ * @public
427
+ */
428
+ export class TocItemDataModel extends AbstractTocDocItemType {
429
+ /**
430
+ * Constructs a new TocItemDataModel instance from XML data.
431
+ *
432
+ * @param xml - The Doxygen XML parser instance for processing XML elements
433
+ * @param element - The XML element containing the table of contents item data
434
+ *
435
+ * @remarks
436
+ * Initialises the table of contents item data model by parsing the provided
437
+ * XML element as a 'tocitem' element type. The constructor delegates to
438
+ * the parent class for common item processing whilst specifying the element
439
+ * name for proper XML structure handling.
440
+ */
441
+ constructor(xml: DoxygenXmlParser, element: object) {
442
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
443
+ super(xml, element, 'tocitem')
444
+ }
445
+ }
446
+
447
+ // ----------------------------------------------------------------------------
448
+
449
+ // <xsd:complexType name="docTocListType">
450
+ // <xsd:sequence>
451
+ // <xsd:element name="tocitem" type="docTocItemType" minOccurs="0" maxOccurs="unbounded" />
452
+ // </xsd:sequence>
453
+ // </xsd:complexType>
454
+
455
+ /**
456
+ * Abstract base class for document table of contents list type data models.
457
+ *
458
+ * @remarks
459
+ * Represents table of contents list elements within Doxygen XML structures,
460
+ * corresponding to the docTocListType complex type in the XML schema. This
461
+ * class handles the parsing of collections of table of contents items that
462
+ * form structured lists for documentation navigation. All concrete table
463
+ * of contents list data model classes should extend this abstract base to
464
+ * ensure consistent parsing and data representation.
465
+ *
466
+ * @public
467
+ */
468
+ export abstract class AbstractDocTocListType extends AbstractDataModelBase {
469
+ /**
470
+ * Collection of table of contents item data models.
471
+ *
472
+ * @remarks
473
+ * Optional array containing table of contents item elements that comprise
474
+ * the list structure. Each item represents an individual entry within the
475
+ * table of contents with its own content and identifier. The array supports
476
+ * zero to many items as per the XML schema.
477
+ */
478
+ tocItems?: TocItemDataModel[] | undefined
479
+
480
+ /**
481
+ * Constructs a new AbstractDocTocListType instance from XML data.
482
+ *
483
+ * @param xml - The Doxygen XML parser instance for processing XML elements
484
+ * @param element - The XML element containing the table of contents list data
485
+ * @param elementName - The name of the XML element being processed
486
+ *
487
+ * @remarks
488
+ * Parses the provided XML element to extract table of contents list
489
+ * information including collections of table of contents items. The
490
+ * constructor processes item elements into TocItemDataModel instances
491
+ * when present. This element type has no attributes as per the XML schema.
492
+ */
493
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string) {
494
+ super(elementName)
495
+
496
+ const innerElements = xml.getInnerElements(element, elementName)
497
+ assert(innerElements.length > 0)
498
+
499
+ for (const innerElement of innerElements) {
500
+ if (xml.hasInnerText(innerElement)) {
501
+ // Ignore texts.
502
+ } else if (xml.hasInnerElement(innerElement, 'tocitem')) {
503
+ // console.log(util.inspect(item))
504
+ this.tocItems ??= []
505
+ this.tocItems.push(new TocItemDataModel(xml, innerElement))
506
+ } else {
507
+ console.error(
508
+ `${elementName} element:`,
509
+ Object.keys(innerElement),
510
+ 'not implemented yet in',
511
+ this.constructor.name
512
+ )
513
+ }
514
+ }
515
+
516
+ // ------------------------------------------------------------------------
517
+ // Process attributes.
518
+
519
+ // If the object has no attributes.
520
+ assert(!xml.hasAttributes(element))
521
+
522
+ // ------------------------------------------------------------------------
523
+
524
+ // console.log(util.inspect(this, { compact: false, depth: 999 }))
525
+ }
526
+ }
527
+
528
+ // ----------------------------------------------------------------------------
529
+
530
+ // <xsd:element name="toclist" type="docTocListType" />
531
+
532
+ /**
533
+ * Concrete data model class for table of contents list elements.
534
+ *
535
+ * @remarks
536
+ * Represents individual table of contents list elements found within
537
+ * Doxygen XML structures. This class extends the abstract base to provide
538
+ * specific handling for 'toclist' elements, which define structured lists
539
+ * of table of contents items for documentation navigation. Each list
540
+ * contains multiple items that collectively form a navigational structure.
541
+ *
542
+ * @public
543
+ */
544
+ export class TocListDataModel extends AbstractDocTocListType {
545
+ /**
546
+ * Constructs a new TocListDataModel instance from XML data.
547
+ *
548
+ * @param xml - The Doxygen XML parser instance for processing XML elements
549
+ * @param element - The XML element containing the table of contents list data
550
+ *
551
+ * @remarks
552
+ * Initialises the table of contents list data model by parsing the provided
553
+ * XML element as a 'toclist' element type. The constructor delegates to
554
+ * the parent class for common list processing whilst specifying the element
555
+ * name for proper XML structure handling.
556
+ */
557
+ constructor(xml: DoxygenXmlParser, element: object) {
558
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
559
+ super(xml, element, 'toclist')
560
+ }
561
+ }
562
+
563
+ // ----------------------------------------------------------------------------