typedoc 0.28.18 → 0.28.20

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 (397) hide show
  1. package/README.md +12 -13
  2. package/bin/typedoc +1 -1
  3. package/dist/browser-locales/fr.d.ts +2 -0
  4. package/dist/browser-locales/fr.js +62 -0
  5. package/dist/browser-utils.js +29 -2
  6. package/dist/cli.js +111 -0
  7. package/dist/index.js +17888 -44
  8. package/dist/models.js +3736 -0
  9. package/dist/node-utils.js +7018 -0
  10. package/dist/serialization.js +430 -0
  11. package/dist/{lib → types}/application-events.d.ts +2 -0
  12. package/dist/{lib → types}/application.d.ts +51 -8
  13. package/dist/{lib → types}/converter/comments/declarationReferenceResolver.d.ts +1 -1
  14. package/dist/{lib → types}/converter/comments/discovery.d.ts +3 -3
  15. package/dist/{lib → types}/converter/comments/index.d.ts +4 -4
  16. package/dist/{lib → types}/converter/comments/lexer.d.ts +1 -1
  17. package/dist/{lib → types}/converter/comments/linkResolver.d.ts +1 -1
  18. package/dist/{lib → types}/converter/comments/parser.d.ts +3 -4
  19. package/dist/{lib → types}/converter/comments/textParser.d.ts +8 -2
  20. package/dist/{lib → types}/converter/components.d.ts +1 -1
  21. package/dist/{lib → types}/converter/context.d.ts +2 -2
  22. package/dist/{lib → types}/converter/converter.d.ts +6 -8
  23. package/dist/{lib → types}/converter/factories/signature.d.ts +1 -1
  24. package/dist/{lib → types}/converter/index.d.ts +1 -0
  25. package/dist/{lib → types}/converter/plugins/CategoryPlugin.d.ts +2 -2
  26. package/dist/{lib → types}/converter/plugins/GroupPlugin.d.ts +2 -3
  27. package/dist/{lib → types}/converter/plugins/IncludePlugin.d.ts +1 -1
  28. package/dist/{lib → types}/converter/plugins/InheritDocPlugin.d.ts +1 -1
  29. package/dist/{lib → types}/converter/plugins/LinkResolverPlugin.d.ts +3 -3
  30. package/dist/{lib → types}/converter/plugins/SourcePlugin.d.ts +1 -2
  31. package/dist/{lib → types}/converter/plugins/TypePlugin.d.ts +1 -1
  32. package/dist/{lib → types}/converter/types.d.ts +1 -1
  33. package/dist/{lib/converter/utils → types/converter/utilities}/reflections.d.ts +1 -1
  34. package/dist/{lib/converter/utils → types/converter/utilities}/repository.d.ts +14 -13
  35. package/dist/{index.d.ts → types/index.d.ts} +15 -16
  36. package/dist/{lib → types}/internationalization/internationalization.d.ts +0 -8
  37. package/dist/types/internationalization/locale-utils.d.ts +3 -0
  38. package/dist/types/internationalization/locales/de.d.ts +368 -0
  39. package/dist/{lib/internationalization/locales/en.d.cts → types/internationalization/locales/en.d.ts} +2 -1
  40. package/dist/types/internationalization/locales/fr.d.ts +346 -0
  41. package/dist/types/internationalization/locales/ja.d.ts +307 -0
  42. package/dist/types/internationalization/locales/ko.d.ts +221 -0
  43. package/dist/types/internationalization/locales/zh.d.ts +452 -0
  44. package/dist/{lib → types}/internationalization/translatable.d.ts +1 -1
  45. package/dist/{lib → types}/models/FileRegistry.d.ts +6 -1
  46. package/dist/{lib → types}/models/ReflectionSymbolId.d.ts +9 -3
  47. package/dist/{lib → types}/models/SourceReference.d.ts +5 -3
  48. package/dist/types/models.d.ts +1 -0
  49. package/dist/types/node-utils.d.ts +1 -0
  50. package/dist/{lib → types}/output/components.d.ts +3 -3
  51. package/dist/{lib → types}/output/events.d.ts +1 -2
  52. package/dist/{lib → types}/output/formatter.d.ts +1 -2
  53. package/dist/{lib → types}/output/output.d.ts +2 -2
  54. package/dist/{lib → types}/output/renderer.d.ts +4 -5
  55. package/dist/{lib → types}/output/router.d.ts +3 -2
  56. package/dist/{lib → types}/output/themes/MarkedPlugin.d.ts +3 -3
  57. package/dist/{lib → types}/output/themes/default/DefaultTheme.d.ts +1 -1
  58. package/dist/{lib → types}/output/themes/default/DefaultThemeRenderContext.d.ts +25 -25
  59. package/dist/{lib → types}/output/themes/default/layouts/default.d.ts +1 -1
  60. package/dist/{lib → types}/output/themes/default/partials/anchor-icon.d.ts +1 -1
  61. package/dist/{lib → types}/output/themes/default/partials/breadcrumb.d.ts +1 -1
  62. package/dist/{lib → types}/output/themes/default/partials/comment.d.ts +1 -1
  63. package/dist/{lib → types}/output/themes/default/partials/header.d.ts +1 -1
  64. package/dist/{lib → types}/output/themes/default/partials/hierarchy.d.ts +1 -1
  65. package/dist/{lib → types}/output/themes/default/partials/icon.d.ts +1 -1
  66. package/dist/{lib → types}/output/themes/default/partials/index.d.ts +1 -1
  67. package/dist/{lib → types}/output/themes/default/partials/member.d.ts +1 -1
  68. package/dist/{lib → types}/output/themes/default/partials/member.getterSetter.d.ts +1 -1
  69. package/dist/{lib → types}/output/themes/default/partials/member.signature.body.d.ts +1 -1
  70. package/dist/{lib → types}/output/themes/default/partials/member.signature.title.d.ts +2 -2
  71. package/dist/{lib → types}/output/themes/default/partials/member.signatures.d.ts +1 -1
  72. package/dist/{lib → types}/output/themes/default/partials/member.sources.d.ts +1 -1
  73. package/dist/{lib → types}/output/themes/default/partials/members.d.ts +1 -1
  74. package/dist/{lib → types}/output/themes/default/partials/moduleReflection.d.ts +1 -1
  75. package/dist/{lib → types}/output/themes/default/partials/navigation.d.ts +1 -1
  76. package/dist/{lib → types}/output/themes/default/partials/reflectionPreview.d.ts +1 -1
  77. package/dist/{lib → types}/output/themes/default/partials/toolbar.d.ts +1 -1
  78. package/dist/{lib → types}/output/themes/default/partials/type.d.ts +2 -2
  79. package/dist/{lib → types}/output/themes/default/partials/typeDetails.d.ts +2 -2
  80. package/dist/{lib → types}/output/themes/default/partials/typeParameters.d.ts +1 -1
  81. package/dist/{lib → types}/output/themes/default/templates/document.d.ts +1 -1
  82. package/dist/{lib → types}/output/themes/default/templates/hierarchy.d.ts +1 -1
  83. package/dist/{lib → types}/output/themes/default/templates/index.d.ts +1 -1
  84. package/dist/{lib → types}/output/themes/default/templates/reflection.d.ts +1 -1
  85. package/dist/{lib → types}/output/themes/lib.d.ts +1 -1
  86. package/dist/types/serialization.d.ts +1 -0
  87. package/dist/types/tsconfig.tsbuildinfo +1 -0
  88. package/dist/{lib → types}/utils/ValidatingFileRegistry.d.ts +1 -1
  89. package/dist/{lib → types}/utils/entry-point.d.ts +2 -2
  90. package/dist/{lib → types}/utils/general.d.ts +3 -0
  91. package/dist/types/utils/index.d.ts +22 -0
  92. package/dist/{lib → types}/utils/options/declaration.d.ts +2 -1
  93. package/dist/{lib → types}/utils/options/defaults.d.ts +1 -1
  94. package/dist/{lib → types}/utils/options/index.d.ts +2 -1
  95. package/dist/{lib → types}/utils/options/options.d.ts +1 -1
  96. package/dist/{lib → types}/utils/options/tsdoc-defaults.d.ts +1 -1
  97. package/dist/{lib → types}/utils/reflections.d.ts +1 -1
  98. package/dist/{lib → types}/utils/sort.d.ts +1 -2
  99. package/dist/{lib → types}/utils-common/general.d.ts +4 -4
  100. package/dist/{lib → types}/utils-common/jsx.elements.d.ts +16 -0
  101. package/dist/types/utils-common.d.ts +1 -0
  102. package/dist/{lib → types}/validation/documentation.d.ts +1 -1
  103. package/dist/{lib → types}/validation/exports.d.ts +1 -1
  104. package/dist/types/validation/filePaths.d.ts +3 -0
  105. package/dist/{lib → types}/validation/links.d.ts +1 -1
  106. package/dist/{lib → types}/validation/unusedMergeModuleWith.d.ts +1 -1
  107. package/dist/utils-common.js +1311 -0
  108. package/package.json +46 -37
  109. package/static/main.js +4 -4
  110. package/static/style.css +18 -3
  111. package/tsdoc.json +4 -0
  112. package/typedoc-config.schema.json +2 -0
  113. package/dist/lib/application-events.js +0 -5
  114. package/dist/lib/application.js +0 -716
  115. package/dist/lib/cli.js +0 -111
  116. package/dist/lib/converter/comments/blockLexer.js +0 -391
  117. package/dist/lib/converter/comments/declarationReferenceResolver.js +0 -218
  118. package/dist/lib/converter/comments/discovery.js +0 -563
  119. package/dist/lib/converter/comments/index.js +0 -241
  120. package/dist/lib/converter/comments/lexer.js +0 -10
  121. package/dist/lib/converter/comments/lineLexer.js +0 -279
  122. package/dist/lib/converter/comments/linkResolver.js +0 -186
  123. package/dist/lib/converter/comments/parser.js +0 -538
  124. package/dist/lib/converter/comments/rawLexer.js +0 -218
  125. package/dist/lib/converter/comments/tagName.js +0 -58
  126. package/dist/lib/converter/comments/textParser.js +0 -372
  127. package/dist/lib/converter/components.js +0 -3
  128. package/dist/lib/converter/context.js +0 -311
  129. package/dist/lib/converter/convert-expression.js +0 -58
  130. package/dist/lib/converter/converter-events.js +0 -13
  131. package/dist/lib/converter/converter.js +0 -705
  132. package/dist/lib/converter/factories/index-signature.js +0 -50
  133. package/dist/lib/converter/factories/signature.js +0 -353
  134. package/dist/lib/converter/factories/symbol-id.js +0 -50
  135. package/dist/lib/converter/index.js +0 -3
  136. package/dist/lib/converter/jsdoc.js +0 -135
  137. package/dist/lib/converter/plugins/CategoryPlugin.js +0 -278
  138. package/dist/lib/converter/plugins/CommentPlugin.js +0 -770
  139. package/dist/lib/converter/plugins/GroupPlugin.js +0 -281
  140. package/dist/lib/converter/plugins/ImplementsPlugin.js +0 -438
  141. package/dist/lib/converter/plugins/IncludePlugin.js +0 -254
  142. package/dist/lib/converter/plugins/InheritDocPlugin.js +0 -220
  143. package/dist/lib/converter/plugins/LinkResolverPlugin.js +0 -88
  144. package/dist/lib/converter/plugins/MergeModuleWithPlugin.js +0 -50
  145. package/dist/lib/converter/plugins/PackagePlugin.js +0 -188
  146. package/dist/lib/converter/plugins/SourcePlugin.js +0 -215
  147. package/dist/lib/converter/plugins/TypePlugin.js +0 -108
  148. package/dist/lib/converter/plugins/index.js +0 -10
  149. package/dist/lib/converter/symbols.js +0 -861
  150. package/dist/lib/converter/types.js +0 -833
  151. package/dist/lib/converter/utils/nodes.js +0 -26
  152. package/dist/lib/converter/utils/reflections.js +0 -17
  153. package/dist/lib/converter/utils/repository.js +0 -295
  154. package/dist/lib/converter/utils/symbols.js +0 -12
  155. package/dist/lib/debug/index.js +0 -2
  156. package/dist/lib/debug/reflectionLifetimes.js +0 -27
  157. package/dist/lib/debug/rendererUrls.js +0 -68
  158. package/dist/lib/internationalization/index.js +0 -7
  159. package/dist/lib/internationalization/internationalization.js +0 -64
  160. package/dist/lib/internationalization/locale-utils.cjs +0 -8
  161. package/dist/lib/internationalization/locale-utils.d.cts +0 -8
  162. package/dist/lib/internationalization/locales/de.cjs +0 -401
  163. package/dist/lib/internationalization/locales/de.d.cts +0 -368
  164. package/dist/lib/internationalization/locales/en.cjs +0 -411
  165. package/dist/lib/internationalization/locales/ja.cjs +0 -320
  166. package/dist/lib/internationalization/locales/ja.d.cts +0 -307
  167. package/dist/lib/internationalization/locales/ko.cjs +0 -233
  168. package/dist/lib/internationalization/locales/ko.d.cts +0 -221
  169. package/dist/lib/internationalization/locales/zh.cjs +0 -488
  170. package/dist/lib/internationalization/locales/zh.d.cts +0 -452
  171. package/dist/lib/internationalization/translatable.js +0 -8
  172. package/dist/lib/models/Comment.js +0 -534
  173. package/dist/lib/models/ContainerReflection.js +0 -159
  174. package/dist/lib/models/DeclarationReflection.js +0 -287
  175. package/dist/lib/models/DocumentReflection.js +0 -66
  176. package/dist/lib/models/FileRegistry.js +0 -133
  177. package/dist/lib/models/ParameterReflection.js +0 -39
  178. package/dist/lib/models/ProjectReflection.js +0 -417
  179. package/dist/lib/models/ReferenceReflection.js +0 -85
  180. package/dist/lib/models/Reflection.js +0 -495
  181. package/dist/lib/models/ReflectionCategory.js +0 -56
  182. package/dist/lib/models/ReflectionGroup.js +0 -72
  183. package/dist/lib/models/ReflectionSymbolId.js +0 -85
  184. package/dist/lib/models/SignatureReflection.js +0 -96
  185. package/dist/lib/models/SourceReference.js +0 -50
  186. package/dist/lib/models/TypeParameterReflection.js +0 -45
  187. package/dist/lib/models/index.js +0 -19
  188. package/dist/lib/models/kind.js +0 -231
  189. package/dist/lib/models/types.js +0 -1296
  190. package/dist/lib/models/utils.js +0 -26
  191. package/dist/lib/models/variant.js +0 -1
  192. package/dist/lib/output/components.js +0 -133
  193. package/dist/lib/output/events.js +0 -195
  194. package/dist/lib/output/formatter.js +0 -660
  195. package/dist/lib/output/index.js +0 -7
  196. package/dist/lib/output/output.js +0 -92
  197. package/dist/lib/output/plugins/AssetsPlugin.js +0 -160
  198. package/dist/lib/output/plugins/HierarchyPlugin.js +0 -65
  199. package/dist/lib/output/plugins/IconsPlugin.js +0 -54
  200. package/dist/lib/output/plugins/JavascriptIndexPlugin.js +0 -222
  201. package/dist/lib/output/plugins/NavigationPlugin.js +0 -23
  202. package/dist/lib/output/plugins/SitemapPlugin.js +0 -82
  203. package/dist/lib/output/plugins/index.js +0 -7
  204. package/dist/lib/output/renderer.js +0 -387
  205. package/dist/lib/output/router.js +0 -520
  206. package/dist/lib/output/theme.js +0 -17
  207. package/dist/lib/output/themes/MarkedPlugin.js +0 -461
  208. package/dist/lib/output/themes/default/DefaultTheme.js +0 -367
  209. package/dist/lib/output/themes/default/DefaultThemeRenderContext.js +0 -151
  210. package/dist/lib/output/themes/default/Slugger.js +0 -60
  211. package/dist/lib/output/themes/default/layouts/default.js +0 -89
  212. package/dist/lib/output/themes/default/partials/anchor-icon.js +0 -9
  213. package/dist/lib/output/themes/default/partials/breadcrumb.js +0 -11
  214. package/dist/lib/output/themes/default/partials/comment.js +0 -80
  215. package/dist/lib/output/themes/default/partials/footer.js +0 -37
  216. package/dist/lib/output/themes/default/partials/header.js +0 -39
  217. package/dist/lib/output/themes/default/partials/hierarchy.js +0 -32
  218. package/dist/lib/output/themes/default/partials/icon.js +0 -101
  219. package/dist/lib/output/themes/default/partials/index.js +0 -24
  220. package/dist/lib/output/themes/default/partials/member.declaration.js +0 -35
  221. package/dist/lib/output/themes/default/partials/member.getterSetter.js +0 -12
  222. package/dist/lib/output/themes/default/partials/member.js +0 -36
  223. package/dist/lib/output/themes/default/partials/member.signature.body.js +0 -33
  224. package/dist/lib/output/themes/default/partials/member.signature.title.js +0 -9
  225. package/dist/lib/output/themes/default/partials/member.signatures.js +0 -9
  226. package/dist/lib/output/themes/default/partials/member.sources.js +0 -55
  227. package/dist/lib/output/themes/default/partials/members.js +0 -17
  228. package/dist/lib/output/themes/default/partials/moduleReflection.js +0 -68
  229. package/dist/lib/output/themes/default/partials/navigation.js +0 -144
  230. package/dist/lib/output/themes/default/partials/reflectionPreview.js +0 -26
  231. package/dist/lib/output/themes/default/partials/toolbar.js +0 -13
  232. package/dist/lib/output/themes/default/partials/type.js +0 -9
  233. package/dist/lib/output/themes/default/partials/typeAndParent.js +0 -28
  234. package/dist/lib/output/themes/default/partials/typeDetails.js +0 -284
  235. package/dist/lib/output/themes/default/partials/typeParameters.js +0 -26
  236. package/dist/lib/output/themes/default/templates/document.js +0 -3
  237. package/dist/lib/output/themes/default/templates/hierarchy.js +0 -31
  238. package/dist/lib/output/themes/default/templates/index.js +0 -3
  239. package/dist/lib/output/themes/default/templates/reflection.js +0 -53
  240. package/dist/lib/output/themes/lib.js +0 -218
  241. package/dist/lib/serialization/components.js +0 -1
  242. package/dist/lib/serialization/deserializer.js +0 -235
  243. package/dist/lib/serialization/events.js +0 -18
  244. package/dist/lib/serialization/index.js +0 -4
  245. package/dist/lib/serialization/schema.js +0 -32
  246. package/dist/lib/serialization/serializer.js +0 -65
  247. package/dist/lib/utils/ValidatingFileRegistry.js +0 -52
  248. package/dist/lib/utils/component.js +0 -41
  249. package/dist/lib/utils/compress.js +0 -13
  250. package/dist/lib/utils/declaration-maps.js +0 -51
  251. package/dist/lib/utils/entry-point.js +0 -330
  252. package/dist/lib/utils/fs.js +0 -372
  253. package/dist/lib/utils/general.js +0 -25
  254. package/dist/lib/utils/highlighter.js +0 -150
  255. package/dist/lib/utils/html-entities.js +0 -2329
  256. package/dist/lib/utils/html.js +0 -635
  257. package/dist/lib/utils/index.d.ts +0 -17
  258. package/dist/lib/utils/index.js +0 -15
  259. package/dist/lib/utils/loggers.js +0 -71
  260. package/dist/lib/utils/options/declaration.js +0 -443
  261. package/dist/lib/utils/options/defaults.js +0 -104
  262. package/dist/lib/utils/options/help.js +0 -63
  263. package/dist/lib/utils/options/index.js +0 -4
  264. package/dist/lib/utils/options/options.js +0 -273
  265. package/dist/lib/utils/options/readers/arguments.js +0 -109
  266. package/dist/lib/utils/options/readers/index.js +0 -4
  267. package/dist/lib/utils/options/readers/package-json.js +0 -40
  268. package/dist/lib/utils/options/readers/tsconfig.js +0 -172
  269. package/dist/lib/utils/options/readers/typedoc.js +0 -136
  270. package/dist/lib/utils/options/sources/index.js +0 -1
  271. package/dist/lib/utils/options/sources/typedoc.js +0 -876
  272. package/dist/lib/utils/options/tsdoc-defaults.js +0 -94
  273. package/dist/lib/utils/package-manifest.js +0 -84
  274. package/dist/lib/utils/paths.js +0 -127
  275. package/dist/lib/utils/perf.js +0 -86
  276. package/dist/lib/utils/plugins.js +0 -61
  277. package/dist/lib/utils/reflections.js +0 -64
  278. package/dist/lib/utils/sort.js +0 -153
  279. package/dist/lib/utils/tsconfig.js +0 -60
  280. package/dist/lib/utils/tsutils.js +0 -23
  281. package/dist/lib/utils-common/array.js +0 -152
  282. package/dist/lib/utils-common/declarationReference.js +0 -341
  283. package/dist/lib/utils-common/enum.js +0 -27
  284. package/dist/lib/utils-common/events.js +0 -49
  285. package/dist/lib/utils-common/general.js +0 -22
  286. package/dist/lib/utils-common/hooks.js +0 -90
  287. package/dist/lib/utils-common/i18n.js +0 -39
  288. package/dist/lib/utils-common/index.js +0 -17
  289. package/dist/lib/utils-common/jsx.elements.js +0 -3
  290. package/dist/lib/utils-common/jsx.js +0 -187
  291. package/dist/lib/utils-common/logger.js +0 -129
  292. package/dist/lib/utils-common/map.js +0 -63
  293. package/dist/lib/utils-common/minimalSourceFile.js +0 -43
  294. package/dist/lib/utils-common/path.js +0 -130
  295. package/dist/lib/utils-common/set.js +0 -23
  296. package/dist/lib/utils-common/string.js +0 -84
  297. package/dist/lib/utils-common/validation.js +0 -50
  298. package/dist/lib/validation/documentation.js +0 -91
  299. package/dist/lib/validation/exports.js +0 -65
  300. package/dist/lib/validation/links.js +0 -78
  301. package/dist/lib/validation/unusedMergeModuleWith.js +0 -12
  302. /package/dist/{browser-utils.d.ts → types/browser-utils.d.ts} +0 -0
  303. /package/dist/{lib → types}/cli.d.ts +0 -0
  304. /package/dist/{lib → types}/converter/comments/blockLexer.d.ts +0 -0
  305. /package/dist/{lib → types}/converter/comments/lineLexer.d.ts +0 -0
  306. /package/dist/{lib → types}/converter/comments/rawLexer.d.ts +0 -0
  307. /package/dist/{lib → types}/converter/comments/tagName.d.ts +0 -0
  308. /package/dist/{lib → types}/converter/convert-expression.d.ts +0 -0
  309. /package/dist/{lib → types}/converter/converter-events.d.ts +0 -0
  310. /package/dist/{lib → types}/converter/factories/index-signature.d.ts +0 -0
  311. /package/dist/{lib → types}/converter/factories/symbol-id.d.ts +0 -0
  312. /package/dist/{lib → types}/converter/jsdoc.d.ts +0 -0
  313. /package/dist/{lib → types}/converter/plugins/CommentPlugin.d.ts +0 -0
  314. /package/dist/{lib → types}/converter/plugins/ImplementsPlugin.d.ts +0 -0
  315. /package/dist/{lib → types}/converter/plugins/MergeModuleWithPlugin.d.ts +0 -0
  316. /package/dist/{lib → types}/converter/plugins/PackagePlugin.d.ts +0 -0
  317. /package/dist/{lib → types}/converter/plugins/index.d.ts +0 -0
  318. /package/dist/{lib → types}/converter/symbols.d.ts +0 -0
  319. /package/dist/{lib/converter/utils → types/converter/utilities}/nodes.d.ts +0 -0
  320. /package/dist/{lib/converter/utils → types/converter/utilities}/symbols.d.ts +0 -0
  321. /package/dist/{lib → types}/debug/index.d.ts +0 -0
  322. /package/dist/{lib → types}/debug/reflectionLifetimes.d.ts +0 -0
  323. /package/dist/{lib → types}/debug/rendererUrls.d.ts +0 -0
  324. /package/dist/{lib → types}/internationalization/index.d.ts +0 -0
  325. /package/dist/{lib → types}/models/Comment.d.ts +0 -0
  326. /package/dist/{lib → types}/models/ContainerReflection.d.ts +0 -0
  327. /package/dist/{lib → types}/models/DeclarationReflection.d.ts +0 -0
  328. /package/dist/{lib → types}/models/DocumentReflection.d.ts +0 -0
  329. /package/dist/{lib → types}/models/ParameterReflection.d.ts +0 -0
  330. /package/dist/{lib → types}/models/ProjectReflection.d.ts +0 -0
  331. /package/dist/{lib → types}/models/ReferenceReflection.d.ts +0 -0
  332. /package/dist/{lib → types}/models/Reflection.d.ts +0 -0
  333. /package/dist/{lib → types}/models/ReflectionCategory.d.ts +0 -0
  334. /package/dist/{lib → types}/models/ReflectionGroup.d.ts +0 -0
  335. /package/dist/{lib → types}/models/SignatureReflection.d.ts +0 -0
  336. /package/dist/{lib → types}/models/TypeParameterReflection.d.ts +0 -0
  337. /package/dist/{lib → types}/models/index.d.ts +0 -0
  338. /package/dist/{lib → types}/models/kind.d.ts +0 -0
  339. /package/dist/{lib → types}/models/types.d.ts +0 -0
  340. /package/dist/{lib → types}/models/utils.d.ts +0 -0
  341. /package/dist/{lib → types}/models/variant.d.ts +0 -0
  342. /package/dist/{lib → types}/output/index.d.ts +0 -0
  343. /package/dist/{lib → types}/output/plugins/AssetsPlugin.d.ts +0 -0
  344. /package/dist/{lib → types}/output/plugins/HierarchyPlugin.d.ts +0 -0
  345. /package/dist/{lib → types}/output/plugins/IconsPlugin.d.ts +0 -0
  346. /package/dist/{lib → types}/output/plugins/JavascriptIndexPlugin.d.ts +0 -0
  347. /package/dist/{lib → types}/output/plugins/NavigationPlugin.d.ts +0 -0
  348. /package/dist/{lib → types}/output/plugins/SitemapPlugin.d.ts +0 -0
  349. /package/dist/{lib → types}/output/plugins/index.d.ts +0 -0
  350. /package/dist/{lib → types}/output/theme.d.ts +0 -0
  351. /package/dist/{lib → types}/output/themes/default/Slugger.d.ts +0 -0
  352. /package/dist/{lib → types}/output/themes/default/partials/footer.d.ts +0 -0
  353. /package/dist/{lib → types}/output/themes/default/partials/member.declaration.d.ts +0 -0
  354. /package/dist/{lib → types}/output/themes/default/partials/typeAndParent.d.ts +0 -0
  355. /package/dist/{lib → types}/serialization/components.d.ts +0 -0
  356. /package/dist/{lib → types}/serialization/deserializer.d.ts +0 -0
  357. /package/dist/{lib → types}/serialization/events.d.ts +0 -0
  358. /package/dist/{lib → types}/serialization/index.d.ts +0 -0
  359. /package/dist/{lib → types}/serialization/schema.d.ts +0 -0
  360. /package/dist/{lib → types}/serialization/serializer.d.ts +0 -0
  361. /package/dist/{lib → types}/utils/component.d.ts +0 -0
  362. /package/dist/{lib → types}/utils/compress.d.ts +0 -0
  363. /package/dist/{lib → types}/utils/declaration-maps.d.ts +0 -0
  364. /package/dist/{lib → types}/utils/fs.d.ts +0 -0
  365. /package/dist/{lib → types}/utils/highlighter.d.ts +0 -0
  366. /package/dist/{lib → types}/utils/html-entities.d.ts +0 -0
  367. /package/dist/{lib → types}/utils/html.d.ts +0 -0
  368. /package/dist/{lib → types}/utils/loggers.d.ts +0 -0
  369. /package/dist/{lib → types}/utils/options/help.d.ts +0 -0
  370. /package/dist/{lib → types}/utils/options/readers/arguments.d.ts +0 -0
  371. /package/dist/{lib → types}/utils/options/readers/index.d.ts +0 -0
  372. /package/dist/{lib → types}/utils/options/readers/package-json.d.ts +0 -0
  373. /package/dist/{lib → types}/utils/options/readers/tsconfig.d.ts +0 -0
  374. /package/dist/{lib → types}/utils/options/readers/typedoc.d.ts +0 -0
  375. /package/dist/{lib → types}/utils/options/sources/index.d.ts +0 -0
  376. /package/dist/{lib → types}/utils/options/sources/typedoc.d.ts +0 -0
  377. /package/dist/{lib → types}/utils/package-manifest.d.ts +0 -0
  378. /package/dist/{lib → types}/utils/paths.d.ts +0 -0
  379. /package/dist/{lib → types}/utils/perf.d.ts +0 -0
  380. /package/dist/{lib → types}/utils/plugins.d.ts +0 -0
  381. /package/dist/{lib → types}/utils/tsconfig.d.ts +0 -0
  382. /package/dist/{lib → types}/utils/tsutils.d.ts +0 -0
  383. /package/dist/{lib → types}/utils-common/array.d.ts +0 -0
  384. /package/dist/{lib → types}/utils-common/declarationReference.d.ts +0 -0
  385. /package/dist/{lib → types}/utils-common/enum.d.ts +0 -0
  386. /package/dist/{lib → types}/utils-common/events.d.ts +0 -0
  387. /package/dist/{lib → types}/utils-common/hooks.d.ts +0 -0
  388. /package/dist/{lib → types}/utils-common/i18n.d.ts +0 -0
  389. /package/dist/{lib → types}/utils-common/index.d.ts +0 -0
  390. /package/dist/{lib → types}/utils-common/jsx.d.ts +0 -0
  391. /package/dist/{lib → types}/utils-common/logger.d.ts +0 -0
  392. /package/dist/{lib → types}/utils-common/map.d.ts +0 -0
  393. /package/dist/{lib → types}/utils-common/minimalSourceFile.d.ts +0 -0
  394. /package/dist/{lib → types}/utils-common/path.d.ts +0 -0
  395. /package/dist/{lib → types}/utils-common/set.d.ts +0 -0
  396. /package/dist/{lib → types}/utils-common/string.d.ts +0 -0
  397. /package/dist/{lib → types}/utils-common/validation.d.ts +0 -0
