@xpack/doxygen2docusaurus 1.0.2

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 (273) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +25 -0
  3. package/bin/doxygen2docusaurus.js +45 -0
  4. package/dist/cli/main.d.ts +10 -0
  5. package/dist/cli/main.d.ts.map +1 -0
  6. package/dist/cli/main.js +66 -0
  7. package/dist/cli/main.js.map +1 -0
  8. package/dist/docusaurus/cli-options.d.ts +98 -0
  9. package/dist/docusaurus/cli-options.d.ts.map +1 -0
  10. package/dist/docusaurus/cli-options.js +212 -0
  11. package/dist/docusaurus/cli-options.js.map +1 -0
  12. package/dist/docusaurus/generator.d.ts +22 -0
  13. package/dist/docusaurus/generator.d.ts.map +1 -0
  14. package/dist/docusaurus/generator.js +461 -0
  15. package/dist/docusaurus/generator.js.map +1 -0
  16. package/dist/docusaurus/renderers/descriptiontype.d.ts +63 -0
  17. package/dist/docusaurus/renderers/descriptiontype.d.ts.map +1 -0
  18. package/dist/docusaurus/renderers/descriptiontype.js +674 -0
  19. package/dist/docusaurus/renderers/descriptiontype.js.map +1 -0
  20. package/dist/docusaurus/renderers/docinternalstype.d.ts +21 -0
  21. package/dist/docusaurus/renderers/docinternalstype.d.ts.map +1 -0
  22. package/dist/docusaurus/renderers/docinternalstype.js +159 -0
  23. package/dist/docusaurus/renderers/docinternalstype.js.map +1 -0
  24. package/dist/docusaurus/renderers/doclisttype.d.ts +6 -0
  25. package/dist/docusaurus/renderers/doclisttype.d.ts.map +1 -0
  26. package/dist/docusaurus/renderers/doclisttype.js +86 -0
  27. package/dist/docusaurus/renderers/doclisttype.js.map +1 -0
  28. package/dist/docusaurus/renderers/doctabletype.d.ts +15 -0
  29. package/dist/docusaurus/renderers/doctabletype.d.ts.map +1 -0
  30. package/dist/docusaurus/renderers/doctabletype.js +98 -0
  31. package/dist/docusaurus/renderers/doctabletype.js.map +1 -0
  32. package/dist/docusaurus/renderers/doctitletype.d.ts +6 -0
  33. package/dist/docusaurus/renderers/doctitletype.d.ts.map +1 -0
  34. package/dist/docusaurus/renderers/doctitletype.js +38 -0
  35. package/dist/docusaurus/renderers/doctitletype.js.map +1 -0
  36. package/dist/docusaurus/renderers/docvariablelisttype.d.ts +9 -0
  37. package/dist/docusaurus/renderers/docvariablelisttype.d.ts.map +1 -0
  38. package/dist/docusaurus/renderers/docvariablelisttype.js +57 -0
  39. package/dist/docusaurus/renderers/docvariablelisttype.js.map +1 -0
  40. package/dist/docusaurus/renderers/docxrefsecttype.d.ts +6 -0
  41. package/dist/docusaurus/renderers/docxrefsecttype.d.ts.map +1 -0
  42. package/dist/docusaurus/renderers/docxrefsecttype.js +44 -0
  43. package/dist/docusaurus/renderers/docxrefsecttype.js.map +1 -0
  44. package/dist/docusaurus/renderers/element-renderer-base.d.ts +12 -0
  45. package/dist/docusaurus/renderers/element-renderer-base.d.ts.map +1 -0
  46. package/dist/docusaurus/renderers/element-renderer-base.js +25 -0
  47. package/dist/docusaurus/renderers/element-renderer-base.js.map +1 -0
  48. package/dist/docusaurus/renderers/inctype.d.ts +6 -0
  49. package/dist/docusaurus/renderers/inctype.d.ts.map +1 -0
  50. package/dist/docusaurus/renderers/inctype.js +42 -0
  51. package/dist/docusaurus/renderers/inctype.js.map +1 -0
  52. package/dist/docusaurus/renderers/linkedtexttype.d.ts +6 -0
  53. package/dist/docusaurus/renderers/linkedtexttype.d.ts.map +1 -0
  54. package/dist/docusaurus/renderers/linkedtexttype.js +32 -0
  55. package/dist/docusaurus/renderers/linkedtexttype.js.map +1 -0
  56. package/dist/docusaurus/renderers/listingtype.d.ts +10 -0
  57. package/dist/docusaurus/renderers/listingtype.d.ts.map +1 -0
  58. package/dist/docusaurus/renderers/listingtype.js +121 -0
  59. package/dist/docusaurus/renderers/listingtype.js.map +1 -0
  60. package/dist/docusaurus/renderers/paramtype.d.ts +6 -0
  61. package/dist/docusaurus/renderers/paramtype.d.ts.map +1 -0
  62. package/dist/docusaurus/renderers/paramtype.js +63 -0
  63. package/dist/docusaurus/renderers/paramtype.js.map +1 -0
  64. package/dist/docusaurus/renderers/referencetype.d.ts +6 -0
  65. package/dist/docusaurus/renderers/referencetype.d.ts.map +1 -0
  66. package/dist/docusaurus/renderers/referencetype.js +42 -0
  67. package/dist/docusaurus/renderers/referencetype.js.map +1 -0
  68. package/dist/docusaurus/renderers/reftexttype.d.ts +6 -0
  69. package/dist/docusaurus/renderers/reftexttype.d.ts.map +1 -0
  70. package/dist/docusaurus/renderers/reftexttype.js +41 -0
  71. package/dist/docusaurus/renderers/reftexttype.js.map +1 -0
  72. package/dist/docusaurus/renderers/reftype.d.ts +6 -0
  73. package/dist/docusaurus/renderers/reftype.d.ts.map +1 -0
  74. package/dist/docusaurus/renderers/reftype.js +38 -0
  75. package/dist/docusaurus/renderers/reftype.js.map +1 -0
  76. package/dist/docusaurus/renderers/renderers.d.ts +33 -0
  77. package/dist/docusaurus/renderers/renderers.d.ts.map +1 -0
  78. package/dist/docusaurus/renderers/renderers.js +303 -0
  79. package/dist/docusaurus/renderers/renderers.js.map +1 -0
  80. package/dist/docusaurus/renderers/substringtype.d.ts +6 -0
  81. package/dist/docusaurus/renderers/substringtype.d.ts.map +1 -0
  82. package/dist/docusaurus/renderers/substringtype.js +24 -0
  83. package/dist/docusaurus/renderers/substringtype.js.map +1 -0
  84. package/dist/docusaurus/renderers/tableofcontentstype.d.ts +6 -0
  85. package/dist/docusaurus/renderers/tableofcontentstype.d.ts.map +1 -0
  86. package/dist/docusaurus/renderers/tableofcontentstype.js +41 -0
  87. package/dist/docusaurus/renderers/tableofcontentstype.js.map +1 -0
  88. package/dist/docusaurus/types.d.ts +53 -0
  89. package/dist/docusaurus/types.d.ts.map +1 -0
  90. package/dist/docusaurus/types.js +13 -0
  91. package/dist/docusaurus/types.js.map +1 -0
  92. package/dist/docusaurus/utils.d.ts +16 -0
  93. package/dist/docusaurus/utils.d.ts.map +1 -0
  94. package/dist/docusaurus/utils.js +169 -0
  95. package/dist/docusaurus/utils.js.map +1 -0
  96. package/dist/docusaurus/view-model/classes-vm.d.ts +35 -0
  97. package/dist/docusaurus/view-model/classes-vm.d.ts.map +1 -0
  98. package/dist/docusaurus/view-model/classes-vm.js +707 -0
  99. package/dist/docusaurus/view-model/classes-vm.js.map +1 -0
  100. package/dist/docusaurus/view-model/collection-base.d.ts +28 -0
  101. package/dist/docusaurus/view-model/collection-base.d.ts.map +1 -0
  102. package/dist/docusaurus/view-model/collection-base.js +155 -0
  103. package/dist/docusaurus/view-model/collection-base.js.map +1 -0
  104. package/dist/docusaurus/view-model/compound-base-vm.d.ts +112 -0
  105. package/dist/docusaurus/view-model/compound-base-vm.d.ts.map +1 -0
  106. package/dist/docusaurus/view-model/compound-base-vm.js +829 -0
  107. package/dist/docusaurus/view-model/compound-base-vm.js.map +1 -0
  108. package/dist/docusaurus/view-model/description-anchors.d.ts +17 -0
  109. package/dist/docusaurus/view-model/description-anchors.d.ts.map +1 -0
  110. package/dist/docusaurus/view-model/description-anchors.js +37 -0
  111. package/dist/docusaurus/view-model/description-anchors.js.map +1 -0
  112. package/dist/docusaurus/view-model/files-and-folders-vm.d.ts +45 -0
  113. package/dist/docusaurus/view-model/files-and-folders-vm.d.ts.map +1 -0
  114. package/dist/docusaurus/view-model/files-and-folders-vm.js +749 -0
  115. package/dist/docusaurus/view-model/files-and-folders-vm.js.map +1 -0
  116. package/dist/docusaurus/view-model/groups-vm.d.ts +20 -0
  117. package/dist/docusaurus/view-model/groups-vm.d.ts.map +1 -0
  118. package/dist/docusaurus/view-model/groups-vm.js +297 -0
  119. package/dist/docusaurus/view-model/groups-vm.js.map +1 -0
  120. package/dist/docusaurus/view-model/members-vm.d.ts +81 -0
  121. package/dist/docusaurus/view-model/members-vm.d.ts.map +1 -0
  122. package/dist/docusaurus/view-model/members-vm.js +1017 -0
  123. package/dist/docusaurus/view-model/members-vm.js.map +1 -0
  124. package/dist/docusaurus/view-model/namespaces-vm.d.ts +24 -0
  125. package/dist/docusaurus/view-model/namespaces-vm.d.ts.map +1 -0
  126. package/dist/docusaurus/view-model/namespaces-vm.js +527 -0
  127. package/dist/docusaurus/view-model/namespaces-vm.js.map +1 -0
  128. package/dist/docusaurus/view-model/options.d.ts +8 -0
  129. package/dist/docusaurus/view-model/options.d.ts.map +1 -0
  130. package/dist/docusaurus/view-model/options.js +42 -0
  131. package/dist/docusaurus/view-model/options.js.map +1 -0
  132. package/dist/docusaurus/view-model/pages-vm.d.ts +18 -0
  133. package/dist/docusaurus/view-model/pages-vm.d.ts.map +1 -0
  134. package/dist/docusaurus/view-model/pages-vm.js +160 -0
  135. package/dist/docusaurus/view-model/pages-vm.js.map +1 -0
  136. package/dist/docusaurus/view-model/tree-entries-vm.d.ts +44 -0
  137. package/dist/docusaurus/view-model/tree-entries-vm.d.ts.map +1 -0
  138. package/dist/docusaurus/view-model/tree-entries-vm.js +139 -0
  139. package/dist/docusaurus/view-model/tree-entries-vm.js.map +1 -0
  140. package/dist/docusaurus/view-model/view-model.d.ts +34 -0
  141. package/dist/docusaurus/view-model/view-model.d.ts.map +1 -0
  142. package/dist/docusaurus/view-model/view-model.js +284 -0
  143. package/dist/docusaurus/view-model/view-model.js.map +1 -0
  144. package/dist/docusaurus/workspace.d.ts +65 -0
  145. package/dist/docusaurus/workspace.d.ts.map +1 -0
  146. package/dist/docusaurus/workspace.js +350 -0
  147. package/dist/docusaurus/workspace.js.map +1 -0
  148. package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts +97 -0
  149. package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts.map +1 -0
  150. package/dist/doxygen/data-model/compounds/compounddef-dm.js +498 -0
  151. package/dist/doxygen/data-model/compounds/compounddef-dm.js.map +1 -0
  152. package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts +27 -0
  153. package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts.map +1 -0
  154. package/dist/doxygen/data-model/compounds/compoundreftype-dm.js +91 -0
  155. package/dist/doxygen/data-model/compounds/compoundreftype-dm.js.map +1 -0
  156. package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts +1214 -0
  157. package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts.map +1 -0
  158. package/dist/doxygen/data-model/compounds/descriptiontype-dm.js +5995 -0
  159. package/dist/doxygen/data-model/compounds/descriptiontype-dm.js.map +1 -0
  160. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts +22 -0
  161. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts.map +1 -0
  162. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js +136 -0
  163. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js.map +1 -0
  164. package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts +14 -0
  165. package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts.map +1 -0
  166. package/dist/doxygen/data-model/compounds/doxygentype-dm.js +87 -0
  167. package/dist/doxygen/data-model/compounds/doxygentype-dm.js.map +1 -0
  168. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts +23 -0
  169. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts.map +1 -0
  170. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js +104 -0
  171. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js.map +1 -0
  172. package/dist/doxygen/data-model/compounds/inctype-dm.d.ts +24 -0
  173. package/dist/doxygen/data-model/compounds/inctype-dm.d.ts.map +1 -0
  174. package/dist/doxygen/data-model/compounds/inctype-dm.js +84 -0
  175. package/dist/doxygen/data-model/compounds/inctype-dm.js.map +1 -0
  176. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts +33 -0
  177. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts.map +1 -0
  178. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js +102 -0
  179. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js.map +1 -0
  180. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts +17 -0
  181. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts.map +1 -0
  182. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js +69 -0
  183. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js.map +1 -0
  184. package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts +24 -0
  185. package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts.map +1 -0
  186. package/dist/doxygen/data-model/compounds/locationtype-dm.js +109 -0
  187. package/dist/doxygen/data-model/compounds/locationtype-dm.js.map +1 -0
  188. package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts +67 -0
  189. package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts.map +1 -0
  190. package/dist/doxygen/data-model/compounds/memberdeftype-dm.js +253 -0
  191. package/dist/doxygen/data-model/compounds/memberdeftype-dm.js.map +1 -0
  192. package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts +21 -0
  193. package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts.map +1 -0
  194. package/dist/doxygen/data-model/compounds/memberreftype-dm.js +105 -0
  195. package/dist/doxygen/data-model/compounds/memberreftype-dm.js.map +1 -0
  196. package/dist/doxygen/data-model/compounds/membertype-dm.d.ts +17 -0
  197. package/dist/doxygen/data-model/compounds/membertype-dm.d.ts.map +1 -0
  198. package/dist/doxygen/data-model/compounds/membertype-dm.js +87 -0
  199. package/dist/doxygen/data-model/compounds/membertype-dm.js.map +1 -0
  200. package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts +25 -0
  201. package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts.map +1 -0
  202. package/dist/doxygen/data-model/compounds/paramtype-dm.js +115 -0
  203. package/dist/doxygen/data-model/compounds/paramtype-dm.js.map +1 -0
  204. package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts +26 -0
  205. package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts.map +1 -0
  206. package/dist/doxygen/data-model/compounds/referencetype-dm.js +93 -0
  207. package/dist/doxygen/data-model/compounds/referencetype-dm.js.map +1 -0
  208. package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts +15 -0
  209. package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts.map +1 -0
  210. package/dist/doxygen/data-model/compounds/reftexttype-dm.js +80 -0
  211. package/dist/doxygen/data-model/compounds/reftexttype-dm.js.map +1 -0
  212. package/dist/doxygen/data-model/compounds/reftype-dm.d.ts +55 -0
  213. package/dist/doxygen/data-model/compounds/reftype-dm.d.ts.map +1 -0
  214. package/dist/doxygen/data-model/compounds/reftype-dm.js +152 -0
  215. package/dist/doxygen/data-model/compounds/reftype-dm.js.map +1 -0
  216. package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts +20 -0
  217. package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts.map +1 -0
  218. package/dist/doxygen/data-model/compounds/reimplementtype-dm.js +77 -0
  219. package/dist/doxygen/data-model/compounds/reimplementtype-dm.js.map +1 -0
  220. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts +34 -0
  221. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts.map +1 -0
  222. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js +139 -0
  223. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js.map +1 -0
  224. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts +46 -0
  225. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts.map +1 -0
  226. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js +235 -0
  227. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js.map +1 -0
  228. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts +17 -0
  229. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts.map +1 -0
  230. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js +69 -0
  231. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js.map +1 -0
  232. package/dist/doxygen/data-model/data-model.d.ts +91 -0
  233. package/dist/doxygen/data-model/data-model.d.ts.map +1 -0
  234. package/dist/doxygen/data-model/data-model.js +245 -0
  235. package/dist/doxygen/data-model/data-model.js.map +1 -0
  236. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts +21 -0
  237. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts.map +1 -0
  238. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js +95 -0
  239. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js.map +1 -0
  240. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts +20 -0
  241. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts.map +1 -0
  242. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js +92 -0
  243. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js.map +1 -0
  244. package/dist/doxygen/data-model/doxygen-xml-parser.d.ts +261 -0
  245. package/dist/doxygen/data-model/doxygen-xml-parser.d.ts.map +1 -0
  246. package/dist/doxygen/data-model/doxygen-xml-parser.js +459 -0
  247. package/dist/doxygen/data-model/doxygen-xml-parser.js.map +1 -0
  248. package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts +21 -0
  249. package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts.map +1 -0
  250. package/dist/doxygen/data-model/index/indexcompoundtype-dm.js +96 -0
  251. package/dist/doxygen/data-model/index/indexcompoundtype-dm.js.map +1 -0
  252. package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts +20 -0
  253. package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts.map +1 -0
  254. package/dist/doxygen/data-model/index/indexdoxygentype-dm.js +93 -0
  255. package/dist/doxygen/data-model/index/indexdoxygentype-dm.js.map +1 -0
  256. package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts +19 -0
  257. package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts.map +1 -0
  258. package/dist/doxygen/data-model/index/indexmembertype-dm.js +89 -0
  259. package/dist/doxygen/data-model/index/indexmembertype-dm.js.map +1 -0
  260. package/dist/doxygen/data-model/types.d.ts +44 -0
  261. package/dist/doxygen/data-model/types.d.ts.map +1 -0
  262. package/dist/doxygen/data-model/types.js +24 -0
  263. package/dist/doxygen/data-model/types.js.map +1 -0
  264. package/dist/index.d.ts +43 -0
  265. package/dist/index.d.ts.map +1 -0
  266. package/dist/index.js +69 -0
  267. package/dist/index.js.map +1 -0
  268. package/dist/tsconfig.tsbuildinfo +1 -0
  269. package/package.json +99 -0
  270. package/template/css/custom.css +908 -0
  271. package/template/img/README.md +3 -0
  272. package/template/img/document-svgrepo-com.svg +5 -0
  273. package/template/img/folder-svgrepo-com.svg +5 -0
