@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,498 @@
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 * as util from 'node:util';
13
+ import assert from 'node:assert';
14
+ import { IncludedByDataModel, IncludesDataModel } from './inctype-dm.js';
15
+ import { BaseCompoundRefDataModel, DerivedCompoundRefDataModel, } from './compoundreftype-dm.js';
16
+ import { TemplateParamListDataModel } from './templateparamlisttype-dm.js';
17
+ import { SectionDefDataModel } from './sectiondeftype-dm.js';
18
+ import { ListOfAllMembersDataModel } from './listofallmemberstype-dm.js';
19
+ import { AbstractStringType, BriefDescriptionDataModel, DetailedDescriptionDataModel, ParaDataModel, ProgramListingDataModel, Sect5DataModel, } from './descriptiontype-dm.js';
20
+ import { InnerClassDataModel, InnerDirDataModel, InnerFileDataModel, InnerGroupDataModel, InnerNamespaceDataModel, InnerPageDataModel, } from './reftype-dm.js';
21
+ import { LocationDataModel } from './locationtype-dm.js';
22
+ import { AbstractDataModelBase } from '../types.js';
23
+ import { TableOfContentsDataModel } from './tableofcontentstype-dm.js';
24
+ // ----------------------------------------------------------------------------
25
+ // Template, to be used for creating new objects.
26
+ export class AbstractXyzType extends AbstractDataModelBase {
27
+ // If the object has a text.
28
+ text = '';
29
+ // Mandatory elements.
30
+ compoundName = '';
31
+ colsCount = NaN;
32
+ elm12 = false;
33
+ // elm13: BriefDescriptionDataModel
34
+ // Optional elements.
35
+ elm20;
36
+ elm21;
37
+ elm22;
38
+ briefDescription;
39
+ includes;
40
+ // Mandatory attributes.
41
+ id = '';
42
+ rowsCount = NaN;
43
+ thead = false;
44
+ // Optional attributes.
45
+ language;
46
+ final;
47
+ lineno;
48
+ attr23;
49
+ // ------------------------------------------
50
+ // children: Array<string | ParaDataModel | Sect5DataModel> = []
51
+ constructor(xml, element, elementName) {
52
+ super(elementName);
53
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
54
+ // ------------------------------------------------------------------------
55
+ // Process elements.
56
+ // If the object has only a text.
57
+ assert(xml.isInnerElementText(element, elementName));
58
+ this.text = xml.getInnerElementText(element, elementName);
59
+ // ------------------------------------------
60
+ // If the object has sub-elements.
61
+ const innerElements = xml.getInnerElements(element, elementName);
62
+ assert(innerElements.length > 0);
63
+ for (const innerElement of innerElements) {
64
+ if (xml.hasInnerText(innerElement)) {
65
+ // Ignore texts.
66
+ }
67
+ else if (xml.isInnerElementText(innerElement, 'compoundname')) {
68
+ this.compoundName = xml.getInnerElementText(innerElement, 'compoundname');
69
+ }
70
+ else if (xml.hasInnerElement(innerElement, 'briefdescription')) {
71
+ this.briefDescription = new BriefDescriptionDataModel(xml, innerElement);
72
+ }
73
+ else if (xml.hasInnerElement(innerElement, 'includes')) {
74
+ // console.log(util.inspect(item))
75
+ this.includes ??= [];
76
+ this.includes.push(new IncludesDataModel(xml, innerElement));
77
+ }
78
+ else {
79
+ console.error(`${elementName} element:`, Object.keys(innerElement), 'not implemented yet in', this.constructor.name);
80
+ }
81
+ }
82
+ // ------------------------------------------
83
+ // If the object has to keep trak of the order of mixed type children.
84
+ // const innerElements = xml.getInnerElements(element, elementName)
85
+ // assert(innerElements.length > 0)
86
+ this.children = [];
87
+ for (const innerElement of innerElements) {
88
+ if (xml.hasInnerText(innerElement)) {
89
+ this.children.push(xml.getInnerText(innerElement));
90
+ }
91
+ else if (xml.hasInnerElement(innerElement, 'para')) {
92
+ this.children.push(new ParaDataModel(xml, innerElement));
93
+ }
94
+ else if (xml.hasInnerElement(innerElement, 'sect5')) {
95
+ this.children.push(new Sect5DataModel(xml, innerElement));
96
+ }
97
+ else {
98
+ console.error(util.inspect(innerElement));
99
+ console.error(`${elementName} element:`, Object.keys(innerElement), 'not implemented yet in', this.constructor.name);
100
+ }
101
+ }
102
+ // ------------------------------------------------------------------------
103
+ // Process attributes.
104
+ // If the object has no attributes.
105
+ assert(!xml.hasAttributes(element));
106
+ // ------------------------------------------
107
+ assert(xml.hasAttributes(element));
108
+ const attributesNames = xml.getAttributesNames(element);
109
+ // console.log(attributesNames)
110
+ for (const attributeName of attributesNames) {
111
+ // console.log(attributeName)
112
+ if (attributeName === '@_id') {
113
+ this.id = xml.getAttributeStringValue(element, '@_id');
114
+ }
115
+ else if (attributeName === '@_rows') {
116
+ assert(isNaN(this.rowsCount));
117
+ this.rowsCount = xml.getAttributeNumberValue(element, '@_rows');
118
+ }
119
+ else if (attributeName === '@_thead') {
120
+ this.thead = xml.getAttributeBooleanValue(element, '@_thead');
121
+ }
122
+ else if (attributeName === '@_language') {
123
+ this.language = xml.getAttributeStringValue(element, '@_language');
124
+ }
125
+ else if (attributeName === '@_final') {
126
+ this.final = Boolean(xml.getAttributeBooleanValue(element, '@_final'));
127
+ }
128
+ else if (attributeName === '@_lineno') {
129
+ this.lineno = Number(xml.getAttributeNumberValue(element, '@_lineno'));
130
+ }
131
+ else {
132
+ console.error(util.inspect(element, { compact: false, depth: 999 }));
133
+ console.error(`${elementName} attribute:`, attributeName, 'not implemented yet in', this.constructor.name);
134
+ }
135
+ }
136
+ assert(this.id.length > 0);
137
+ // ------------------------------------------------------------------------
138
+ // console.log(util.inspect(this, { compact: false, depth: 999 }))
139
+ }
140
+ }
141
+ export class XyzDataModel extends AbstractXyzType {
142
+ constructor(xml, element) {
143
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
144
+ super(xml, element, 'xyz');
145
+ }
146
+ }
147
+ // ----------------------------------------------------------------------------
148
+ // <xsd:complexType name="compounddefType">
149
+ // <xsd:sequence>
150
+ // <xsd:element name="compoundname" type="xsd:string"/>
151
+ // <xsd:element name="title" type="xsd:string" minOccurs="0" />
152
+ // <xsd:element name="basecompoundref" type="compoundRefType" minOccurs="0" maxOccurs="unbounded" />
153
+ // <xsd:element name="derivedcompoundref" type="compoundRefType" minOccurs="0" maxOccurs="unbounded" />
154
+ // <xsd:element name="includes" type="incType" minOccurs="0" maxOccurs="unbounded" />
155
+ // <xsd:element name="includedby" type="incType" minOccurs="0" maxOccurs="unbounded" />
156
+ // <xsd:element name="incdepgraph" type="graphType" minOccurs="0" />
157
+ // <xsd:element name="invincdepgraph" type="graphType" minOccurs="0" />
158
+ // <xsd:element name="innermodule" type="refType" minOccurs="0" maxOccurs="unbounded" />
159
+ // <xsd:element name="innerdir" type="refType" minOccurs="0" maxOccurs="unbounded" />
160
+ // <xsd:element name="innerfile" type="refType" minOccurs="0" maxOccurs="unbounded" />
161
+ // <xsd:element name="innerclass" type="refType" minOccurs="0" maxOccurs="unbounded" />
162
+ // <xsd:element name="innerconcept" type="refType" minOccurs="0" maxOccurs="unbounded" />
163
+ // <xsd:element name="innernamespace" type="refType" minOccurs="0" maxOccurs="unbounded" />
164
+ // <xsd:element name="innerpage" type="refType" minOccurs="0" maxOccurs="unbounded" />
165
+ // <xsd:element name="innergroup" type="refType" minOccurs="0" maxOccurs="unbounded" />
166
+ // <xsd:element name="qualifier" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
167
+ // <xsd:element name="templateparamlist" type="templateparamlistType" minOccurs="0" />
168
+ // <xsd:element name="sectiondef" type="sectiondefType" minOccurs="0" maxOccurs="unbounded" />
169
+ // <xsd:element name="tableofcontents" type="tableofcontentsType" minOccurs="0" maxOccurs="1" />
170
+ // <xsd:element name="requiresclause" type="linkedTextType" minOccurs="0" />
171
+ // <xsd:element name="initializer" type="linkedTextType" minOccurs="0" />
172
+ // <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
173
+ // <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
174
+ // <xsd:element name="exports" type="exportsType" minOccurs="0" maxOccurs="1"/>
175
+ // <xsd:element name="inheritancegraph" type="graphType" minOccurs="0" />
176
+ // <xsd:element name="collaborationgraph" type="graphType" minOccurs="0" />
177
+ // <xsd:element name="programlisting" type="listingType" minOccurs="0" />
178
+ // <xsd:element name="location" type="locationType" minOccurs="0" />
179
+ // <xsd:element name="listofallmembers" type="listofallmembersType" minOccurs="0" />
180
+ // </xsd:sequence>
181
+ // <xsd:attribute name="id" type="xsd:string" />
182
+ // <xsd:attribute name="kind" type="DoxCompoundKind" />
183
+ // <xsd:attribute name="language" type="DoxLanguage" use="optional"/>
184
+ // <xsd:attribute name="prot" type="DoxProtectionKind" />
185
+ // <xsd:attribute name="final" type="DoxBool" use="optional"/>
186
+ // <xsd:attribute name="inline" type="DoxBool" use="optional"/>
187
+ // <xsd:attribute name="sealed" type="DoxBool" use="optional"/>
188
+ // <xsd:attribute name="abstract" type="DoxBool" use="optional"/>
189
+ // </xsd:complexType>
190
+ // <xsd:simpleType name="DoxCompoundKind">
191
+ // <xsd:restriction base="xsd:string">
192
+ // <xsd:enumeration value="class" />
193
+ // <xsd:enumeration value="struct" />
194
+ // <xsd:enumeration value="union" />
195
+ // <xsd:enumeration value="interface" />
196
+ // <xsd:enumeration value="protocol" />
197
+ // <xsd:enumeration value="category" />
198
+ // <xsd:enumeration value="exception" />
199
+ // <xsd:enumeration value="service" />
200
+ // <xsd:enumeration value="singleton" />
201
+ // <xsd:enumeration value="module" />
202
+ // <xsd:enumeration value="type" />
203
+ // <xsd:enumeration value="file" />
204
+ // <xsd:enumeration value="namespace" />
205
+ // <xsd:enumeration value="group" />
206
+ // <xsd:enumeration value="page" />
207
+ // <xsd:enumeration value="example" />
208
+ // <xsd:enumeration value="dir" />
209
+ // <xsd:enumeration value="concept" />
210
+ // </xsd:restriction>
211
+ // </xsd:simpleType>
212
+ /**
213
+ * @public
214
+ */
215
+ export class AbstractCompoundDefType extends AbstractDataModelBase {
216
+ // Mandatory elements.
217
+ compoundName = '';
218
+ // Optional elements.
219
+ title;
220
+ briefDescription;
221
+ detailedDescription;
222
+ baseCompoundRefs;
223
+ derivedCompoundRefs;
224
+ includes;
225
+ includedBy;
226
+ templateParamList;
227
+ sectionDefs;
228
+ tableOfContents;
229
+ // innerModules
230
+ innerDirs;
231
+ innerFiles;
232
+ innerClasses;
233
+ // innerConcepts
234
+ innerNamespaces;
235
+ innerPages;
236
+ innerGroups;
237
+ programListing;
238
+ location;
239
+ listOfAllMembers;
240
+ // Mandatory attributes.
241
+ id = '';
242
+ kind = ''; // DoxCompoundKind
243
+ // Optional attributes.
244
+ language; // DoxLanguage
245
+ // WARNING: This attribute is not marked as optional, but is not present.
246
+ prot;
247
+ final;
248
+ inline;
249
+ sealed;
250
+ abstract;
251
+ // Not in xsd.
252
+ // parentId: string = ''
253
+ // permalink: string = ''
254
+ constructor(xml, element, elementName) {
255
+ super(elementName);
256
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
257
+ // ------------------------------------------------------------------------
258
+ // Process elements.
259
+ // console.log(util.inspect(element, { compact: false, depth: 999 })
260
+ const innerElements = xml.getInnerElements(element, elementName);
261
+ assert(innerElements.length > 0);
262
+ for (const innerElement of innerElements) {
263
+ if (xml.hasInnerText(innerElement)) {
264
+ // Ignore texts.
265
+ }
266
+ else if (xml.isInnerElementText(innerElement, 'compoundname')) {
267
+ this.compoundName = xml.getInnerElementText(innerElement, 'compoundname');
268
+ }
269
+ else if (xml.isInnerElementText(innerElement, 'title')) {
270
+ this.title = xml.getInnerElementText(innerElement, 'title');
271
+ }
272
+ else if (xml.hasInnerElement(innerElement, 'briefdescription')) {
273
+ this.briefDescription = new BriefDescriptionDataModel(xml, innerElement);
274
+ }
275
+ else if (xml.hasInnerElement(innerElement, 'detaileddescription')) {
276
+ this.detailedDescription = new DetailedDescriptionDataModel(xml, innerElement);
277
+ }
278
+ else if (xml.hasInnerElement(innerElement, 'basecompoundref')) {
279
+ this.baseCompoundRefs ??= [];
280
+ this.baseCompoundRefs.push(new BaseCompoundRefDataModel(xml, innerElement));
281
+ }
282
+ else if (xml.hasInnerElement(innerElement, 'derivedcompoundref')) {
283
+ this.derivedCompoundRefs ??= [];
284
+ this.derivedCompoundRefs.push(new DerivedCompoundRefDataModel(xml, innerElement));
285
+ }
286
+ else if (xml.hasInnerElement(innerElement, 'includes')) {
287
+ // console.log(util.inspect(item))
288
+ this.includes ??= [];
289
+ this.includes.push(new IncludesDataModel(xml, innerElement));
290
+ }
291
+ else if (xml.hasInnerElement(innerElement, 'includedby')) {
292
+ // console.log(util.inspect(item))
293
+ this.includedBy ??= [];
294
+ this.includedBy.push(new IncludedByDataModel(xml, innerElement));
295
+ }
296
+ else if (xml.hasInnerElement(innerElement, 'incdepgraph')) {
297
+ // TODO: Ignored, not used for now.
298
+ }
299
+ else if (xml.hasInnerElement(innerElement, 'invincdepgraph')) {
300
+ // TODO: Ignored, not used for now.
301
+ }
302
+ else if (xml.hasInnerElement(innerElement, 'innerdir')) {
303
+ this.innerDirs ??= [];
304
+ this.innerDirs.push(new InnerDirDataModel(xml, innerElement));
305
+ }
306
+ else if (xml.hasInnerElement(innerElement, 'innerfile')) {
307
+ this.innerFiles ??= [];
308
+ this.innerFiles.push(new InnerFileDataModel(xml, innerElement));
309
+ }
310
+ else if (xml.hasInnerElement(innerElement, 'innerclass')) {
311
+ this.innerClasses ??= [];
312
+ this.innerClasses.push(new InnerClassDataModel(xml, innerElement));
313
+ }
314
+ else if (xml.hasInnerElement(innerElement, 'innernamespace')) {
315
+ this.innerNamespaces ??= [];
316
+ this.innerNamespaces.push(new InnerNamespaceDataModel(xml, innerElement));
317
+ }
318
+ else if (xml.hasInnerElement(innerElement, 'innerpage')) {
319
+ this.innerPages ??= [];
320
+ this.innerPages.push(new InnerPageDataModel(xml, innerElement));
321
+ }
322
+ else if (xml.hasInnerElement(innerElement, 'innergroup')) {
323
+ this.innerGroups ??= [];
324
+ this.innerGroups.push(new InnerGroupDataModel(xml, innerElement));
325
+ }
326
+ else if (xml.hasInnerElement(innerElement, 'templateparamlist')) {
327
+ this.templateParamList = new TemplateParamListDataModel(xml, innerElement);
328
+ }
329
+ else if (xml.hasInnerElement(innerElement, 'sectiondef')) {
330
+ this.sectionDefs ??= [];
331
+ this.sectionDefs.push(new SectionDefDataModel(xml, innerElement));
332
+ }
333
+ else if (xml.hasInnerElement(innerElement, 'tableofcontents')) {
334
+ this.tableOfContents = new TableOfContentsDataModel(xml, innerElement);
335
+ }
336
+ else if (xml.hasInnerElement(innerElement, 'inheritancegraph')) {
337
+ // TODO: Ignored, not used for now.
338
+ }
339
+ else if (xml.hasInnerElement(innerElement, 'collaborationgraph')) {
340
+ // TODO: Ignored, not used for now.
341
+ }
342
+ else if (xml.hasInnerElement(innerElement, 'programlisting')) {
343
+ assert(this.programListing === undefined);
344
+ this.programListing = new ProgramListingDataModel(xml, innerElement);
345
+ }
346
+ else if (xml.hasInnerElement(innerElement, 'location')) {
347
+ this.location = new LocationDataModel(xml, innerElement);
348
+ }
349
+ else if (xml.hasInnerElement(innerElement, 'listofallmembers')) {
350
+ this.listOfAllMembers = new ListOfAllMembersDataModel(xml, innerElement);
351
+ }
352
+ else {
353
+ console.error(`${elementName} element:`, Object.keys(innerElement), 'not implemented yet in', this.constructor.name);
354
+ }
355
+ }
356
+ // Moved down, depends on kind.
357
+ // assert(this.compoundName.length > 0)
358
+ // ------------------------------------------------------------------------
359
+ // Process attributes.
360
+ assert(xml.hasAttributes(element));
361
+ const attributesNames = xml.getAttributesNames(element);
362
+ // console.log(attributesNames)
363
+ for (const attributeName of attributesNames) {
364
+ // console.log(attributeName)
365
+ if (attributeName === '@_id') {
366
+ this.id = xml.getAttributeStringValue(element, '@_id');
367
+ }
368
+ else if (attributeName === '@_kind') {
369
+ this.kind = xml.getAttributeStringValue(element, '@_kind');
370
+ }
371
+ else if (attributeName === '@_language') {
372
+ this.language = xml.getAttributeStringValue(element, '@_language');
373
+ }
374
+ else if (attributeName === '@_prot') {
375
+ this.prot = xml.getAttributeStringValue(element, '@_prot');
376
+ }
377
+ else if (attributeName === '@_final') {
378
+ this.final = Boolean(xml.getAttributeBooleanValue(element, '@_final'));
379
+ }
380
+ else if (attributeName === '@_inline') {
381
+ this.inline = Boolean(xml.getAttributeBooleanValue(element, '@_inline'));
382
+ }
383
+ else if (attributeName === '@_sealed') {
384
+ this.sealed = Boolean(xml.getAttributeBooleanValue(element, '@_sealed'));
385
+ }
386
+ else if (attributeName === '@_abstract') {
387
+ this.abstract = Boolean(xml.getAttributeBooleanValue(element, '@_abstract'));
388
+ }
389
+ else {
390
+ console.error(util.inspect(element, { compact: false, depth: 999 }));
391
+ console.error(`${elementName} attribute:`, attributeName, 'not implemented yet in', this.constructor.name);
392
+ }
393
+ }
394
+ assert(this.id.length > 0);
395
+ assert(this.kind.length > 0);
396
+ // WARNING: The attribute is not marked as optional, but is not present.
397
+ // assert(this.prot.length > 0)
398
+ if (this.kind !== 'namespace') {
399
+ assert(this.compoundName.length > 0);
400
+ }
401
+ // ------------------------------------------------------------------------
402
+ // console.log(util.inspect(this, { compact: false, depth: 999 }))
403
+ }
404
+ }
405
+ // ----------------------------------------------------------------------------
406
+ // <xsd:element name="compounddef" type="compounddefType" minOccurs="0" />
407
+ /**
408
+ * @public
409
+ */
410
+ export class CompoundDefDataModel extends AbstractCompoundDefType {
411
+ constructor(xml, element) {
412
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
413
+ super(xml, element, 'compounddef');
414
+ }
415
+ }
416
+ // ----------------------------------------------------------------------------
417
+ // <xsd:complexType name="docHtmlOnlyType">
418
+ // <xsd:simpleContent>
419
+ // <xsd:extension base="xsd:string">
420
+ // <xsd:attribute name="block" type="xsd:string" />
421
+ // </xsd:extension>
422
+ // </xsd:simpleContent>
423
+ // </xsd:complexType>
424
+ export class AbstractDocHtmlOnlyType extends AbstractDataModelBase {
425
+ text = '';
426
+ block;
427
+ constructor(xml, element, elementName) {
428
+ super(elementName);
429
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
430
+ // ------------------------------------------------------------------------
431
+ // Process elements.
432
+ assert(xml.isInnerElementText(element, elementName));
433
+ this.text = xml.getInnerElementText(element, elementName);
434
+ // ------------------------------------------------------------------------
435
+ // Process attributes.
436
+ if (xml.hasAttributes(element)) {
437
+ const attributesNames = xml.getAttributesNames(element);
438
+ for (const attributeName of attributesNames) {
439
+ if (attributeName === '@_block') {
440
+ this.block = xml.getAttributeStringValue(element, '@_block');
441
+ }
442
+ else {
443
+ console.error(util.inspect(element, { compact: false, depth: 999 }));
444
+ console.error(`${elementName} attribute:`, attributeName, 'not implemented yet in', this.constructor.name);
445
+ }
446
+ }
447
+ }
448
+ // ------------------------------------------------------------------------
449
+ // console.log(util.inspect(this, { compact: false, depth: 999 }))
450
+ }
451
+ }
452
+ // ----------------------------------------------------------------------------
453
+ // <xsd:element name="htmlonly" type="docHtmlOnlyType" />
454
+ export class HtmlOnlyDataModel extends AbstractDocHtmlOnlyType {
455
+ constructor(xml, element) {
456
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
457
+ super(xml, element, 'htmlonly');
458
+ }
459
+ }
460
+ // Normally strings are properties, but these are unusual, so we keep them
461
+ // as objects.
462
+ // <xsd:element name="manonly" type="xsd:string" />
463
+ // <xsd:element name="xmlonly" type="xsd:string" />
464
+ // <xsd:element name="rtfonly" type="xsd:string" />
465
+ // <xsd:element name="latexonly" type="xsd:string" />
466
+ // <xsd:element name="docbookonly" type="xsd:string" />
467
+ export class ManOnlyDataModel extends AbstractStringType {
468
+ constructor(xml, element) {
469
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
470
+ super(xml, element, 'manonly');
471
+ }
472
+ }
473
+ export class XmlOnlyDataModel extends AbstractStringType {
474
+ constructor(xml, element) {
475
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
476
+ super(xml, element, 'xmlonly');
477
+ }
478
+ }
479
+ export class RtfOnlyDataModel extends AbstractStringType {
480
+ constructor(xml, element) {
481
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
482
+ super(xml, element, 'rtfonly');
483
+ }
484
+ }
485
+ export class LatexOnlyDataModel extends AbstractStringType {
486
+ constructor(xml, element) {
487
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
488
+ super(xml, element, 'latexonly');
489
+ }
490
+ }
491
+ export class DocBookOnlyDataModel extends AbstractStringType {
492
+ constructor(xml, element) {
493
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
494
+ super(xml, element, 'docbookonly');
495
+ }
496
+ }
497
+ // ----------------------------------------------------------------------------
498
+ //# sourceMappingURL=compounddef-dm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compounddef-dm.js","sourceRoot":"","sources":["../../../../src/doxygen/data-model/compounds/compounddef-dm.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { DoxygenXmlParser } from '../doxygen-xml-parser.js';
2
+ import { AbstractDataModelBase } from '../types.js';
3
+ /**
4
+ * @public
5
+ */
6
+ export declare abstract class AbstractCompoundRefType extends AbstractDataModelBase {
7
+ text: string;
8
+ prot: string;
9
+ virt: string;
10
+ refid?: string | undefined;
11
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string);
12
+ }
13
+ export type DoxProtectionKind = 'public' | 'protected' | 'private' | 'package';
14
+ export type DoxVirtualKind = 'non-virtual' | 'virtual' | 'pure-virtual';
15
+ /**
16
+ * @public
17
+ */
18
+ export declare class BaseCompoundRefDataModel extends AbstractCompoundRefType {
19
+ constructor(xml: DoxygenXmlParser, element: object);
20
+ }
21
+ /**
22
+ * @public
23
+ */
24
+ export declare class DerivedCompoundRefDataModel extends AbstractCompoundRefType {
25
+ constructor(xml: DoxygenXmlParser, element: object);
26
+ }
27
+ //# sourceMappingURL=compoundreftype-dm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compoundreftype-dm.d.ts","sourceRoot":"","sources":["../../../../src/doxygen/data-model/compounds/compoundreftype-dm.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAcnD;;GAEG;AACH,8BAAsB,uBAAwB,SAAQ,qBAAqB;IAEzE,IAAI,SAAK;IAGT,IAAI,SAAK;IACT,IAAI,SAAK;IAGT,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;gBAEd,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;CA4CxE;AAaD,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAA;AAY9E,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,SAAS,GAAG,cAAc,CAAA;AAOvE;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,uBAAuB;gBACvD,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM;CAInD;AAED;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,uBAAuB;gBAC1D,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM;CAInD"}
@@ -0,0 +1,91 @@
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 { AbstractDataModelBase } from '../types.js';
15
+ // ----------------------------------------------------------------------------
16
+ // <xsd:complexType name="compoundRefType">
17
+ // <xsd:simpleContent>
18
+ // <xsd:extension base="xsd:string">
19
+ // <xsd:attribute name="refid" type="xsd:string" use="optional" />
20
+ // <xsd:attribute name="prot" type="DoxProtectionKind" />
21
+ // <xsd:attribute name="virt" type="DoxVirtualKind" />
22
+ // </xsd:extension>
23
+ // </xsd:simpleContent>
24
+ // </xsd:complexType>
25
+ /**
26
+ * @public
27
+ */
28
+ export class AbstractCompoundRefType extends AbstractDataModelBase {
29
+ // Mandatory elements.
30
+ text = ''; // Passed as element text.
31
+ // Mandatory attributes.
32
+ prot = '';
33
+ virt = '';
34
+ // Optional attributes.
35
+ refid;
36
+ constructor(xml, element, elementName) {
37
+ super(elementName);
38
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
39
+ // ------------------------------------------------------------------------
40
+ // Process elements.
41
+ assert(xml.isInnerElementText(element, elementName));
42
+ this.text = xml.getInnerElementText(element, elementName);
43
+ assert(this.text.length > 0);
44
+ // ------------------------------------------------------------------------
45
+ // Process attributes.
46
+ assert(xml.hasAttributes(element));
47
+ const attributesNames = xml.getAttributesNames(element);
48
+ for (const attributeName of attributesNames) {
49
+ if (attributeName === '@_prot') {
50
+ this.prot = xml.getAttributeStringValue(element, '@_prot');
51
+ }
52
+ else if (attributeName === '@_virt') {
53
+ this.virt = xml.getAttributeStringValue(element, '@_virt');
54
+ }
55
+ else if (attributeName === '@_refid') {
56
+ this.refid = xml.getAttributeStringValue(element, '@_refid');
57
+ }
58
+ else {
59
+ console.error(util.inspect(element, { compact: false, depth: 999 }));
60
+ console.error(`${elementName} attribute:`, attributeName, 'not implemented yet in', this.constructor.name);
61
+ }
62
+ }
63
+ assert(this.prot.length > 0);
64
+ assert(this.virt.length > 0);
65
+ // ------------------------------------------------------------------------
66
+ // console.log(util.inspect(this, { compact: false, depth: 999 }))
67
+ }
68
+ }
69
+ // ----------------------------------------------------------------------------
70
+ // <xsd:element name="basecompoundref" type="compoundRefType" minOccurs="0" maxOccurs="unbounded" />
71
+ // <xsd:element name="derivedcompoundref" type="compoundRefType" minOccurs="0" maxOccurs="unbounded" />
72
+ /**
73
+ * @public
74
+ */
75
+ export class BaseCompoundRefDataModel extends AbstractCompoundRefType {
76
+ constructor(xml, element) {
77
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
78
+ super(xml, element, 'basecompoundref');
79
+ }
80
+ }
81
+ /**
82
+ * @public
83
+ */
84
+ export class DerivedCompoundRefDataModel extends AbstractCompoundRefType {
85
+ constructor(xml, element) {
86
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
87
+ super(xml, element, 'derivedcompoundref');
88
+ }
89
+ }
90
+ // ----------------------------------------------------------------------------
91
+ //# sourceMappingURL=compoundreftype-dm.js.map