typedoc 0.26.11 → 0.27.0-beta.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 (335) hide show
  1. package/bin/package.json +3 -0
  2. package/bin/typedoc +1 -1
  3. package/dist/index.d.ts +23 -13
  4. package/dist/index.js +22 -81
  5. package/dist/lib/application-events.js +1 -4
  6. package/dist/lib/application.d.ts +26 -16
  7. package/dist/lib/application.js +222 -242
  8. package/dist/lib/cli.js +3 -40
  9. package/dist/lib/converter/comments/blockLexer.d.ts +1 -1
  10. package/dist/lib/converter/comments/blockLexer.js +24 -30
  11. package/dist/lib/converter/comments/declarationReference.js +10 -21
  12. package/dist/lib/converter/comments/declarationReferenceResolver.d.ts +2 -2
  13. package/dist/lib/converter/comments/declarationReferenceResolver.js +40 -36
  14. package/dist/lib/converter/comments/discovery.d.ts +4 -4
  15. package/dist/lib/converter/comments/discovery.js +154 -172
  16. package/dist/lib/converter/comments/index.d.ts +4 -4
  17. package/dist/lib/converter/comments/index.js +39 -50
  18. package/dist/lib/converter/comments/lexer.d.ts +1 -1
  19. package/dist/lib/converter/comments/lexer.js +2 -5
  20. package/dist/lib/converter/comments/lineLexer.d.ts +1 -1
  21. package/dist/lib/converter/comments/lineLexer.js +12 -15
  22. package/dist/lib/converter/comments/linkResolver.d.ts +2 -2
  23. package/dist/lib/converter/comments/linkResolver.js +14 -21
  24. package/dist/lib/converter/comments/parser.d.ts +6 -6
  25. package/dist/lib/converter/comments/parser.js +69 -96
  26. package/dist/lib/converter/comments/rawLexer.d.ts +1 -1
  27. package/dist/lib/converter/comments/rawLexer.js +13 -16
  28. package/dist/lib/converter/comments/tagName.js +1 -4
  29. package/dist/lib/converter/comments/textParser.d.ts +4 -4
  30. package/dist/lib/converter/comments/textParser.js +28 -30
  31. package/dist/lib/converter/components.d.ts +2 -3
  32. package/dist/lib/converter/components.js +2 -7
  33. package/dist/lib/converter/context.d.ts +9 -9
  34. package/dist/lib/converter/context.js +54 -44
  35. package/dist/lib/converter/convert-expression.js +16 -23
  36. package/dist/lib/converter/converter-events.d.ts +1 -0
  37. package/dist/lib/converter/converter-events.js +2 -4
  38. package/dist/lib/converter/converter.d.ts +16 -13
  39. package/dist/lib/converter/converter.js +210 -238
  40. package/dist/lib/converter/factories/index-signature.d.ts +1 -1
  41. package/dist/lib/converter/factories/index-signature.js +11 -17
  42. package/dist/lib/converter/factories/signature.d.ts +2 -2
  43. package/dist/lib/converter/factories/signature.js +95 -106
  44. package/dist/lib/converter/index.d.ts +6 -7
  45. package/dist/lib/converter/index.js +3 -11
  46. package/dist/lib/converter/jsdoc.d.ts +1 -1
  47. package/dist/lib/converter/jsdoc.js +34 -41
  48. package/dist/lib/converter/plugins/CategoryPlugin.d.ts +6 -21
  49. package/dist/lib/converter/plugins/CategoryPlugin.js +57 -139
  50. package/dist/lib/converter/plugins/CommentPlugin.d.ts +3 -5
  51. package/dist/lib/converter/plugins/CommentPlugin.js +153 -163
  52. package/dist/lib/converter/plugins/GroupPlugin.d.ts +10 -9
  53. package/dist/lib/converter/plugins/GroupPlugin.js +87 -124
  54. package/dist/lib/converter/plugins/ImplementsPlugin.d.ts +3 -5
  55. package/dist/lib/converter/plugins/ImplementsPlugin.js +255 -321
  56. package/dist/lib/converter/plugins/IncludePlugin.d.ts +11 -0
  57. package/dist/lib/converter/plugins/IncludePlugin.js +72 -0
  58. package/dist/lib/converter/plugins/InheritDocPlugin.d.ts +4 -3
  59. package/dist/lib/converter/plugins/InheritDocPlugin.js +41 -72
  60. package/dist/lib/converter/plugins/LinkResolverPlugin.d.ts +5 -5
  61. package/dist/lib/converter/plugins/LinkResolverPlugin.js +37 -58
  62. package/dist/lib/converter/plugins/MergeModuleWithPlugin.d.ts +12 -0
  63. package/dist/lib/converter/plugins/MergeModuleWithPlugin.js +49 -0
  64. package/dist/lib/converter/plugins/PackagePlugin.d.ts +4 -3
  65. package/dist/lib/converter/plugins/PackagePlugin.js +62 -111
  66. package/dist/lib/converter/plugins/SourcePlugin.d.ts +3 -5
  67. package/dist/lib/converter/plugins/SourcePlugin.js +69 -110
  68. package/dist/lib/converter/plugins/TypePlugin.d.ts +4 -6
  69. package/dist/lib/converter/plugins/TypePlugin.js +95 -158
  70. package/dist/lib/converter/plugins/index.d.ts +10 -9
  71. package/dist/lib/converter/plugins/index.js +10 -21
  72. package/dist/lib/converter/symbols.d.ts +1 -1
  73. package/dist/lib/converter/symbols.js +234 -227
  74. package/dist/lib/converter/types.d.ts +2 -2
  75. package/dist/lib/converter/types.js +252 -237
  76. package/dist/lib/converter/utils/nodes.js +5 -13
  77. package/dist/lib/converter/utils/reflections.d.ts +1 -1
  78. package/dist/lib/converter/utils/reflections.js +4 -7
  79. package/dist/lib/converter/utils/repository.d.ts +1 -1
  80. package/dist/lib/converter/utils/repository.js +103 -97
  81. package/dist/lib/converter/utils/symbols.js +3 -9
  82. package/dist/lib/internationalization/index.d.ts +3 -4
  83. package/dist/lib/internationalization/index.js +3 -8
  84. package/dist/lib/internationalization/internationalization.d.ts +5 -4
  85. package/dist/lib/internationalization/internationalization.js +97 -103
  86. package/dist/lib/internationalization/locale-utils.cjs +8 -0
  87. package/dist/lib/internationalization/locale-utils.d.cts +8 -0
  88. package/dist/lib/internationalization/locales/en.cjs +366 -2
  89. package/dist/lib/internationalization/locales/en.d.cts +339 -2
  90. package/dist/lib/internationalization/locales/jp.cjs +8 -11
  91. package/dist/lib/internationalization/locales/jp.d.cts +310 -1
  92. package/dist/lib/internationalization/locales/ko.cjs +7 -9
  93. package/dist/lib/internationalization/locales/ko.d.cts +223 -1
  94. package/dist/lib/internationalization/locales/zh.cjs +7 -10
  95. package/dist/lib/internationalization/locales/zh.d.cts +381 -1
  96. package/dist/lib/internationalization/translatable.d.ts +4 -327
  97. package/dist/lib/internationalization/translatable.js +2 -360
  98. package/dist/lib/models/FileRegistry.d.ts +20 -9
  99. package/dist/lib/models/FileRegistry.js +54 -45
  100. package/dist/lib/models/ReflectionCategory.d.ts +2 -2
  101. package/dist/lib/models/ReflectionCategory.js +16 -12
  102. package/dist/lib/models/ReflectionGroup.d.ts +3 -3
  103. package/dist/lib/models/ReflectionGroup.js +23 -14
  104. package/dist/lib/models/comments/comment.d.ts +23 -37
  105. package/dist/lib/models/comments/comment.js +388 -325
  106. package/dist/lib/models/comments/index.d.ts +2 -2
  107. package/dist/lib/models/comments/index.js +1 -6
  108. package/dist/lib/models/index.d.ts +7 -7
  109. package/dist/lib/models/index.js +7 -23
  110. package/dist/lib/models/reflections/ReflectionSymbolId.d.ts +2 -2
  111. package/dist/lib/models/reflections/ReflectionSymbolId.js +42 -34
  112. package/dist/lib/models/reflections/abstract.d.ts +17 -20
  113. package/dist/lib/models/reflections/abstract.js +249 -256
  114. package/dist/lib/models/reflections/container.d.ts +7 -7
  115. package/dist/lib/models/reflections/container.js +43 -16
  116. package/dist/lib/models/reflections/declaration.d.ts +15 -12
  117. package/dist/lib/models/reflections/declaration.js +150 -29
  118. package/dist/lib/models/reflections/document.d.ts +3 -3
  119. package/dist/lib/models/reflections/document.js +26 -13
  120. package/dist/lib/models/reflections/index.d.ts +15 -15
  121. package/dist/lib/models/reflections/index.js +12 -31
  122. package/dist/lib/models/reflections/kind.d.ts +1 -1
  123. package/dist/lib/models/reflections/kind.js +3 -6
  124. package/dist/lib/models/reflections/parameter.d.ts +5 -4
  125. package/dist/lib/models/reflections/parameter.js +11 -13
  126. package/dist/lib/models/reflections/project.d.ts +14 -9
  127. package/dist/lib/models/reflections/project.js +104 -56
  128. package/dist/lib/models/reflections/reference.d.ts +3 -3
  129. package/dist/lib/models/reflections/reference.js +6 -9
  130. package/dist/lib/models/reflections/signature.d.ts +8 -8
  131. package/dist/lib/models/reflections/signature.js +35 -14
  132. package/dist/lib/models/reflections/type-parameter.d.ts +5 -5
  133. package/dist/lib/models/reflections/type-parameter.js +9 -10
  134. package/dist/lib/models/reflections/utils.js +1 -4
  135. package/dist/lib/models/reflections/variant.d.ts +8 -7
  136. package/dist/lib/models/reflections/variant.js +1 -2
  137. package/dist/lib/models/sources/file.d.ts +2 -2
  138. package/dist/lib/models/sources/file.js +22 -5
  139. package/dist/lib/models/sources/index.d.ts +1 -1
  140. package/dist/lib/models/sources/index.js +1 -5
  141. package/dist/lib/models/types.d.ts +26 -13
  142. package/dist/lib/models/types.js +236 -151
  143. package/dist/lib/output/components.d.ts +5 -11
  144. package/dist/lib/output/components.js +84 -125
  145. package/dist/lib/output/events.d.ts +3 -3
  146. package/dist/lib/output/events.js +128 -94
  147. package/dist/lib/output/formatter.d.ts +84 -0
  148. package/dist/lib/output/formatter.js +619 -0
  149. package/dist/lib/output/index.d.ts +9 -8
  150. package/dist/lib/output/index.js +7 -19
  151. package/dist/lib/output/models/UrlMapping.d.ts +2 -2
  152. package/dist/lib/output/models/UrlMapping.js +4 -5
  153. package/dist/lib/output/output.d.ts +13 -0
  154. package/dist/lib/output/output.js +72 -0
  155. package/dist/lib/output/plugins/AssetsPlugin.d.ts +7 -8
  156. package/dist/lib/output/plugins/AssetsPlugin.js +62 -80
  157. package/dist/lib/output/plugins/IconsPlugin.d.ts +3 -2
  158. package/dist/lib/output/plugins/IconsPlugin.js +28 -84
  159. package/dist/lib/output/plugins/JavascriptIndexPlugin.d.ts +9 -2
  160. package/dist/lib/output/plugins/JavascriptIndexPlugin.js +90 -96
  161. package/dist/lib/output/plugins/NavigationPlugin.d.ts +3 -2
  162. package/dist/lib/output/plugins/NavigationPlugin.js +22 -102
  163. package/dist/lib/output/plugins/SitemapPlugin.d.ts +3 -2
  164. package/dist/lib/output/plugins/SitemapPlugin.js +60 -120
  165. package/dist/lib/output/plugins/index.d.ts +6 -6
  166. package/dist/lib/output/plugins/index.js +6 -15
  167. package/dist/lib/output/renderer.d.ts +14 -13
  168. package/dist/lib/output/renderer.js +129 -185
  169. package/dist/lib/output/theme.d.ts +9 -5
  170. package/dist/lib/output/theme.js +14 -62
  171. package/dist/lib/output/themes/MarkedPlugin.d.ts +8 -9
  172. package/dist/lib/output/themes/MarkedPlugin.js +152 -117
  173. package/dist/lib/output/themes/default/DefaultTheme.d.ts +17 -29
  174. package/dist/lib/output/themes/default/DefaultTheme.js +334 -310
  175. package/dist/lib/output/themes/default/DefaultThemeRenderContext.d.ts +63 -48
  176. package/dist/lib/output/themes/default/DefaultThemeRenderContext.js +119 -95
  177. package/dist/lib/output/themes/default/Slugger.d.ts +13 -0
  178. package/dist/lib/output/themes/default/Slugger.js +46 -0
  179. package/dist/lib/output/themes/default/layouts/default.d.ts +5 -5
  180. package/dist/lib/output/themes/default/layouts/default.js +47 -36
  181. package/dist/lib/output/themes/default/partials/anchor-icon.d.ts +2 -2
  182. package/dist/lib/output/themes/default/partials/anchor-icon.js +4 -7
  183. package/dist/lib/output/themes/default/partials/breadcrumb.d.ts +3 -3
  184. package/dist/lib/output/themes/default/partials/breadcrumb.js +4 -8
  185. package/dist/lib/output/themes/default/partials/comment.d.ts +6 -4
  186. package/dist/lib/output/themes/default/partials/comment.js +52 -29
  187. package/dist/lib/output/themes/default/partials/footer.d.ts +2 -2
  188. package/dist/lib/output/themes/default/partials/footer.js +11 -14
  189. package/dist/lib/output/themes/default/partials/header.d.ts +4 -4
  190. package/dist/lib/output/themes/default/partials/header.js +9 -13
  191. package/dist/lib/output/themes/default/partials/hierarchy.d.ts +3 -3
  192. package/dist/lib/output/themes/default/partials/hierarchy.js +9 -12
  193. package/dist/lib/output/themes/default/partials/icon.d.ts +4 -4
  194. package/dist/lib/output/themes/default/partials/icon.js +78 -73
  195. package/dist/lib/output/themes/default/partials/index.d.ts +3 -3
  196. package/dist/lib/output/themes/default/partials/index.js +19 -22
  197. package/dist/lib/output/themes/default/partials/member.d.ts +3 -3
  198. package/dist/lib/output/themes/default/partials/member.declaration.d.ts +3 -3
  199. package/dist/lib/output/themes/default/partials/member.declaration.js +18 -61
  200. package/dist/lib/output/themes/default/partials/member.getterSetter.d.ts +3 -3
  201. package/dist/lib/output/themes/default/partials/member.getterSetter.js +10 -26
  202. package/dist/lib/output/themes/default/partials/member.js +19 -24
  203. package/dist/lib/output/themes/default/partials/member.signature.body.d.ts +3 -3
  204. package/dist/lib/output/themes/default/partials/member.signature.body.js +17 -21
  205. package/dist/lib/output/themes/default/partials/member.signature.title.d.ts +4 -7
  206. package/dist/lib/output/themes/default/partials/member.signature.title.js +8 -35
  207. package/dist/lib/output/themes/default/partials/member.signatures.d.ts +3 -3
  208. package/dist/lib/output/themes/default/partials/member.signatures.js +9 -13
  209. package/dist/lib/output/themes/default/partials/member.sources.d.ts +3 -3
  210. package/dist/lib/output/themes/default/partials/member.sources.js +13 -17
  211. package/dist/lib/output/themes/default/partials/members.d.ts +3 -3
  212. package/dist/lib/output/themes/default/partials/members.js +10 -42
  213. package/dist/lib/output/themes/default/partials/moduleReflection.d.ts +5 -0
  214. package/dist/lib/output/themes/default/partials/moduleReflection.js +62 -0
  215. package/dist/lib/output/themes/default/partials/navigation.d.ts +4 -4
  216. package/dist/lib/output/themes/default/partials/navigation.js +51 -62
  217. package/dist/lib/output/themes/default/partials/reflectionPreview.d.ts +3 -3
  218. package/dist/lib/output/themes/default/partials/reflectionPreview.js +12 -15
  219. package/dist/lib/output/themes/default/partials/toolbar.d.ts +4 -4
  220. package/dist/lib/output/themes/default/partials/toolbar.js +16 -20
  221. package/dist/lib/output/themes/default/partials/type.d.ts +4 -6
  222. package/dist/lib/output/themes/default/partials/type.js +8 -388
  223. package/dist/lib/output/themes/default/partials/typeAndParent.d.ts +3 -3
  224. package/dist/lib/output/themes/default/partials/typeAndParent.js +11 -15
  225. package/dist/lib/output/themes/default/partials/typeDetails.d.ts +8 -0
  226. package/dist/lib/output/themes/default/partials/typeDetails.js +221 -0
  227. package/dist/lib/output/themes/default/partials/typeParameters.d.ts +3 -3
  228. package/dist/lib/output/themes/default/partials/typeParameters.js +14 -17
  229. package/dist/lib/output/themes/default/templates/document.d.ts +4 -4
  230. package/dist/lib/output/themes/default/templates/document.js +3 -7
  231. package/dist/lib/output/themes/default/templates/hierarchy.d.ts +4 -4
  232. package/dist/lib/output/themes/default/templates/hierarchy.js +10 -13
  233. package/dist/lib/output/themes/default/templates/index.d.ts +4 -4
  234. package/dist/lib/output/themes/default/templates/index.js +3 -7
  235. package/dist/lib/output/themes/default/templates/reflection.d.ts +4 -4
  236. package/dist/lib/output/themes/default/templates/reflection.js +31 -34
  237. package/dist/lib/output/themes/lib.d.ts +17 -3
  238. package/dist/lib/output/themes/lib.js +110 -49
  239. package/dist/lib/serialization/components.d.ts +2 -5
  240. package/dist/lib/serialization/components.js +1 -2
  241. package/dist/lib/serialization/deserializer.d.ts +21 -7
  242. package/dist/lib/serialization/deserializer.js +138 -123
  243. package/dist/lib/serialization/events.d.ts +2 -2
  244. package/dist/lib/serialization/events.js +6 -5
  245. package/dist/lib/serialization/index.d.ts +5 -5
  246. package/dist/lib/serialization/index.js +4 -33
  247. package/dist/lib/serialization/schema.d.ts +8 -2
  248. package/dist/lib/serialization/schema.js +2 -2
  249. package/dist/lib/serialization/serializer.d.ts +11 -5
  250. package/dist/lib/serialization/serializer.js +32 -25
  251. package/dist/lib/utils/array.d.ts +3 -0
  252. package/dist/lib/utils/array.js +26 -27
  253. package/dist/lib/utils/component.d.ts +2 -44
  254. package/dist/lib/utils/component.js +10 -102
  255. package/dist/lib/utils/entry-point.d.ts +3 -4
  256. package/dist/lib/utils/entry-point.js +114 -85
  257. package/dist/lib/utils/enum.js +6 -14
  258. package/dist/lib/utils/events.js +6 -12
  259. package/dist/lib/utils/fs.js +50 -91
  260. package/dist/lib/utils/general.d.ts +2 -1
  261. package/dist/lib/utils/general.js +50 -40
  262. package/dist/lib/utils/highlighter.js +30 -57
  263. package/dist/lib/utils/hooks.js +7 -13
  264. package/dist/lib/utils/html-entities.d.ts +8926 -0
  265. package/dist/lib/utils/html-entities.js +2329 -0
  266. package/dist/lib/utils/html.d.ts +8 -0
  267. package/dist/lib/utils/html.js +81 -34
  268. package/dist/lib/utils/index.d.ts +22 -22
  269. package/dist/lib/utils/index.js +20 -91
  270. package/dist/lib/utils/jsx.d.ts +12 -5
  271. package/dist/lib/utils/jsx.elements.js +1 -4
  272. package/dist/lib/utils/jsx.js +53 -20
  273. package/dist/lib/utils/loggers.d.ts +3 -3
  274. package/dist/lib/utils/loggers.js +36 -46
  275. package/dist/lib/utils/map.js +6 -13
  276. package/dist/lib/utils/minimalSourceFile.js +5 -7
  277. package/dist/lib/utils/options/declaration.d.ts +33 -7
  278. package/dist/lib/utils/options/declaration.js +20 -22
  279. package/dist/lib/utils/options/defaults.d.ts +3 -2
  280. package/dist/lib/utils/options/defaults.js +18 -38
  281. package/dist/lib/utils/options/help.d.ts +2 -2
  282. package/dist/lib/utils/options/help.js +7 -10
  283. package/dist/lib/utils/options/index.d.ts +6 -6
  284. package/dist/lib/utils/options/index.js +4 -18
  285. package/dist/lib/utils/options/options.d.ts +8 -5
  286. package/dist/lib/utils/options/options.js +47 -71
  287. package/dist/lib/utils/options/readers/arguments.d.ts +2 -2
  288. package/dist/lib/utils/options/readers/arguments.js +15 -17
  289. package/dist/lib/utils/options/readers/index.d.ts +4 -4
  290. package/dist/lib/utils/options/readers/index.js +4 -11
  291. package/dist/lib/utils/options/readers/package-json.d.ts +3 -3
  292. package/dist/lib/utils/options/readers/package-json.js +15 -21
  293. package/dist/lib/utils/options/readers/tsconfig.d.ts +2 -2
  294. package/dist/lib/utils/options/readers/tsconfig.js +54 -63
  295. package/dist/lib/utils/options/readers/typedoc.d.ts +3 -3
  296. package/dist/lib/utils/options/readers/typedoc.js +44 -76
  297. package/dist/lib/utils/options/sources/index.d.ts +1 -1
  298. package/dist/lib/utils/options/sources/index.js +1 -5
  299. package/dist/lib/utils/options/sources/typedoc.d.ts +1 -1
  300. package/dist/lib/utils/options/sources/typedoc.js +220 -196
  301. package/dist/lib/utils/options/tsdoc-defaults.d.ts +3 -3
  302. package/dist/lib/utils/options/tsdoc-defaults.js +16 -12
  303. package/dist/lib/utils/package-manifest.d.ts +1 -1
  304. package/dist/lib/utils/package-manifest.js +15 -19
  305. package/dist/lib/utils/paths.js +9 -15
  306. package/dist/lib/utils/perf.js +6 -11
  307. package/dist/lib/utils/plugins.d.ts +1 -1
  308. package/dist/lib/utils/plugins.js +7 -10
  309. package/dist/lib/utils/reflections.d.ts +1 -1
  310. package/dist/lib/utils/reflections.js +9 -12
  311. package/dist/lib/utils/set.js +2 -6
  312. package/dist/lib/utils/sort.d.ts +3 -3
  313. package/dist/lib/utils/sort.js +20 -24
  314. package/dist/lib/utils/tsconfig.d.ts +1 -1
  315. package/dist/lib/utils/tsconfig.js +13 -21
  316. package/dist/lib/utils/tsutils.d.ts +1 -1
  317. package/dist/lib/utils/tsutils.js +3 -30
  318. package/dist/lib/utils/validation.js +6 -12
  319. package/dist/lib/validation/documentation.d.ts +2 -2
  320. package/dist/lib/validation/documentation.js +26 -29
  321. package/dist/lib/validation/exports.d.ts +2 -2
  322. package/dist/lib/validation/exports.js +9 -11
  323. package/dist/lib/validation/links.d.ts +2 -2
  324. package/dist/lib/validation/links.js +4 -7
  325. package/dist/lib/validation/unusedMergeModuleWith.d.ts +3 -0
  326. package/dist/lib/validation/unusedMergeModuleWith.js +11 -0
  327. package/package.json +14 -11
  328. package/static/main.js +4 -4
  329. package/static/style.css +91 -2
  330. package/tsdoc.json +30 -0
  331. package/dist/lib/output/themes/default/partials/member.reference.d.ts +0 -4
  332. package/dist/lib/output/themes/default/partials/member.reference.js +0 -30
  333. package/dist/lib/output/themes/default/partials/parameter.d.ts +0 -4
  334. package/dist/lib/output/themes/default/partials/parameter.js +0 -79
  335. package/dist/lib/utils/html-entities.json +0 -2326
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
3
2
  function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