@@ -0,0 +1,92 @@
1
+ /*
2
+ * This file is part of the xPack project (http://xpack.github.io).
3
+ * Copyright (c) 2025 Liviu Ionescu. All rights reserved.
4
+ *
5
+ * Permission to use, copy, modify, and/or distribute this software
6
+ * for any purpose is hereby granted, under the terms of the MIT license.
7
+ *
8
+ * If a copy of the license was not distributed with this file, it can
9
+ * be obtained from https://opensource.org/licenses/MIT.
10
+ */
11
+ // ----------------------------------------------------------------------------
12
+ import assert from 'node:assert';
13
+ import * as util from 'node:util';
14
+ import { DoxygenFileOptionDataModel } from './doxyfileoptiontype-dm.js';
15
+ import { AbstractDataModelBase } from '../types.js';
16
+ // ----------------------------------------------------------------------------
17
+ // <xsd:complexType name="DoxygenFileType">
18
+ // <xsd:sequence>
19
+ // <xsd:element name="option" type="OptionType" minOccurs="0" maxOccurs="unbounded"/>
20
+ // </xsd:sequence>
21
+ // <xsd:attribute name="version" type="xsd:string" use="required"/>
22
+ // <xsd:attribute ref="xml:lang" use="required"/>
23
+ // </xsd:complexType>
24
+ /**
25
+ * @public
26
+ */
27
+ export class AbstractDoxygenFileType extends AbstractDataModelBase {
28
+ // Mandatory attributes.
29
+ version = '';
30
+ lang = '';
31
+ // Optional elements.
32
+ options;
33
+ // Optional attributes.
34
+ noNamespaceSchemaLocation;
35
+ constructor(xml, element, elementName) {
36
+ super(elementName);
37
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
38
+ const innerElements = xml.getInnerElements(element, elementName);
39
+ assert(innerElements.length > 0);
40
+ for (const innerElement of innerElements) {
41
+ if (xml.hasInnerText(innerElement)) {
42
+ // Ignore texts.
43
+ }
44
+ else if (xml.hasInnerElement(innerElement, 'option')) {
45
+ this.options ??= [];
46
+ this.options.push(new DoxygenFileOptionDataModel(xml, innerElement));
47
+ }
48
+ else {
49
+ console.error(util.inspect(innerElement));
50
+ console.error(`doxyfile ${elementName} element:`, Object.keys(innerElement), 'not implemented yet in', this.constructor.name);
51
+ }
52
+ }
53
+ // ------------------------------------------------------------------------
54
+ // Process attributes.
55
+ assert(xml.hasAttributes(element));
56
+ const attributesNames = xml.getAttributesNames(element);
57
+ // console.log(attributesNames)
58
+ for (const attributeName of attributesNames) {
59
+ // console.log(attributeName)
60
+ if (attributeName === '@_version') {
61
+ this.version = xml.getAttributeStringValue(element, '@_version');
62
+ }
63
+ else if (attributeName === '@_lang') {
64
+ this.lang = xml.getAttributeStringValue(element, '@_lang');
65
+ }
66
+ else if (attributeName === '@_noNamespaceSchemaLocation') {
67
+ this.noNamespaceSchemaLocation = xml.getAttributeStringValue(element, '@_noNamespaceSchemaLocation');
68
+ }
69
+ else {
70
+ console.error(util.inspect(element, { compact: false, depth: 999 }));
71
+ console.error(`doxyfile ${elementName} attribute:`, attributeName, 'not implemented yet in', this.constructor.name);
72
+ }
73
+ }
74
+ assert(this.version.length > 0);
75
+ assert(this.lang.length > 0);
76
+ // ------------------------------------------------------------------------
77
+ // console.log(util.inspect(this, { compact: false, depth: 999 }))
78
+ }
79
+ }
80
+ // ----------------------------------------------------------------------------
81
+ // <xsd:element name="doxyfile" type="DoxygenFileType"/>
82
+ /**
83
+ * @public
84
+ */
85
+ export class DoxygenFileDataModel extends AbstractDoxygenFileType {
86
+ constructor(xml, element) {
87
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
88
+ super(xml, element, 'doxyfile');
89
+ }
90
+ }
91
+ // ----------------------------------------------------------------------------
92
+ //# sourceMappingURL=doxyfiletype-dm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doxyfiletype-dm.js","sourceRoot":"","sources":["../../../../src/doxygen/data-model/doxyfile/doxyfiletype-dm.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,261 @@
1
+ import { XMLParser } from 'fast-xml-parser';
2
+ import { XmlElement } from './types.js';
3
+ import { CliOptions } from '../../docusaurus/cli-options.js';
4
+ import { AbstractDocImageType } from './compounds/descriptiontype-dm.js';
5
+ /**
6
+ * The DoxygenXmlParser class is responsible for parsing
7
+ * Doxygen-generated XML files and constructing the internal data model.
8
+ *
9
+ * @remarks
10
+ * This class initialises the XML parser with options that preserve the order
11
+ * and structure of the original XML content, ensuring accurate conversion
12
+ * for documentation purposes. It maintains a counter for the number of files
13
+ * parsed and stores the resulting data model.
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * const parser = new DoxygenXmlParser({ options });
18
+ * const dataModel = await parser.parse();
19
+ * ```
20
+ *
21
+ * @public
22
+ */
23
+ export declare class DoxygenXmlParser {
24
+ /**
25
+ * The global configuration options.
26
+ */
27
+ options: CliOptions;
28
+ /**
29
+ * The XML parser instance configured for Doxygen XML.
30
+ */
31
+ xmlParser: XMLParser;
32
+ images: AbstractDocImageType[];
33
+ /**
34
+ * Constructs a new instance of the DoxygenXmlParser class.
35
+ *
36
+ * @param options - The global configuration options
37
+ *
38
+ * @remarks
39
+ * This constructor initialises the XML parser with settings that preserve the
40
+ * order and structure of the original XML content, remove namespace prefixes,
41
+ * and ensure that both tag and attribute values are parsed. The values are
42
+ * not
43
+ * trimmed, maintaining fidelity to the source XML. The provided options are
44
+ * stored for use throughout the parsing process.
45
+ */
46
+ constructor(options: CliOptions);
47
+ /**
48
+ * Determines whether the specified XML element has any attributes.
49
+ *
50
+ * @param element - The XML element to inspect for attributes
51
+ * @returns True if the element has attributes; otherwise, false
52
+ *
53
+ * @remarks
54
+ * This method checks for the presence of the ':\@' property on the XML
55
+ * element, which is the convention used by the XML parser for storing
56
+ * attributes. If this property exists, the element has attributes; if not,
57
+ * the element has no attributes. This is a prerequisite check before calling
58
+ * {@link DoxygenXmlParser.getAttributesNames} or other attribute-related
59
+ * methods.
60
+ */
61
+ hasAttributes(element: object): boolean;
62
+ /**
63
+ * Retrieves the names of all attributes present on the specified XML element.
64
+ *
65
+ * @param element - The XML element to inspect for attribute names
66
+ * @returns An array of strings containing the names of all attributes
67
+ *
68
+ * @remarks
69
+ * This method accesses the ':\@' property of the XML element, which is the
70
+ * convention used by the XML parser for storing attributes, and returns the
71
+ * keys of this object as an array of attribute names. The method assumes the
72
+ * element has attributes and does not perform validation - use
73
+ * {@link DoxygenXmlParser.hasAttributes} to check for attribute presence
74
+ * first.
75
+ */
76
+ getAttributesNames(element: object): string[];
77
+ /**
78
+ * Determines whether the specified attribute exists on the given XML element.
79
+ *
80
+ * @param element - The XML element to inspect
81
+ * @param name - The name of the attribute to check for
82
+ * @returns True if the attribute exists; otherwise, false
83
+ *
84
+ * @remarks
85
+ * This method checks for the presence of an attribute within the ':\@'
86
+ * property of the XML element, which is the convention used by the XML
87
+ * parser for storing attributes. It returns true if the attribute is found,
88
+ * otherwise false.
89
+ */
90
+ hasAttribute(element: object, name: string): boolean;
91
+ /**
92
+ * Retrieves the value of a named attribute as a string.
93
+ *
94
+ * @param element - The XML element containing the attribute
95
+ * @param name - The name of the attribute to retrieve
96
+ * @returns The attribute value as a string
97
+ * @throws If the attribute does not exist
98
+ *
99
+ * @remarks
100
+ * This method checks whether the specified attribute exists on the XML
101
+ * element and returns its value as a string. If the attribute value is
102
+ * originally a number (as the XML parser may return numeric strings as
103
+ * numbers), it is converted to a string to maintain consistency with the
104
+ * DTD specification. If the attribute is missing, an error is thrown to
105
+ * indicate the absence.
106
+ */
107
+ getAttributeStringValue(element: object, name: string): string;
108
+ /**
109
+ * Retrieves the value of a named attribute as a number.
110
+ *
111
+ * @param element - The XML element containing the attribute
112
+ * @param name - The name of the attribute to retrieve
113
+ * @returns The attribute value as a number
114
+ * @throws If the attribute does not exist or is not a number
115
+ *
116
+ * @remarks
117
+ * This method checks whether the specified attribute exists on the XML
118
+ * element and returns its value as a number. If the attribute is missing
119
+ * or its value is not a number, an error is thrown to indicate the absence
120
+ * or incorrect type.
121
+ */
122
+ getAttributeNumberValue(element: object, name: string): number;
123
+ /**
124
+ * Retrieves the value of a named attribute as a boolean.
125
+ *
126
+ * @param element - The XML element containing the attribute
127
+ * @param name - The name of the attribute to retrieve
128
+ * @returns True if the attribute value is 'yes' (case-insensitive);
129
+ * otherwise, false
130
+ * @throws If the attribute does not exist or is not a string
131
+ *
132
+ * @remarks
133
+ * This method checks whether the specified attribute exists on the XML
134
+ * element, and returns true if its value is the string 'yes'
135
+ * (case-insensitive). If the attribute is missing or its value is not a
136
+ * string, an error is thrown.
137
+ */
138
+ getAttributeBooleanValue(element: object, name: string): boolean;
139
+ /**
140
+ * Determines whether the specified inner element exists on the given XML
141
+ * element.
142
+ *
143
+ * @param element - The XML element to inspect
144
+ * @param name - The name of the inner element to check for
145
+ * @returns True if the inner element exists; otherwise, false
146
+ *
147
+ * @remarks
148
+ * This method checks for the presence of a named property on the XML element.
149
+ * For text nodes ('#text'), it verifies the value is a string, number, or
150
+ * boolean. For other elements, it confirms the property is an array, as
151
+ * per the XML parser's convention.
152
+ */
153
+ hasInnerElement(element: object, name: string): boolean;
154
+ /**
155
+ * Determines whether a named inner element contains text.
156
+ *
157
+ * @param element - The XML element to inspect
158
+ * @param name - The name of the inner element
159
+ * @returns True if the inner element contains text or is empty;
160
+ * otherwise, false
161
+ *
162
+ * @remarks
163
+ * This method checks if the specified inner element exists and contains a
164
+ * single text node, or is an empty array (representing an empty string).
165
+ * It asserts the expected structure and type of the value for robustness.
166
+ */
167
+ isInnerElementText(element: object, name: string): boolean;
168
+ /**
169
+ * Determines whether the XML element contains a text node.
170
+ *
171
+ * @param element - The XML element to inspect
172
+ * @returns True if the element contains a text node; otherwise, false
173
+ *
174
+ * @remarks
175
+ * This method checks for the presence of a '#text' property on the XML
176
+ * element, and verifies that its value is a string, number, or boolean.
177
+ */
178
+ hasInnerText(element: object): boolean;
179
+ /**
180
+ * Retrieves an array of named child elements from the given XML element.
181
+ *
182
+ * @typeParam T - The expected type of the child elements array
183
+ * (defaults to XmlElement[])
184
+ * @param element - The XML element containing the child elements
185
+ * @param name - The name of the child elements to retrieve
186
+ * @returns The array of child elements
187
+ * @throws If the child elements do not exist
188
+ *
189
+ * @remarks
190
+ * This method accesses the specified property on the XML element and
191
+ * returns it as an array of child elements. If the property is undefined,
192
+ * an error is thrown indicating the absence of the expected child element.
193
+ */
194
+ getInnerElements<T = XmlElement[]>(element: object, name: string): T;
195
+ /**
196
+ * Retrieves the text content of a named child element.
197
+ *
198
+ * @param element - The XML element containing the child element
199
+ * @param name - The name of the child element
200
+ * @returns The text content of the child element
201
+ * @throws If the child element does not exist or contains more than one
202
+ * element
203
+ *
204
+ * @remarks
205
+ * This method accesses the specified child element and returns its text
206
+ * content. If the child element is missing, an error is thrown. If the
207
+ * child element is empty, an empty string is returned. If there is more
208
+ * than one child element, an error is thrown to indicate unexpected
209
+ * structure.
210
+ */
211
+ getInnerElementText(element: object, name: string): string;
212
+ /**
213
+ * Retrieves the numeric value of a named child element.
214
+ *
215
+ * @param element - The XML element containing the child element
216
+ * @param name - The name of the child element
217
+ * @returns The numeric value of the child element
218
+ * @throws If the child element does not exist or contains more than one
219
+ * element
220
+ *
221
+ * @remarks
222
+ * This method accesses the specified child element and returns its value
223
+ * as a number. If the child element is missing, an error is thrown. If the
224
+ * child element is empty, NaN is returned. If there is more than one child
225
+ * element, an error is thrown to indicate unexpected structure.
226
+ */
227
+ getInnerElementNumber(element: object, name: string): number;
228
+ /**
229
+ * Retrieves the boolean value of a named child element.
230
+ *
231
+ * @param element - The XML element containing the child element
232
+ * @param name - The name of the child element
233
+ * @returns True if the child element's text is 'true'
234
+ * (case-insensitive); otherwise, false
235
+ * @throws If the child element does not exist or contains more than one
236
+ * element
237
+ *
238
+ * @remarks
239
+ * This method accesses the specified child element and returns its value
240
+ * as a boolean. If the child element is missing, an error is thrown. If
241
+ * the child element is empty, false is returned. If there is more than one
242
+ * child element, an error is thrown to indicate unexpected structure.
243
+ */
244
+ getInnerElementBoolean(element: object, name: string): boolean;
245
+ /**
246
+ * Retrieves the text content of the XML element.
247
+ *
248
+ * @param element - The XML element to retrieve text from
249
+ * @returns The text content of the element
250
+ * @throws If the element does not contain a valid text node
251
+ *
252
+ * @remarks
253
+ * This method accesses the '#text' property of the XML element and
254
+ * returns its value as a string. It asserts that the value is of type
255
+ * string, number, or boolean before converting it to a string. If the
256
+ * property is missing or the value is of an unexpected type, an error is
257
+ * thrown.
258
+ */
259
+ getInnerText(element: object): string;
260
+ }
261
+ //# sourceMappingURL=doxygen-xml-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doxygen-xml-parser.d.ts","sourceRoot":"","sources":["../../../src/doxygen/data-model/doxygen-xml-parser.ts"],"names":[],"mappings":"AAgCA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AAIxE;;;;;;;;;;;;;;;;;GAiBG;AAEH,qBAAa,gBAAgB;IAC3B;;OAEG;IACH,OAAO,EAAE,UAAU,CAAA;IAEnB;;OAEG;IACH,SAAS,EAAE,SAAS,CAAA;IAEpB,MAAM,EAAE,oBAAoB,EAAE,CAAK;IAEnC;;;;;;;;;;;;OAYG;gBACS,OAAO,EAAE,UAAU;IAe/B;;;;;;;;;;;;;OAaG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIvC;;;;;;;;;;;;;OAaG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAK7C;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAUpD;;;;;;;;;;;;;;;OAeG;IACH,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAoB9D;;;;;;;;;;;;;OAaG;IACH,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAgB9D;;;;;;;;;;;;;;OAcG;IACH,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAgBhE;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAoBvD;;;;;;;;;;;;OAYG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IA6B1D;;;;;;;;;OASG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAetC;;;;;;;;;;;;;;OAcG;IAEH,gBAAgB,CAAC,CAAC,GAAG,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;IAapE;;;;;;;;;;;;;;;OAeG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAoB1D;;;;;;;;;;;;;;OAcG;IACH,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAoB5D;;;;;;;;;;;;;;;OAeG;IACH,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAqB9D;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAUtC"}