@@ -1,660 +0,0 @@
1
- // Heavily based on https://yorickpeterse.com/articles/how-to-write-a-code-formatter/
2
- // Implements roughly the same algorithm as Prettier
3
- import { ok } from "assert";
4
- import { LiteralType, ReferenceType, TypeContext } from "../models/types.js";
5
- import { aggregate, assertNever, JSX } from "#utils";
6
- import { getKindClass, getUniquePath, stringify } from "./themes/lib.js";
7
- import { ReflectionKind, } from "../models/index.js";
8
- // Non breaking space
9
- const INDENT = "\u00A0\u00A0\u00A0\u00A0";
10
- const emptyNode = textNode("");
11
- function space() {
12
- return textNode(" ");
13
- }
14
- function textNode(content) {
15
- return { type: "text", content };
16
- }
17
- function simpleElement(element) {
18
- ok(element.children.length === 1);
19
- ok(typeof element.children[0] === "string");
20
- return {
21
- type: "element",
22
- content: element,
23
- length: element.children[0].length,
24
- };
25
- }
26
- function line() {
27
- return { type: "line" };
28
- }
29
- function spaceOrLine() {
30
- return { type: "space_or_line" };
31
- }
32
- function indent(content) {
33
- return { type: "indent", content };
34
- }
35
- function group(id, content) {
36
- return { type: "group", id, content };
37
- }
38
- function nodes(...content) {
39
- return { type: "nodes", content };
40
- }
41
- function ifWrap(id, trueBranch, falseBranch = emptyNode) {
42
- return { type: "if_wrap", id, true: trueBranch, false: falseBranch };
43
- }
44
- function join(joiner, list, cb) {
45
- const content = [];
46
- for (const item of list) {
47
- if (content.length > 0) {
48
- content.push(joiner);
49
- }
50
- content.push(cb(item));
51
- }
52
- return { type: "nodes", content };
53
- }
54
- function nodeWidth(node, wrapped) {
55
- switch (node.type) {
56
- case "text":
57
- return node.content.length;
58
- case "element":
59
- return node.length;
60
- case "line":
61
- return 0;
62
- case "space_or_line":
63
- return 1;
64
- case "indent":
65
- case "group":
66
- case "nodes":
67
- return aggregate(node.content, (n) => nodeWidth(n, wrapped));
68
- case "if_wrap":
69
- return wrapped.has(node.id)
70
- ? nodeWidth(node.true, wrapped)
71
- : nodeWidth(node.false, wrapped);
72
- }
73
- }
74
- export var Wrap;
75
- (function (Wrap) {
76
- Wrap[Wrap["Detect"] = 0] = "Detect";
77
- Wrap[Wrap["Enable"] = 1] = "Enable";
78
- })(Wrap || (Wrap = {}));
79
- /**
80
- * Responsible for rendering nodes
81
- */
82
- export class FormattedCodeGenerator {
83
- buffer = [];
84
- /** Indentation level, not number of chars */
85
- indent = 0;
86
- /** The number of characters on the current line */
87
- size;
88
- /** Maximum number of characters allowed per line */
89
- max;
90
- /** Groups which need to be wrapped */
91
- wrapped = new Set();
92
- constructor(maxWidth = 80, startWidth = 0) {
93
- this.max = maxWidth;
94
- this.size = startWidth;
95
- }
96
- forceWrap(wrapped) {
97
- for (const id of wrapped) {
98
- this.wrapped.add(id);
99
- }
100
- }
101
- toElement() {
102
- return JSX.createElement(JSX.Fragment, null, this.buffer);
103
- }
104
- node(node, wrap) {
105
- switch (node.type) {
106
- case "nodes": {
107
- for (const n of node.content) {
108
- this.node(n, wrap);
109
- }
110
- break;
111
- }
112
- case "group": {
113
- const width = aggregate(node.content, (n) => nodeWidth(n, this.wrapped));
114
- let wrap;
115
- if (this.size + width > this.max || this.wrapped.has(node.id)) {
116
- this.wrapped.add(node.id);
117
- wrap = Wrap.Enable;
118
- }
119
- else {
120
- wrap = Wrap.Detect;
121
- }
122
- for (const n of node.content) {
123
- this.node(n, wrap);
124
- }
125
- break;
126
- }
127
- case "if_wrap": {
128
- if (this.wrapped.has(node.id)) {
129
- this.node(node.true, Wrap.Enable);
130
- }
131
- else {
132
- this.node(node.false, wrap);
133
- }
134
- break;
135
- }
136
- case "text": {
137
- this.text(node.content, node.content.length);
138
- break;
139
- }
140
- case "element": {
141
- this.text(node.content, node.length);
142
- break;
143
- }
144
- case "line": {
145
- if (wrap == Wrap.Enable) {
146
- this.newLine();
147
- }
148
- break;
149
- }
150
- case "space_or_line": {
151
- if (wrap === Wrap.Enable) {
152
- this.newLine();
153
- }
154
- else {
155
- this.text(" ", 1);
156
- }
157
- break;
158
- }
159
- case "indent": {
160
- if (wrap === Wrap.Enable) {
161
- this.size += INDENT.length;
162
- this.indent += 1;
163
- this.buffer.push(INDENT);
164
- for (const n of node.content) {
165
- this.node(n, wrap);
166
- }
167
- this.indent -= 1;
168
- }
169
- else {
170
- for (const n of node.content) {
171
- this.node(n, wrap);
172
- }
173
- }
174
- break;
175
- }
176
- default:
177
- assertNever(node);
178
- }
179
- }
180
- text(value, chars) {
181
- this.size += chars;
182
- this.buffer.push(value);
183
- }
184
- newLine() {
185
- this.size = INDENT.length + this.indent;
186
- const last = this.buffer[this.buffer.length - 1];
187
- if (typeof last === "string") {
188
- this.buffer[this.buffer.length - 1] = last.trimEnd();
189
- }
190
- this.buffer.push(JSX.createElement("br", null));
191
- this.buffer.push(INDENT.repeat(this.indent));
192
- }
193
- }
194
- const typeBuilder = {
195
- array(type, builder) {
196
- return nodes(builder.type(type.elementType, TypeContext.arrayElement), simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "[]")));
197
- },
198
- conditional(type, builder) {
199
- const id = builder.newId();
200
- return group(id, [
201
- builder.type(type.checkType, TypeContext.conditionalCheck),
202
- space(),
203
- simpleElement(JSX.createElement("span", { class: "tsd-signature-keyword" }, "extends")),
204
- space(),
205
- builder.type(type.extendsType, TypeContext.conditionalExtends),
206
- spaceOrLine(),
207
- indent([
208
- simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "?")),
209
- space(),
210
- builder.type(type.trueType, TypeContext.conditionalTrue),
211
- spaceOrLine(),
212
- simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, ":")),
213
- space(),
214
- builder.type(type.falseType, TypeContext.conditionalFalse),
215
- ]),
216
- ]);
217
- },
218
- indexedAccess(type, builder) {
219
- let indexType = builder.type(type.indexType, TypeContext.indexedIndex);
220
- if (type.objectType instanceof ReferenceType &&
221
- type.objectType.reflection &&
222
- type.indexType instanceof LiteralType &&
223
- typeof type.indexType.value === "string") {
224
- const childReflection = type.objectType.reflection.getChildByName([
225
- type.indexType.value,
226
- ]);
227
- if (childReflection) {
228
- const displayed = stringify(type.indexType.value);
229
- if (builder.router.hasUrl(childReflection)) {
230
- indexType = {
231
- type: "element",
232
- content: (JSX.createElement("a", { href: builder.urlTo(childReflection) },
233
- JSX.createElement("span", { class: "tsd-signature-type" }, displayed))),
234
- length: displayed.length,
235
- };
236
- }
237
- else {
238
- indexType = {
239
- type: "element",
240
- content: JSX.createElement("span", { class: "tsd-signature-type" }, displayed),
241
- length: displayed.length,
242
- };
243
- }
244
- }
245
- }
246
- return nodes(builder.type(type.objectType, TypeContext.indexedObject), simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "[")), indexType, simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "]")));
247
- },
248
- inferred(type, builder) {
249
- const simple = nodes(simpleElement(JSX.createElement("span", { class: "tsd-signature-keyword" }, "infer")), space(), simpleElement(JSX.createElement("span", { class: "tsd-kind-type-parameter" }, type.name)));
250
- if (type.constraint) {
251
- const id = builder.newId();
252
- return group(id, [
253
- simple,
254
- space(),
255
- simpleElement(JSX.createElement("span", { class: "tsd-signature-keyword" }, "extends")),
256
- spaceOrLine(),
257
- indent([
258
- builder.type(type.constraint, TypeContext.inferredConstraint),
259
- ]),
260
- ]);
261
- }
262
- return simple;
263
- },
264
- intersection(type, builder) {
265
- // Prettier doesn't do smart wrapping here like we do with unions
266
- // so... TypeDoc won't either, at least for now.
267
- return join(nodes(space(), simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "&")), space()), type.types, (type) => builder.type(type, TypeContext.intersectionElement));
268
- },
269
- intrinsic(type) {
270
- return simpleElement(JSX.createElement("span", { class: "tsd-signature-type" }, type.name));
271
- },
272
- literal(type) {
273
- return simpleElement(JSX.createElement("span", { class: "tsd-signature-type" }, stringify(type.value)));
274
- },
275
- mapped(type, builder) {
276
- const parts = [];
277
- switch (type.readonlyModifier) {
278
- case "+":
279
- parts.push(simpleElement(JSX.createElement("span", { class: "tsd-signature-keyword" }, "readonly")), space());
280
- break;
281
- case "-":
282
- parts.push(simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "-")), simpleElement(JSX.createElement("span", { class: "tsd-signature-keyword" }, "readonly")), space());
283
- break;
284
- }
285
- parts.push(simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "[")), simpleElement(JSX.createElement("span", { class: "tsd-kind-type-parameter" }, type.parameter)), space(), simpleElement(JSX.createElement("span", { class: "tsd-signature-keyword" }, "in")), space(), builder.type(type.parameterType, TypeContext.mappedParameter));
286
- if (type.nameType) {
287
- parts.push(space(), simpleElement(JSX.createElement("span", { class: "tsd-signature-keyword" }, "as")), space(), builder.type(type.nameType, TypeContext.mappedName));
288
- }
289
- parts.push(simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "]")));
290
- switch (type.optionalModifier) {
291
- case "+":
292
- parts.push(simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "?:")));
293
- break;
294
- case "-":
295
- parts.push(simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "-?:")));
296
- break;
297
- default:
298
- parts.push(simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, ":")));
299
- }
300
- parts.push(space(), builder.type(type.templateType, TypeContext.mappedTemplate));
301
- return group(builder.newId(), [
302
- simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "{")),
303
- spaceOrLine(),
304
- indent(parts),
305
- spaceOrLine(),
306
- simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "}")),
307
- ]);
308
- },
309
- namedTupleMember(type, builder) {
310
- return nodes(textNode(type.name), type.isOptional
311
- ? simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "?:"))
312
- : simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, ":")), space(), builder.type(type.element, TypeContext.none));
313
- },
314
- optional(type, builder) {
315
- return nodes(builder.type(type.elementType, TypeContext.optionalElement), simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "?")));
316
- },
317
- predicate(type, builder) {
318
- const content = [];
319
- if (type.asserts) {
320
- content.push(simpleElement(JSX.createElement("span", { class: "tsd-signature-keyword" }, "asserts")), space());
321
- }
322
- content.push(simpleElement(JSX.createElement("span", { class: "tsd-kind-parameter" }, type.name)));
323
- if (type.targetType) {
324
- content.push(space(), simpleElement(JSX.createElement("span", { class: "tsd-signature-keyword" }, "is")), space(), builder.type(type.targetType, TypeContext.predicateTarget));
325
- }
326
- return nodes(...content);
327
- },
328
- query(type, builder) {
329
- return nodes(simpleElement(JSX.createElement("span", { class: "tsd-signature-keyword" }, "typeof")), space(), builder.type(type.queryType, TypeContext.queryTypeTarget));
330
- },
331
- reference(type, builder) {
332
- const reflection = type.reflection;
333
- let name;
334
- if (reflection) {
335
- if (reflection.kindOf(ReflectionKind.TypeParameter)) {
336
- if (builder.router.hasUrl(reflection)) {
337
- name = simpleElement(JSX.createElement("a", { class: "tsd-signature-type tsd-kind-type-parameter", href: builder.urlTo(reflection) }, reflection.name));
338
- }
339
- else {
340
- name = simpleElement(JSX.createElement("span", { class: "tsd-signature-type tsd-kind-type-parameter" }, reflection.name));
341
- }
342
- }
343
- else {
344
- name = join(simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, ".")), getUniquePath(reflection), (item) => {
345
- if (builder.router.hasUrl(item)) {
346
- return simpleElement(JSX.createElement("a", { href: builder.urlTo(item), class: "tsd-signature-type " +
347
- getKindClass(item) }, item.name));
348
- }
349
- return simpleElement(JSX.createElement("span", { class: "tsd-signature-type " + getKindClass(item) }, item.name));
350
- });
351
- }
352
- }
353
- else if (type.externalUrl) {
354
- if (type.externalUrl === "#") {
355
- name = simpleElement(JSX.createElement("span", { class: "tsd-signature-type external" }, type.name));
356
- }
357
- else {
358
- name = simpleElement(JSX.createElement("a", { href: type.externalUrl, class: "tsd-signature-type external", target: "_blank" }, type.name));
359
- }
360
- }
361
- else if (type.refersToTypeParameter) {
362
- name = simpleElement(JSX.createElement("span", { class: "tsd-signature-type tsd-kind-type-parameter" }, type.name));
363
- }
364
- else {
365
- name = simpleElement(JSX.createElement("span", { class: "tsd-signature-type" }, type.name));
366
- }
367
- if (type.typeArguments?.length) {
368
- const id = builder.newId();
369
- return group(id, [
370
- name,
371
- simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "<")),
372
- line(),
373
- indent([
374
- join(nodes(simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, ",")), spaceOrLine()), type.typeArguments, (item) => builder.type(item, TypeContext.referenceTypeArgument)),
375
- ifWrap(id, simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, ","))),
376
- ]),
377
- line(),
378
- simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, ">")),
379
- ]);
380
- }
381
- return name;
382
- },
383
- reflection(type, builder, options) {
384
- return builder.reflection(type.declaration, options);
385
- },
386
- rest(type, builder) {
387
- return nodes(simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "...")), builder.type(type.elementType, TypeContext.restElement));
388
- },
389
- templateLiteral(type, builder) {
390
- const content = [];
391
- content.push(simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "`")));
392
- if (type.head) {
393
- content.push(simpleElement(JSX.createElement("span", { class: "tsd-signature-type" }, type.head)));
394
- }
395
- for (const item of type.tail) {
396
- content.push(simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "${")), builder.type(item[0], TypeContext.templateLiteralElement), simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "}")));
397
- if (item[1]) {
398
- content.push(simpleElement(JSX.createElement("span", { class: "tsd-signature-type" }, item[1])));
399
- }
400
- }
401
- content.push(simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "`")));
402
- return nodes(...content);
403
- },
404
- tuple(type, builder) {
405
- const id = builder.newId();
406
- return group(id, [
407
- simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "[")),
408
- line(),
409
- indent([
410
- join(nodes(simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, ",")), spaceOrLine()), type.elements, (item) => builder.type(item, TypeContext.tupleElement)),
411
- ]),
412
- ifWrap(id, simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, ","))),
413
- line(),
414
- simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "]")),
415
- ]);
416
- },
417
- typeOperator(type, builder) {
418
- return nodes(simpleElement(JSX.createElement("span", { class: "tsd-signature-keyword" }, type.operator)), space(), builder.type(type.target, TypeContext.typeOperatorTarget));
419
- },
420
- union(type, builder) {
421
- const parentId = builder.id;
422
- const id = builder.newId();
423
- const pipe = simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "|"));
424
- const elements = type.types.flatMap((type, i) => [
425
- i == 0 ? ifWrap(id, nodes(pipe, space())) : space(),
426
- builder.type(type, TypeContext.unionElement),
427
- spaceOrLine(),
428
- pipe,
429
- ]);
430
- elements.pop(); // Remove last pipe
431
- elements.pop(); // Remove last spaceOrLine
432
- return group(id, [
433
- ifWrap(parentId, emptyNode, line()),
434
- ifWrap(parentId, nodes(...elements), indent(elements)),
435
- ]);
436
- },
437
- unknown(type) {
438
- return textNode(type.name);
439
- },
440
- };
441
- /**
442
- * Responsible for generating Nodes from a type tree.
443
- */
444
- export class FormattedCodeBuilder {
445
- router;
446
- relativeReflection;
447
- forceWrap = new Set();
448
- id = 0;
449
- constructor(router, relativeReflection) {
450
- this.router = router;
451
- this.relativeReflection = relativeReflection;
452
- }
453
- urlTo(refl) {
454
- return this.router.relativeUrl(this.relativeReflection, refl);
455
- }
456
- newId() {
457
- return ++this.id;
458
- }
459
- type(type, where, options = { topLevelLinks: false }) {
460
- if (!type) {
461
- return simpleElement(JSX.createElement("span", { class: "tsd-signature-type" }, "any"));
462
- }
463
- if (type.needsParenthesis(where)) {
464
- const id = this.newId();
465
- return group(id, [
466
- textNode("("),
467
- line(),
468
- indent([type.visit(typeBuilder, this, options)]),
469
- line(),
470
- textNode(")"),
471
- ]);
472
- }
473
- return type.visit(typeBuilder, this, options);
474
- }
475
- reflection(reflection, options) {
476
- const members = [];
477
- const children = reflection.getProperties();
478
- for (const item of children) {
479
- this.member(members, item, options);
480
- }
481
- if (reflection.indexSignatures) {
482
- for (const index of reflection.indexSignatures) {
483
- members.push(nodes(...(index.flags.isReadonly
484
- ? [
485
- simpleElement(JSX.createElement("span", { class: "tsd-signature-keyword" }, "readonly")),
486
- space(),
487
- ]
488
- : []), simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "[")), simpleElement(JSX.createElement("span", { class: getKindClass(index) }, index.parameters[0].name)), simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, ":")), space(), this.type(index.parameters[0].type, TypeContext.none), simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "]:")), space(), this.type(index.type, TypeContext.none)));
489
- }
490
- }
491
- if (!members.length && reflection.signatures?.length === 1) {
492
- return this.signature(reflection.signatures[0], {
493
- hideName: true,
494
- arrowStyle: true,
495
- });
496
- }
497
- for (const item of reflection.signatures || []) {
498
- members.push(this.signature(item, { hideName: true }));
499
- }
500
- if (members.length) {
501
- const id = this.newId();
502
- if (options.topLevelLinks) {
503
- this.forceWrap.add(id);
504
- }
505
- return group(id, [
506
- simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "{")),
507
- spaceOrLine(),
508
- indent([
509
- join(nodes(simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, ";")), spaceOrLine()), members, (node) => node),
510
- ]),
511
- ifWrap(id, simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, ";"))),
512
- spaceOrLine(),
513
- simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "}")),
514
- ]);
515
- }
516
- return simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "{}"));
517
- }
518
- typeAlias(item) {
519
- return nodes(simpleElement(JSX.createElement("span", { class: "tsd-signature-keyword" }, "type")), space(), simpleElement(JSX.createElement("span", { class: getKindClass(item) }, item.name)), this.typeParameters(item), space(), simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "=")), space(), this.reflection(item, { topLevelLinks: true }));
520
- }
521
- interface(item) {
522
- return nodes(simpleElement(JSX.createElement("span", { class: "tsd-signature-keyword" }, "interface")), space(), simpleElement(JSX.createElement("span", { class: getKindClass(item) }, item.name)), this.typeParameters(item), space(), this.reflection(item, { topLevelLinks: true }));
523
- }
524
- member(members, item, options) {
525
- if (item.getSignature && item.setSignature) {
526
- members.push(this.signature(item.getSignature, options), this.signature(item.setSignature, options));
527
- return;
528
- }
529
- if (item.getSignature) {
530
- members.push(this.signature(item.getSignature, options));
531
- return;
532
- }
533
- if (item.setSignature) {
534
- members.push(this.signature(item.setSignature, options));
535
- return;
536
- }
537
- if (item.signatures) {
538
- members.push(...item.signatures.map((sig) => this.signature(sig, options)));
539
- return;
540
- }
541
- members.push(nodes(this.propertyName(item, options), simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, item.flags.isOptional ? "?:" : ":")), space(), this.type(item.type, TypeContext.none)));
542
- }
543
- signature(sig, options) {
544
- let name = options.hideName
545
- ? emptyNode
546
- : this.propertyName(sig, options);
547
- switch (sig.kind) {
548
- case ReflectionKind.ConstructorSignature: {
549
- let label = emptyNode;
550
- if (sig.flags.isAbstract) {
551
- label = nodes(simpleElement(JSX.createElement("span", { class: "tsd-signature-keyword" }, "abstract")), space());
552
- }
553
- label = nodes(label, simpleElement(JSX.createElement("span", { class: "tsd-signature-keyword" }, "new")), space());
554
- name = nodes(label, name);
555
- break;
556
- }
557
- case ReflectionKind.GetSignature: {
558
- name = nodes(simpleElement(JSX.createElement("span", { class: "tsd-signature-keyword" }, "get")), space(), name);
559
- break;
560
- }
561
- case ReflectionKind.SetSignature: {
562
- name = nodes(simpleElement(JSX.createElement("span", { class: "tsd-signature-keyword" }, "set")), space(), name);
563
- break;
564
- }
565
- }
566
- const id = this.newId();
567
- return group(id, [
568
- name,
569
- sig.parent.flags.isOptional ? simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "?")) : emptyNode,
570
- this.typeParameters(sig),
571
- ...this.parameters(sig, id),
572
- nodes(options.arrowStyle ? space() : emptyNode, simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, options.arrowStyle ? "=>" : ":")), space(), this.type(sig.type, TypeContext.none)),
573
- ]);
574
- }
575
- typeParameters(sig) {
576
- if (!sig.typeParameters?.length) {
577
- return emptyNode;
578
- }
579
- const id = this.newId();
580
- return group(id, [
581
- simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "<")),
582
- line(),
583
- indent([
584
- join(nodes(simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, ",")), spaceOrLine()), sig.typeParameters, (item) => this.typeParameter(item)),
585
- ]),
586
- ifWrap(id, simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, ","))),
587
- line(),
588
- simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, ">")),
589
- ]);
590
- }
591
- typeParameter(param) {
592
- let prefix = emptyNode;
593
- if (param.flags.isConst) {
594
- prefix = nodes(simpleElement(JSX.createElement("span", { class: "tsd-signature-keyword" }, "const")), space());
595
- }
596
- if (param.varianceModifier) {
597
- prefix = nodes(prefix, simpleElement(JSX.createElement("span", { class: "tsd-signature-keyword" }, param.varianceModifier)), space());
598
- }
599
- const content = [prefix];
600
- if (this.router.hasUrl(param)) {
601
- content.push(simpleElement(JSX.createElement("a", { class: "tsd-signature-type tsd-kind-type-parameter", href: this.urlTo(param) }, param.name)));
602
- }
603
- else {
604
- content.push(simpleElement(JSX.createElement("span", { class: "tsd-signature-type tsd-kind-type-parameter" }, param.name)));
605
- }
606
- if (param.type) {
607
- content.push(space(), simpleElement(JSX.createElement("span", { class: "tsd-signature-keyword" }, "extends")), spaceOrLine(), indent([this.type(param.type, TypeContext.none)]));
608
- }
609
- if (param.default) {
610
- content.push(space(), simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "=")), space(), this.type(param.default, TypeContext.none));
611
- }
612
- return group(this.newId(), content);
613
- }
614
- parameters(sig, id) {
615
- if (!sig.parameters?.length) {
616
- return [
617
- simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "()")),
618
- ];
619
- }
620
- return [
621
- simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "(")),
622
- line(),
623
- indent([
624
- join(nodes(simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, ",")), spaceOrLine()), sig.parameters, (item) => this.parameter(item)),
625
- ]),
626
- ifWrap(id, simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, ","))),
627
- line(),
628
- simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, ")")),
629
- ];
630
- }
631
- parameter(param) {
632
- const content = [];
633
- if (param.flags.isRest) {
634
- content.push(simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "...")));
635
- }
636
- content.push(simpleElement(JSX.createElement("span", { class: "tsd-kind-parameter" }, param.name)));
637
- if (param.flags.isOptional || param.defaultValue) {
638
- content.push(simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, "?:")));
639
- }
640
- else {
641
- content.push(simpleElement(JSX.createElement("span", { class: "tsd-signature-symbol" }, ":")));
642
- }
643
- // Tricky: We don't introduce a branch here via group()
644
- // the branch may be introduced by the union type if the parameter
645
- // value is a union.
646
- const id = this.newId();
647
- content.push(ifWrap(id, emptyNode, space()));
648
- content.push(this.type(param.type, TypeContext.none));
649
- return nodes(...content);
650
- }
651
- propertyName(reflection, options) {
652
- const entityName = /^[A-Z_$][\w$]*$/i.test(reflection.name)
653
- ? reflection.name
654
- : JSON.stringify(reflection.name);
655
- if (options.topLevelLinks) {
656
- return simpleElement(JSX.createElement("a", { class: getKindClass(reflection), href: this.urlTo(reflection) }, entityName));
657
- }
658
- return simpleElement(JSX.createElement("span", { class: getKindClass(reflection) }, entityName));
659
- }
660
- }
@@ -1,7 +0,0 @@
1
- export { IndexEvent, MarkdownEvent, PageEvent, RendererEvent } from "./events.js";
2
- export { Renderer } from "./renderer.js";
3
- export { Theme } from "./theme.js";
4
- export { DefaultTheme } from "./themes/default/DefaultTheme.js";
5
- export { DefaultThemeRenderContext } from "./themes/default/DefaultThemeRenderContext.js";
6
- export { Slugger } from "./themes/default/Slugger.js";
7
- export { BaseRouter, CategoryRouter, GroupRouter, KindDirRouter, KindRouter, PageKind, StructureDirRouter, StructureRouter, } from "./router.js";