4
3
  var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
@@ -33,13 +32,10 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
33
32
  }
34
33
  return useValue ? value : void 0;
35
34
  };
36
- Object.defineProperty(exports, "__esModule", { value: true });
37
- exports.Reflection = exports.TraverseProperty = exports.ReflectionFlags = exports.ReflectionFlag = void 0;
38
- exports.resetReflectionID = resetReflectionID;
39
- const comment_1 = require("../comments/comment");
40
- const utils_1 = require("./utils");
41
- const kind_1 = require("./kind");
42
- const general_1 = require("../../utils/general");
35
+ import { Comment } from "../comments/comment.js";
36
+ import { splitUnquotedString } from "./utils.js";
37
+ import { ReflectionKind } from "./kind.js";
38
+ import { NonEnumerable } from "../../utils/general.js";
43
39
  /**
44
40
  * Current reflection id.
45
41
  */
@@ -49,10 +45,10 @@ let REFLECTION_ID = 0;
49
45
  *
50
46
  * Used by the test cases to ensure the reflection ids won't change between runs.
51
47
  */
52
- function resetReflectionID() {
48
+ export function resetReflectionID() {
53
49
  REFLECTION_ID = 0;
54
50
  }
55
- var ReflectionFlag;
51
+ export var ReflectionFlag;
56
52
  (function (ReflectionFlag) {
57
53
  ReflectionFlag[ReflectionFlag["None"] = 0] = "None";
58
54
  ReflectionFlag[ReflectionFlag["Private"] = 1] = "Private";
@@ -66,13 +62,12 @@ var ReflectionFlag;
66
62
  ReflectionFlag[ReflectionFlag["Const"] = 256] = "Const";
67
63
  ReflectionFlag[ReflectionFlag["Readonly"] = 512] = "Readonly";
68
64
  ReflectionFlag[ReflectionFlag["Inherited"] = 1024] = "Inherited";
69
- })(ReflectionFlag || (exports.ReflectionFlag = ReflectionFlag = {}));
65
+ })(ReflectionFlag || (ReflectionFlag = {}));
70
66
  const relevantFlags = [
71
67
  ReflectionFlag.Private,
72
68
  ReflectionFlag.Protected,
73
69
  ReflectionFlag.Static,
74
70
  ReflectionFlag.Optional,
75
- ReflectionFlag.Rest,
76
71
  ReflectionFlag.Abstract,
77
72
  ReflectionFlag.Const,
78
73
  ReflectionFlag.Readonly,
@@ -80,10 +75,8 @@ const relevantFlags = [
80
75
  /**
81
76
  * This must extend Array in order to work with Handlebar's each helper.
82
77
  */
83
- class ReflectionFlags {
84
- constructor() {
85
- this.flags = ReflectionFlag.None;
86
- }
78
+ export class ReflectionFlags {
79
+ flags = ReflectionFlag.None;
87
80
  hasFlag(flag) {
88
81
  return (flag & this.flags) !== 0;
89
82
  }
@@ -187,6 +180,19 @@ class ReflectionFlags {
187
180
  this.flags |= flag;
188
181
  }
189
182
  }
183
+ static serializedFlags = [
184
+ "isPrivate",
185
+ "isProtected",
186
+ "isPublic",
187
+ "isStatic",
188
+ "isExternal",
189
+ "isOptional",
190
+ "isRest",
191
+ "isAbstract",
192
+ "isConst",
193
+ "isReadonly",
194
+ "isInherited",
195
+ ];
190
196
  toObject() {
191
197
  return Object.fromEntries(ReflectionFlags.serializedFlags
192
198
  .filter((flag) => this[flag])
@@ -201,21 +207,7 @@ class ReflectionFlags {
201
207
  }
202
208
  }
203
209
  }
204
- exports.ReflectionFlags = ReflectionFlags;
205
- ReflectionFlags.serializedFlags = [
206
- "isPrivate",
207
- "isProtected",
208
- "isPublic",
209
- "isStatic",
210
- "isExternal",
211
- "isOptional",
212
- "isRest",
213
- "isAbstract",
214
- "isConst",
215
- "isReadonly",
216
- "isInherited",
217
- ];
218
- var TraverseProperty;
210
+ export var TraverseProperty;
219
211
  (function (TraverseProperty) {
220
212
  TraverseProperty[TraverseProperty["Children"] = 0] = "Children";
221
213
  TraverseProperty[TraverseProperty["Documents"] = 1] = "Documents";
@@ -226,7 +218,7 @@ var TraverseProperty;
226
218
  TraverseProperty[TraverseProperty["IndexSignature"] = 6] = "IndexSignature";
227
219
  TraverseProperty[TraverseProperty["GetSignature"] = 7] = "GetSignature";
228
220
  TraverseProperty[TraverseProperty["SetSignature"] = 8] = "SetSignature";
229
- })(TraverseProperty || (exports.TraverseProperty = TraverseProperty = {}));
221
+ })(TraverseProperty || (TraverseProperty = {}));
230
222
  /**
231
223
  * Base class for all reflection classes.
232
224
  *
@@ -240,243 +232,244 @@ var TraverseProperty;
240
232
  * @category Reflections
241
233
  */
242
234
  let Reflection = (() => {
243
- var _a;
244
235
  let _parent_decorators;
245
236
  let _parent_initializers = [];
246
237
  let _parent_extraInitializers = [];
247
238
  let _project_decorators;
248
239
  let _project_initializers = [];
249
240
  let _project_extraInitializers = [];
250
- return _a = class Reflection {
251
- constructor(name, kind, parent) {
252
- this.flags = new ReflectionFlags();
253
- /**
254
- * The reflection this reflection is a child of.
255
- */
256
- this.parent = __runInitializers(this, _parent_initializers, void 0);
257
- this.project = (__runInitializers(this, _parent_extraInitializers), __runInitializers(this, _project_initializers, void 0));
258
- /**
259
- * The parsed documentation comment attached to this reflection.
260
- */
261
- this.comment = __runInitializers(this, _project_extraInitializers);
262
- this.id = REFLECTION_ID++;
263
- this.parent = parent;
264
- this.project = parent?.project || this;
265
- this.name = name;
266
- this.kind = kind;
267
- // If our parent is external, we are too.
268
- if (parent?.flags.isExternal) {
269
- this.setFlag(ReflectionFlag.External);
270
- }
271
- }
272
- /**
273
- * Test whether this reflection is of the given kind.
274
- */
275
- kindOf(kind) {
276
- const kindFlags = Array.isArray(kind)
277
- ? kind.reduce((a, b) => a | b, 0)
278
- : kind;
279
- return (this.kind & kindFlags) !== 0;
280
- }
281
- /**
282
- * Return the full name of this reflection. Intended for use in debugging. For log messages
283
- * intended to be displayed to the user for them to fix, prefer {@link getFriendlyFullName} instead.
284
- *
285
- * The full name contains the name of this reflection and the names of all parent reflections.
286
- *
287
- * @param separator Separator used to join the names of the reflections.
288
- * @returns The full name of this reflection.
289
- */
290
- getFullName(separator = ".") {
291
- if (this.parent && !this.parent.isProject()) {
292
- return this.parent.getFullName(separator) + separator + this.name;
293
- }
294
- else {
295
- return this.name;
296
- }
297
- }
298
- /**
299
- * Return the full name of this reflection, with signature names dropped if possible without
300
- * introducing ambiguity in the name.
301
- */
302
- getFriendlyFullName() {
303
- if (this.parent && !this.parent.isProject()) {
304
- if (this.kindOf(kind_1.ReflectionKind.ConstructorSignature |
305
- kind_1.ReflectionKind.CallSignature |
306
- kind_1.ReflectionKind.GetSignature |
307
- kind_1.ReflectionKind.SetSignature)) {
308
- return this.parent.getFriendlyFullName();
309
- }
310
- return this.parent.getFriendlyFullName() + "." + this.name;
311
- }
312
- else {
313
- return this.name;
314
- }
241
+ return class Reflection {
242
+ static {
243
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
244
+ _parent_decorators = [NonEnumerable];
245
+ _project_decorators = [NonEnumerable];
246
+ __esDecorate(null, null, _parent_decorators, { kind: "field", name: "parent", static: false, private: false, access: { has: obj => "parent" in obj, get: obj => obj.parent, set: (obj, value) => { obj.parent = value; } }, metadata: _metadata }, _parent_initializers, _parent_extraInitializers);
247
+ __esDecorate(null, null, _project_decorators, { kind: "field", name: "project", static: false, private: false, access: { has: obj => "project" in obj, get: obj => obj.project, set: (obj, value) => { obj.project = value; } }, metadata: _metadata }, _project_initializers, _project_extraInitializers);
248
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
249
+ }
250
+ /**
251
+ * Unique id of this reflection.
252
+ */
253
+ id;
254
+ /**
255
+ * The symbol name of this reflection.
256
+ */
257
+ name;
258
+ /**
259
+ * The kind of this reflection.
260
+ */
261
+ kind;
262
+ flags = new ReflectionFlags();
263
+ /**
264
+ * The reflection this reflection is a child of.
265
+ */
266
+ parent = __runInitializers(this, _parent_initializers, void 0);
267
+ project = (__runInitializers(this, _parent_extraInitializers), __runInitializers(this, _project_initializers, void 0));
268
+ /**
269
+ * The parsed documentation comment attached to this reflection.
270
+ */
271
+ comment = __runInitializers(this, _project_extraInitializers);
272
+ /**
273
+ * The url of this reflection in the generated documentation.
274
+ * TODO: Reflections shouldn't know urls exist. Move this to a serializer.
275
+ */
276
+ url;
277
+ /**
278
+ * The name of the anchor of this child.
279
+ * TODO: Reflections shouldn't know anchors exist. Move this to a serializer.
280
+ */
281
+ anchor;
282
+ /**
283
+ * Is the url pointing to an individual document?
284
+ *
285
+ * When FALSE, the url points to an anchor tag on a page of a different reflection.
286
+ * TODO: Reflections shouldn't know how they are rendered. Move this to the correct serializer.
287
+ */
288
+ hasOwnDocument;
289
+ constructor(name, kind, parent) {
290
+ this.id = REFLECTION_ID++;
291
+ this.parent = parent;
292
+ this.project = parent?.project || this;
293
+ this.name = name;
294
+ this.kind = kind;
295
+ // If our parent is external, we are too.
296
+ if (parent?.flags.isExternal) {
297
+ this.setFlag(ReflectionFlag.External);
315
298
  }
316
- /**
317
- * Set a flag on this reflection.
318
- */
319
- setFlag(flag, value = true) {
320
- this.flags.setFlag(flag, value);
299
+ }
300
+ /**
301
+ * Test whether this reflection is of the given kind.
302
+ */
303
+ kindOf(kind) {
304
+ const kindFlags = Array.isArray(kind)
305
+ ? kind.reduce((a, b) => a | b, 0)
306
+ : kind;
307
+ return (this.kind & kindFlags) !== 0;
308
+ }
309
+ /**
310
+ * Return the full name of this reflection. Intended for use in debugging. For log messages
311
+ * intended to be displayed to the user for them to fix, prefer {@link getFriendlyFullName} instead.
312
+ *
313
+ * The full name contains the name of this reflection and the names of all parent reflections.
314
+ *
315
+ * @param separator Separator used to join the names of the reflections.
316
+ * @returns The full name of this reflection.
317
+ */
318
+ getFullName(separator = ".") {
319
+ if (this.parent && !this.parent.isProject()) {
320
+ return this.parent.getFullName(separator) + separator + this.name;
321
321
  }
322
- /**
323
- * Return an url safe alias for this reflection.
324
- */
325
- getAlias() {
326
- this._alias ||= this.getUniqueAliasInPage(this.name.replace(/\W/g, "_") || `reflection-${this.id}`);
327
- return this._alias;
322
+ else {
323
+ return this.name;
328
324
  }
329
- // This really ought not live here, it ought to live in the html renderer, but moving that
330
- // is more work than I want right now, it can wait for 0.27 when trying to split models into
331
- // a bundleable structure.
332
- getUniqueAliasInPage(heading) {
333
- // NTFS/ExFAT use uppercase, so we will too. It probably won't matter
334
- // in this case since names will generally be valid identifiers, but to be safe...
335
- const upperAlias = heading.toUpperCase();
336
- let target = this;
337
- while (target.parent && !target.hasOwnDocument) {
338
- target = target.parent;
339
- }
340
- target._aliases ||= new Map();
341
- let suffix = "";
342
- if (!target._aliases.has(upperAlias)) {
343
- target._aliases.set(upperAlias, 1);
344
- }
345
- else {
346
- const count = target._aliases.get(upperAlias);
347
- suffix = "-" + count.toString();
348
- target._aliases.set(upperAlias, count + 1);
325
+ }
326
+ /**
327
+ * Return the full name of this reflection, with signature names dropped if possible without
328
+ * introducing ambiguity in the name.
329
+ */
330
+ getFriendlyFullName() {
331
+ if (this.parent && !this.parent.isProject()) {
332
+ if (this.kindOf(ReflectionKind.ConstructorSignature |
333
+ ReflectionKind.CallSignature |
334
+ ReflectionKind.GetSignature |
335
+ ReflectionKind.SetSignature)) {
336
+ return this.parent.getFriendlyFullName();
349
337
  }
350
- heading += suffix;
351
- return heading;
338
+ return this.parent.getFriendlyFullName() + "." + this.name;
352
339
  }
353
- /**
354
- * Has this reflection a visible comment?
355
- *
356
- * @returns TRUE when this reflection has a visible comment.
357
- */
358
- hasComment() {
359
- return this.comment ? this.comment.hasVisibleComponent() : false;
340
+ else {
341
+ return this.name;
360
342
  }
361
- hasGetterOrSetter() {
362
- return false;
363
- }
364
- /**
365
- * Return a child by its name.
366
- *
367
- * @param arg The name hierarchy of the child to look for.
368
- * @returns The found child or undefined.
369
- */
370
- getChildByName(arg) {
371
- const names = Array.isArray(arg)
372
- ? arg
373
- : (0, utils_1.splitUnquotedString)(arg, ".");
374
- const name = names[0];
375
- let result;
376
- this.traverse((child) => {
377
- if (child.name === name) {
378
- if (names.length <= 1) {
379
- result = child;
380
- }
381
- else {
382
- result = child.getChildByName(names.slice(1));
383
- }
384
- return false;
343
+ }
344
+ /**
345
+ * Set a flag on this reflection.
346
+ */
347
+ setFlag(flag, value = true) {
348
+ this.flags.setFlag(flag, value);
349
+ }
350
+ /**
351
+ * Has this reflection a visible comment?
352
+ *
353
+ * @returns TRUE when this reflection has a visible comment.
354
+ */
355
+ hasComment() {
356
+ return this.comment ? this.comment.hasVisibleComponent() : false;
357
+ }
358
+ hasGetterOrSetter() {
359
+ return false;
360
+ }
361
+ /**
362
+ * Return a child by its name.
363
+ *
364
+ * @param arg The name hierarchy of the child to look for.
365
+ * @returns The found child or undefined.
366
+ */
367
+ getChildByName(arg) {
368
+ const names = Array.isArray(arg)
369
+ ? arg
370
+ : splitUnquotedString(arg, ".");
371
+ const name = names[0];
372
+ let result;
373
+ this.traverse((child) => {
374
+ if (child.name === name) {
375
+ if (names.length <= 1) {
376
+ result = child;
385
377
  }
386
- return true;
387
- });
388
- return result;
389
- }
390
- /**
391
- * Return whether this reflection is the root / project reflection.
392
- */
393
- isProject() {
394
- return false;
395
- }
396
- isDeclaration() {
397
- return false;
398
- }
399
- isDocument() {
400
- return false;
401
- }
402
- /**
403
- * Check if this reflection or any of its parents have been marked with the `@deprecated` tag.
404
- */
405
- isDeprecated() {
406
- let signaturesDeprecated = false;
407
- this.visit({
408
- declaration(decl) {
409
- if (decl.signatures?.length &&
410
- decl.signatures.every((sig) => sig.comment?.getTag("@deprecated"))) {
411
- signaturesDeprecated = true;
412
- }
413
- },
414
- });
415
- if (signaturesDeprecated || this.comment?.getTag("@deprecated")) {
416
- return true;
378
+ else {
379
+ result = child.getChildByName(names.slice(1));
380
+ }
381
+ return false;
417
382
  }
418
- return this.parent?.isDeprecated() ?? false;
419
- }
420
- visit(visitor) {
421
- visitor[this.variant]?.(this);
422
- }
423
- /**
424
- * Return a string representation of this reflection.
425
- */
426
- toString() {
427
- return kind_1.ReflectionKind[this.kind] + " " + this.name;
428
- }
429
- /**
430
- * Return a string representation of this reflection and all of its children.
431
- *
432
- * Note: This is intended as a debug tool only, output may change between patch versions.
433
- *
434
- * @param indent Used internally to indent child reflections.
435
- */
436
- toStringHierarchy(indent = "") {
437
- const lines = [indent + this.toString()];
438
- indent += " ";
439
- this.traverse((child) => {
440
- lines.push(child.toStringHierarchy(indent));
441
- return true;
442
- });
443
- return lines.join("\n");
444
- }
445
- toObject(serializer) {
446
- return {
447
- id: this.id,
448
- name: this.name,
449
- variant: this.variant,
450
- kind: this.kind,
451
- flags: this.flags.toObject(),
452
- comment: this.comment && !this.comment.isEmpty()
453
- ? serializer.toObject(this.comment)
454
- : undefined,
455
- };
456
- }
457
- fromObject(de, obj) {
458
- // DO NOT copy id from obj. When deserializing reflections
459
- // they should be given new ids since they belong to a different project.
460
- this.name = obj.name;
461
- // Skip copying variant, we know it's already the correct value because the deserializer
462
- // will construct the correct class type.
463
- this.kind = obj.kind;
464
- this.flags.fromObject(obj.flags);
465
- // Parent is set during construction, so we don't need to do it here.
466
- this.comment = de.revive(obj.comment, () => new comment_1.Comment());
467
- // url, anchor, hasOwnDocument, _alias, _aliases are set during rendering and only relevant during render.
468
- // It doesn't make sense to serialize them to json, or restore them.
383
+ return true;
384
+ });
385
+ return result;
386
+ }
387
+ /**
388
+ * Return whether this reflection is the root / project reflection.
389
+ */
390
+ isProject() {
391
+ return false;
392
+ }
393
+ isDeclaration() {
394
+ return false;
395
+ }
396
+ isParameter() {
397
+ return false;
398
+ }
399
+ isDocument() {
400
+ return false;
401
+ }
402
+ isReference() {
403
+ return this.variant === "reference";
404
+ }
405
+ /**
406
+ * Check if this reflection or any of its parents have been marked with the `@deprecated` tag.
407
+ */
408
+ isDeprecated() {
409
+ let signaturesDeprecated = false;
410
+ this.visit({
411
+ declaration(decl) {
412
+ if (decl.signatures?.length &&
413
+ decl.signatures.every((sig) => sig.comment?.getTag("@deprecated"))) {
414
+ signaturesDeprecated = true;
415
+ }
416
+ },
417
+ });
418
+ if (signaturesDeprecated || this.comment?.getTag("@deprecated")) {
419
+ return true;
469
420
  }
470
- },
471
- (() => {
472
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
473
- _parent_decorators = [general_1.NonEnumerable // So that it doesn't show up in console.log
474
- ];
475
- _project_decorators = [general_1.NonEnumerable];
476
- __esDecorate(null, null, _parent_decorators, { kind: "field", name: "parent", static: false, private: false, access: { has: obj => "parent" in obj, get: obj => obj.parent, set: (obj, value) => { obj.parent = value; } }, metadata: _metadata }, _parent_initializers, _parent_extraInitializers);
477
- __esDecorate(null, null, _project_decorators, { kind: "field", name: "project", static: false, private: false, access: { has: obj => "project" in obj, get: obj => obj.project, set: (obj, value) => { obj.project = value; } }, metadata: _metadata }, _project_initializers, _project_extraInitializers);
478
- if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
479
- })(),
480
- _a;
421
+ return this.parent?.isDeprecated() ?? false;
422
+ }
423
+ visit(visitor) {
424
+ visitor[this.variant]?.(this);
425
+ }
426
+ /**
427
+ * Return a string representation of this reflection.
428
+ */
429
+ toString() {
430
+ return ReflectionKind[this.kind] + " " + this.name;
431
+ }
432
+ /**
433
+ * Return a string representation of this reflection and all of its children.
434
+ *
435
+ * Note: This is intended as a debug tool only, output may change between patch versions.
436
+ *
437
+ * @param indent Used internally to indent child reflections.
438
+ */
439
+ toStringHierarchy(indent = "") {
440
+ const lines = [indent + this.toString()];
441
+ indent += " ";
442
+ this.traverse((child) => {
443
+ lines.push(child.toStringHierarchy(indent));
444
+ return true;
445
+ });
446
+ return lines.join("\n");
447
+ }
448
+ toObject(serializer) {
449
+ return {
450
+ id: this.id,
451
+ name: this.name,
452
+ variant: this.variant,
453
+ kind: this.kind,
454
+ flags: this.flags.toObject(),
455
+ comment: this.comment && !this.comment.isEmpty()
456
+ ? serializer.toObject(this.comment)
457
+ : undefined,
458
+ };
459
+ }
460
+ fromObject(de, obj) {
461
+ // DO NOT copy id from obj. When deserializing reflections
462
+ // they should be given new ids since they belong to a different project.
463
+ this.name = obj.name;
464
+ // Skip copying variant, we know it's already the correct value because the deserializer
465
+ // will construct the correct class type.
466
+ this.kind = obj.kind;
467
+ this.flags.fromObject(obj.flags);
468
+ // Parent is set during construction, so we don't need to do it here.
469
+ this.comment = de.revive(obj.comment, () => new Comment());
470
+ // url, anchor, hasOwnDocument, _alias, _aliases are set during rendering and only relevant during render.
471
+ // It doesn't make sense to serialize them to json, or restore them.
472
+ }
473
+ };
481
474
  })();
482
- exports.Reflection = Reflection;
475
+ export { Reflection };
@@ -1,10 +1,10 @@
1
- import { Reflection, type TraverseCallback } from "./abstract";
2
- import { ReflectionCategory } from "../ReflectionCategory";
3
- import { ReflectionGroup } from "../ReflectionGroup";
4
- import type { ReflectionKind } from "./kind";
5
- import type { Serializer, JSONOutput, Deserializer } from "../../serialization";
6
- import type { DocumentReflection } from "./document";
7
- import type { DeclarationReflection } from "./declaration";
1
+ import { Reflection, type TraverseCallback } from "./abstract.js";
2
+ import { ReflectionCategory } from "../ReflectionCategory.js";
3
+ import { ReflectionGroup } from "../ReflectionGroup.js";
4
+ import type { ReflectionKind } from "./kind.js";
5
+ import type { Serializer, JSONOutput, Deserializer } from "../../serialization/index.js";
6
+ import type { DocumentReflection } from "./document.js";
7
+ import type { DeclarationReflection } from "./declaration.js";
8
8
  /**
9
9
  * @category Reflections
10
10
  */