@depup/typedoc 0.28.17-depup.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 (390) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +34 -0
  3. package/bin/package.json +3 -0
  4. package/bin/typedoc +24 -0
  5. package/changes.json +22 -0
  6. package/dist/browser-locales/de.d.ts +2 -0
  7. package/dist/browser-locales/de.js +62 -0
  8. package/dist/browser-locales/en.d.ts +2 -0
  9. package/dist/browser-locales/en.js +62 -0
  10. package/dist/browser-locales/ja.d.ts +2 -0
  11. package/dist/browser-locales/ja.js +62 -0
  12. package/dist/browser-locales/ko.d.ts +2 -0
  13. package/dist/browser-locales/ko.js +62 -0
  14. package/dist/browser-locales/zh.d.ts +2 -0
  15. package/dist/browser-locales/zh.js +62 -0
  16. package/dist/browser-utils.d.ts +3 -0
  17. package/dist/browser-utils.js +3 -0
  18. package/dist/index.d.ts +49 -0
  19. package/dist/index.js +46 -0
  20. package/dist/lib/application-events.d.ts +5 -0
  21. package/dist/lib/application-events.js +5 -0
  22. package/dist/lib/application.d.ts +195 -0
  23. package/dist/lib/application.js +715 -0
  24. package/dist/lib/cli.d.ts +1 -0
  25. package/dist/lib/cli.js +111 -0
  26. package/dist/lib/converter/comments/blockLexer.d.ts +4 -0
  27. package/dist/lib/converter/comments/blockLexer.js +391 -0
  28. package/dist/lib/converter/comments/declarationReferenceResolver.d.ts +3 -0
  29. package/dist/lib/converter/comments/declarationReferenceResolver.js +218 -0
  30. package/dist/lib/converter/comments/discovery.d.ts +14 -0
  31. package/dist/lib/converter/comments/discovery.js +563 -0
  32. package/dist/lib/converter/comments/index.d.ts +37 -0
  33. package/dist/lib/converter/comments/index.js +241 -0
  34. package/dist/lib/converter/comments/lexer.d.ts +17 -0
  35. package/dist/lib/converter/comments/lexer.js +10 -0
  36. package/dist/lib/converter/comments/lineLexer.d.ts +3 -0
  37. package/dist/lib/converter/comments/lineLexer.js +279 -0
  38. package/dist/lib/converter/comments/linkResolver.d.ts +20 -0
  39. package/dist/lib/converter/comments/linkResolver.js +186 -0
  40. package/dist/lib/converter/comments/parser.d.ts +18 -0
  41. package/dist/lib/converter/comments/parser.js +538 -0
  42. package/dist/lib/converter/comments/rawLexer.d.ts +8 -0
  43. package/dist/lib/converter/comments/rawLexer.js +218 -0
  44. package/dist/lib/converter/comments/tagName.d.ts +8 -0
  45. package/dist/lib/converter/comments/tagName.js +58 -0
  46. package/dist/lib/converter/comments/textParser.d.ts +33 -0
  47. package/dist/lib/converter/comments/textParser.js +372 -0
  48. package/dist/lib/converter/components.d.ts +4 -0
  49. package/dist/lib/converter/components.js +3 -0
  50. package/dist/lib/converter/context.d.ts +101 -0
  51. package/dist/lib/converter/context.js +311 -0
  52. package/dist/lib/converter/convert-expression.d.ts +9 -0
  53. package/dist/lib/converter/convert-expression.js +58 -0
  54. package/dist/lib/converter/converter-events.d.ts +13 -0
  55. package/dist/lib/converter/converter-events.js +13 -0
  56. package/dist/lib/converter/converter.d.ts +238 -0
  57. package/dist/lib/converter/converter.js +705 -0
  58. package/dist/lib/converter/factories/index-signature.d.ts +3 -0
  59. package/dist/lib/converter/factories/index-signature.js +50 -0
  60. package/dist/lib/converter/factories/signature.d.ts +14 -0
  61. package/dist/lib/converter/factories/signature.js +353 -0
  62. package/dist/lib/converter/factories/symbol-id.d.ts +3 -0
  63. package/dist/lib/converter/factories/symbol-id.js +47 -0
  64. package/dist/lib/converter/index.d.ts +5 -0
  65. package/dist/lib/converter/index.js +3 -0
  66. package/dist/lib/converter/jsdoc.d.ts +4 -0
  67. package/dist/lib/converter/jsdoc.js +135 -0
  68. package/dist/lib/converter/plugins/CategoryPlugin.d.ts +48 -0
  69. package/dist/lib/converter/plugins/CategoryPlugin.js +278 -0
  70. package/dist/lib/converter/plugins/CommentPlugin.d.ts +128 -0
  71. package/dist/lib/converter/plugins/CommentPlugin.js +770 -0
  72. package/dist/lib/converter/plugins/GroupPlugin.d.ts +48 -0
  73. package/dist/lib/converter/plugins/GroupPlugin.js +281 -0
  74. package/dist/lib/converter/plugins/ImplementsPlugin.d.ts +42 -0
  75. package/dist/lib/converter/plugins/ImplementsPlugin.js +438 -0
  76. package/dist/lib/converter/plugins/IncludePlugin.d.ts +14 -0
  77. package/dist/lib/converter/plugins/IncludePlugin.js +254 -0
  78. package/dist/lib/converter/plugins/InheritDocPlugin.d.ts +32 -0
  79. package/dist/lib/converter/plugins/InheritDocPlugin.js +220 -0
  80. package/dist/lib/converter/plugins/LinkResolverPlugin.d.ts +13 -0
  81. package/dist/lib/converter/plugins/LinkResolverPlugin.js +88 -0
  82. package/dist/lib/converter/plugins/MergeModuleWithPlugin.d.ts +12 -0
  83. package/dist/lib/converter/plugins/MergeModuleWithPlugin.js +50 -0
  84. package/dist/lib/converter/plugins/PackagePlugin.d.ts +31 -0
  85. package/dist/lib/converter/plugins/PackagePlugin.js +188 -0
  86. package/dist/lib/converter/plugins/SourcePlugin.d.ts +36 -0
  87. package/dist/lib/converter/plugins/SourcePlugin.js +215 -0
  88. package/dist/lib/converter/plugins/TypePlugin.d.ts +16 -0
  89. package/dist/lib/converter/plugins/TypePlugin.js +108 -0
  90. package/dist/lib/converter/plugins/index.d.ts +10 -0
  91. package/dist/lib/converter/plugins/index.js +10 -0
  92. package/dist/lib/converter/symbols.d.ts +3 -0
  93. package/dist/lib/converter/symbols.js +861 -0
  94. package/dist/lib/converter/types.d.ts +10 -0
  95. package/dist/lib/converter/types.js +833 -0
  96. package/dist/lib/converter/utils/nodes.d.ts +7 -0
  97. package/dist/lib/converter/utils/nodes.js +26 -0
  98. package/dist/lib/converter/utils/reflections.d.ts +2 -0
  99. package/dist/lib/converter/utils/reflections.js +17 -0
  100. package/dist/lib/converter/utils/repository.d.ts +96 -0
  101. package/dist/lib/converter/utils/repository.js +295 -0
  102. package/dist/lib/converter/utils/symbols.d.ts +2 -0
  103. package/dist/lib/converter/utils/symbols.js +12 -0
  104. package/dist/lib/debug/index.d.ts +2 -0
  105. package/dist/lib/debug/index.js +2 -0
  106. package/dist/lib/debug/reflectionLifetimes.d.ts +3 -0
  107. package/dist/lib/debug/reflectionLifetimes.js +27 -0
  108. package/dist/lib/debug/rendererUrls.d.ts +6 -0
  109. package/dist/lib/debug/rendererUrls.js +68 -0
  110. package/dist/lib/internationalization/index.d.ts +7 -0
  111. package/dist/lib/internationalization/index.js +7 -0
  112. package/dist/lib/internationalization/internationalization.d.ts +65 -0
  113. package/dist/lib/internationalization/internationalization.js +64 -0
  114. package/dist/lib/internationalization/locale-utils.cjs +8 -0
  115. package/dist/lib/internationalization/locale-utils.d.cts +8 -0
  116. package/dist/lib/internationalization/locales/de.cjs +401 -0
  117. package/dist/lib/internationalization/locales/de.d.cts +368 -0
  118. package/dist/lib/internationalization/locales/en.cjs +411 -0
  119. package/dist/lib/internationalization/locales/en.d.cts +380 -0
  120. package/dist/lib/internationalization/locales/ja.cjs +320 -0
  121. package/dist/lib/internationalization/locales/ja.d.cts +307 -0
  122. package/dist/lib/internationalization/locales/ko.cjs +233 -0
  123. package/dist/lib/internationalization/locales/ko.d.cts +221 -0
  124. package/dist/lib/internationalization/locales/zh.cjs +488 -0
  125. package/dist/lib/internationalization/locales/zh.d.cts +452 -0
  126. package/dist/lib/internationalization/translatable.d.ts +21 -0
  127. package/dist/lib/internationalization/translatable.js +8 -0
  128. package/dist/lib/models/Comment.d.ts +241 -0
  129. package/dist/lib/models/Comment.js +534 -0
  130. package/dist/lib/models/ContainerReflection.d.ts +56 -0
  131. package/dist/lib/models/ContainerReflection.js +159 -0
  132. package/dist/lib/models/DeclarationReflection.d.ts +149 -0
  133. package/dist/lib/models/DeclarationReflection.js +287 -0
  134. package/dist/lib/models/DocumentReflection.d.ts +32 -0
  135. package/dist/lib/models/DocumentReflection.js +66 -0
  136. package/dist/lib/models/FileRegistry.d.ts +46 -0
  137. package/dist/lib/models/FileRegistry.js +133 -0
  138. package/dist/lib/models/ParameterReflection.d.ts +21 -0
  139. package/dist/lib/models/ParameterReflection.js +39 -0
  140. package/dist/lib/models/ProjectReflection.d.ts +112 -0
  141. package/dist/lib/models/ProjectReflection.js +417 -0
  142. package/dist/lib/models/ReferenceReflection.d.ts +49 -0
  143. package/dist/lib/models/ReferenceReflection.js +85 -0
  144. package/dist/lib/models/Reflection.d.ts +229 -0
  145. package/dist/lib/models/Reflection.js +495 -0
  146. package/dist/lib/models/ReflectionCategory.d.ts +31 -0
  147. package/dist/lib/models/ReflectionCategory.js +56 -0
  148. package/dist/lib/models/ReflectionGroup.d.ts +38 -0
  149. package/dist/lib/models/ReflectionGroup.js +72 -0
  150. package/dist/lib/models/ReflectionSymbolId.d.ts +63 -0
  151. package/dist/lib/models/ReflectionSymbolId.js +85 -0
  152. package/dist/lib/models/SignatureReflection.d.ts +50 -0
  153. package/dist/lib/models/SignatureReflection.js +96 -0
  154. package/dist/lib/models/SourceReference.d.ts +33 -0
  155. package/dist/lib/models/SourceReference.js +50 -0
  156. package/dist/lib/models/TypeParameterReflection.d.ts +30 -0
  157. package/dist/lib/models/TypeParameterReflection.js +45 -0
  158. package/dist/lib/models/index.d.ts +19 -0
  159. package/dist/lib/models/index.js +19 -0
  160. package/dist/lib/models/kind.d.ts +84 -0
  161. package/dist/lib/models/kind.js +231 -0
  162. package/dist/lib/models/types.d.ts +553 -0
  163. package/dist/lib/models/types.js +1296 -0
  164. package/dist/lib/models/utils.d.ts +1 -0
  165. package/dist/lib/models/utils.js +26 -0
  166. package/dist/lib/models/variant.d.ts +21 -0
  167. package/dist/lib/models/variant.js +1 -0
  168. package/dist/lib/output/components.d.ts +53 -0
  169. package/dist/lib/output/components.js +133 -0
  170. package/dist/lib/output/events.d.ts +175 -0
  171. package/dist/lib/output/events.js +195 -0
  172. package/dist/lib/output/formatter.d.ts +88 -0
  173. package/dist/lib/output/formatter.js +660 -0
  174. package/dist/lib/output/index.d.ts +9 -0
  175. package/dist/lib/output/index.js +7 -0
  176. package/dist/lib/output/output.d.ts +14 -0
  177. package/dist/lib/output/output.js +92 -0
  178. package/dist/lib/output/plugins/AssetsPlugin.d.ts +20 -0
  179. package/dist/lib/output/plugins/AssetsPlugin.js +160 -0
  180. package/dist/lib/output/plugins/HierarchyPlugin.d.ts +7 -0
  181. package/dist/lib/output/plugins/HierarchyPlugin.js +65 -0
  182. package/dist/lib/output/plugins/IconsPlugin.d.ts +12 -0
  183. package/dist/lib/output/plugins/IconsPlugin.js +54 -0
  184. package/dist/lib/output/plugins/JavascriptIndexPlugin.d.ts +22 -0
  185. package/dist/lib/output/plugins/JavascriptIndexPlugin.js +222 -0
  186. package/dist/lib/output/plugins/NavigationPlugin.d.ts +7 -0
  187. package/dist/lib/output/plugins/NavigationPlugin.js +23 -0
  188. package/dist/lib/output/plugins/SitemapPlugin.d.ts +8 -0
  189. package/dist/lib/output/plugins/SitemapPlugin.js +82 -0
  190. package/dist/lib/output/plugins/index.d.ts +7 -0
  191. package/dist/lib/output/plugins/index.js +7 -0
  192. package/dist/lib/output/renderer.d.ts +227 -0
  193. package/dist/lib/output/renderer.js +387 -0
  194. package/dist/lib/output/router.d.ts +187 -0
  195. package/dist/lib/output/router.js +520 -0
  196. package/dist/lib/output/theme.d.ts +22 -0
  197. package/dist/lib/output/theme.js +17 -0
  198. package/dist/lib/output/themes/MarkedPlugin.d.ts +62 -0
  199. package/dist/lib/output/themes/MarkedPlugin.js +461 -0
  200. package/dist/lib/output/themes/default/DefaultTheme.d.ts +72 -0
  201. package/dist/lib/output/themes/default/DefaultTheme.js +367 -0
  202. package/dist/lib/output/themes/default/DefaultThemeRenderContext.d.ts +105 -0
  203. package/dist/lib/output/themes/default/DefaultThemeRenderContext.js +151 -0
  204. package/dist/lib/output/themes/default/Slugger.d.ts +13 -0
  205. package/dist/lib/output/themes/default/Slugger.js +60 -0
  206. package/dist/lib/output/themes/default/layouts/default.d.ts +6 -0
  207. package/dist/lib/output/themes/default/layouts/default.js +89 -0
  208. package/dist/lib/output/themes/default/partials/anchor-icon.d.ts +5 -0
  209. package/dist/lib/output/themes/default/partials/anchor-icon.js +9 -0
  210. package/dist/lib/output/themes/default/partials/breadcrumb.d.ts +4 -0
  211. package/dist/lib/output/themes/default/partials/breadcrumb.js +11 -0
  212. package/dist/lib/output/themes/default/partials/comment.d.ts +8 -0
  213. package/dist/lib/output/themes/default/partials/comment.js +80 -0
  214. package/dist/lib/output/themes/default/partials/footer.d.ts +3 -0
  215. package/dist/lib/output/themes/default/partials/footer.js +37 -0
  216. package/dist/lib/output/themes/default/partials/header.d.ts +5 -0
  217. package/dist/lib/output/themes/default/partials/header.js +39 -0
  218. package/dist/lib/output/themes/default/partials/hierarchy.d.ts +4 -0
  219. package/dist/lib/output/themes/default/partials/hierarchy.js +32 -0
  220. package/dist/lib/output/themes/default/partials/icon.d.ts +20 -0
  221. package/dist/lib/output/themes/default/partials/icon.js +101 -0
  222. package/dist/lib/output/themes/default/partials/index.d.ts +4 -0
  223. package/dist/lib/output/themes/default/partials/index.js +24 -0
  224. package/dist/lib/output/themes/default/partials/member.d.ts +4 -0
  225. package/dist/lib/output/themes/default/partials/member.declaration.d.ts +4 -0
  226. package/dist/lib/output/themes/default/partials/member.declaration.js +35 -0
  227. package/dist/lib/output/themes/default/partials/member.getterSetter.d.ts +4 -0
  228. package/dist/lib/output/themes/default/partials/member.getterSetter.js +12 -0
  229. package/dist/lib/output/themes/default/partials/member.js +36 -0
  230. package/dist/lib/output/themes/default/partials/member.signature.body.d.ts +6 -0
  231. package/dist/lib/output/themes/default/partials/member.signature.body.js +33 -0
  232. package/dist/lib/output/themes/default/partials/member.signature.title.d.ts +5 -0
  233. package/dist/lib/output/themes/default/partials/member.signature.title.js +9 -0
  234. package/dist/lib/output/themes/default/partials/member.signatures.d.ts +4 -0
  235. package/dist/lib/output/themes/default/partials/member.signatures.js +9 -0
  236. package/dist/lib/output/themes/default/partials/member.sources.d.ts +4 -0
  237. package/dist/lib/output/themes/default/partials/member.sources.js +55 -0
  238. package/dist/lib/output/themes/default/partials/members.d.ts +4 -0
  239. package/dist/lib/output/themes/default/partials/members.js +17 -0
  240. package/dist/lib/output/themes/default/partials/moduleReflection.d.ts +5 -0
  241. package/dist/lib/output/themes/default/partials/moduleReflection.js +68 -0
  242. package/dist/lib/output/themes/default/partials/navigation.d.ts +10 -0
  243. package/dist/lib/output/themes/default/partials/navigation.js +144 -0
  244. package/dist/lib/output/themes/default/partials/reflectionPreview.d.ts +4 -0
  245. package/dist/lib/output/themes/default/partials/reflectionPreview.js +26 -0
  246. package/dist/lib/output/themes/default/partials/toolbar.d.ts +5 -0
  247. package/dist/lib/output/themes/default/partials/toolbar.js +13 -0
  248. package/dist/lib/output/themes/default/partials/type.d.ts +5 -0
  249. package/dist/lib/output/themes/default/partials/type.js +9 -0
  250. package/dist/lib/output/themes/default/partials/typeAndParent.d.ts +4 -0
  251. package/dist/lib/output/themes/default/partials/typeAndParent.js +28 -0
  252. package/dist/lib/output/themes/default/partials/typeDetails.d.ts +8 -0
  253. package/dist/lib/output/themes/default/partials/typeDetails.js +284 -0
  254. package/dist/lib/output/themes/default/partials/typeParameters.d.ts +4 -0
  255. package/dist/lib/output/themes/default/partials/typeParameters.js +26 -0
  256. package/dist/lib/output/themes/default/templates/document.d.ts +5 -0
  257. package/dist/lib/output/themes/default/templates/document.js +3 -0
  258. package/dist/lib/output/themes/default/templates/hierarchy.d.ts +5 -0
  259. package/dist/lib/output/themes/default/templates/hierarchy.js +31 -0
  260. package/dist/lib/output/themes/default/templates/index.d.ts +5 -0
  261. package/dist/lib/output/themes/default/templates/index.js +3 -0
  262. package/dist/lib/output/themes/default/templates/reflection.d.ts +5 -0
  263. package/dist/lib/output/themes/default/templates/reflection.js +53 -0
  264. package/dist/lib/output/themes/lib.d.ts +44 -0
  265. package/dist/lib/output/themes/lib.js +218 -0
  266. package/dist/lib/serialization/components.d.ts +22 -0
  267. package/dist/lib/serialization/components.js +1 -0
  268. package/dist/lib/serialization/deserializer.d.ts +70 -0
  269. package/dist/lib/serialization/deserializer.js +235 -0
  270. package/dist/lib/serialization/events.d.ts +17 -0
  271. package/dist/lib/serialization/events.js +18 -0
  272. package/dist/lib/serialization/index.d.ts +5 -0
  273. package/dist/lib/serialization/index.js +4 -0
  274. package/dist/lib/serialization/schema.d.ts +283 -0
  275. package/dist/lib/serialization/schema.js +32 -0
  276. package/dist/lib/serialization/serializer.d.ts +52 -0
  277. package/dist/lib/serialization/serializer.js +65 -0
  278. package/dist/lib/utils/ValidatingFileRegistry.d.ts +12 -0
  279. package/dist/lib/utils/ValidatingFileRegistry.js +52 -0
  280. package/dist/lib/utils/component.d.ts +38 -0
  281. package/dist/lib/utils/component.js +41 -0
  282. package/dist/lib/utils/compress.d.ts +7 -0
  283. package/dist/lib/utils/compress.js +13 -0
  284. package/dist/lib/utils/declaration-maps.d.ts +3 -0
  285. package/dist/lib/utils/declaration-maps.js +51 -0
  286. package/dist/lib/utils/entry-point.d.ts +50 -0
  287. package/dist/lib/utils/entry-point.js +330 -0
  288. package/dist/lib/utils/fs.d.ts +65 -0
  289. package/dist/lib/utils/fs.js +372 -0
  290. package/dist/lib/utils/general.d.ts +4 -0
  291. package/dist/lib/utils/general.js +25 -0
  292. package/dist/lib/utils/highlighter.d.ts +9 -0
  293. package/dist/lib/utils/highlighter.js +150 -0
  294. package/dist/lib/utils/html-entities.d.ts +8926 -0
  295. package/dist/lib/utils/html-entities.js +2329 -0
  296. package/dist/lib/utils/html.d.ts +67 -0
  297. package/dist/lib/utils/html.js +635 -0
  298. package/dist/lib/utils/index.d.ts +17 -0
  299. package/dist/lib/utils/index.js +15 -0
  300. package/dist/lib/utils/loggers.d.ts +10 -0
  301. package/dist/lib/utils/loggers.js +71 -0
  302. package/dist/lib/utils/options/declaration.d.ts +514 -0
  303. package/dist/lib/utils/options/declaration.js +443 -0
  304. package/dist/lib/utils/options/defaults.d.ts +20 -0
  305. package/dist/lib/utils/options/defaults.js +104 -0
  306. package/dist/lib/utils/options/help.d.ts +7 -0
  307. package/dist/lib/utils/options/help.js +63 -0
  308. package/dist/lib/utils/options/index.d.ts +6 -0
  309. package/dist/lib/utils/options/index.js +4 -0
  310. package/dist/lib/utils/options/options.d.ts +199 -0
  311. package/dist/lib/utils/options/options.js +273 -0
  312. package/dist/lib/utils/options/readers/arguments.d.ts +15 -0
  313. package/dist/lib/utils/options/readers/arguments.js +109 -0
  314. package/dist/lib/utils/options/readers/index.d.ts +4 -0
  315. package/dist/lib/utils/options/readers/index.js +4 -0
  316. package/dist/lib/utils/options/readers/package-json.d.ts +9 -0
  317. package/dist/lib/utils/options/readers/package-json.js +40 -0
  318. package/dist/lib/utils/options/readers/tsconfig.d.ts +14 -0
  319. package/dist/lib/utils/options/readers/tsconfig.js +172 -0
  320. package/dist/lib/utils/options/readers/typedoc.d.ts +33 -0
  321. package/dist/lib/utils/options/readers/typedoc.js +136 -0
  322. package/dist/lib/utils/options/sources/index.d.ts +1 -0
  323. package/dist/lib/utils/options/sources/index.js +1 -0
  324. package/dist/lib/utils/options/sources/typedoc.d.ts +2 -0
  325. package/dist/lib/utils/options/sources/typedoc.js +876 -0
  326. package/dist/lib/utils/options/tsdoc-defaults.d.ts +6 -0
  327. package/dist/lib/utils/options/tsdoc-defaults.js +94 -0
  328. package/dist/lib/utils/package-manifest.d.ts +11 -0
  329. package/dist/lib/utils/package-manifest.js +84 -0
  330. package/dist/lib/utils/paths.d.ts +27 -0
  331. package/dist/lib/utils/paths.js +127 -0
  332. package/dist/lib/utils/perf.d.ts +6 -0
  333. package/dist/lib/utils/perf.js +86 -0
  334. package/dist/lib/utils/plugins.d.ts +3 -0
  335. package/dist/lib/utils/plugins.js +61 -0
  336. package/dist/lib/utils/reflections.d.ts +5 -0
  337. package/dist/lib/utils/reflections.js +64 -0
  338. package/dist/lib/utils/sort.d.ts +11 -0
  339. package/dist/lib/utils/sort.js +153 -0
  340. package/dist/lib/utils/tsconfig.d.ts +5 -0
  341. package/dist/lib/utils/tsconfig.js +60 -0
  342. package/dist/lib/utils/tsutils.d.ts +3 -0
  343. package/dist/lib/utils/tsutils.js +23 -0
  344. package/dist/lib/utils-common/array.d.ts +57 -0
  345. package/dist/lib/utils-common/array.js +152 -0
  346. package/dist/lib/utils-common/declarationReference.d.ts +42 -0
  347. package/dist/lib/utils-common/declarationReference.js +341 -0
  348. package/dist/lib/utils-common/enum.d.ts +9 -0
  349. package/dist/lib/utils-common/enum.js +27 -0
  350. package/dist/lib/utils-common/events.d.ts +29 -0
  351. package/dist/lib/utils-common/events.js +49 -0
  352. package/dist/lib/utils-common/general.d.ts +40 -0
  353. package/dist/lib/utils-common/general.js +22 -0
  354. package/dist/lib/utils-common/hooks.d.ts +51 -0
  355. package/dist/lib/utils-common/hooks.js +90 -0
  356. package/dist/lib/utils-common/i18n.d.ts +18 -0
  357. package/dist/lib/utils-common/i18n.js +39 -0
  358. package/dist/lib/utils-common/index.d.ts +16 -0
  359. package/dist/lib/utils-common/index.js +17 -0
  360. package/dist/lib/utils-common/jsx.d.ts +53 -0
  361. package/dist/lib/utils-common/jsx.elements.d.ts +949 -0
  362. package/dist/lib/utils-common/jsx.elements.js +3 -0
  363. package/dist/lib/utils-common/jsx.js +187 -0
  364. package/dist/lib/utils-common/logger.d.ts +97 -0
  365. package/dist/lib/utils-common/logger.js +129 -0
  366. package/dist/lib/utils-common/map.d.ts +23 -0
  367. package/dist/lib/utils-common/map.js +63 -0
  368. package/dist/lib/utils-common/minimalSourceFile.d.ts +12 -0
  369. package/dist/lib/utils-common/minimalSourceFile.js +43 -0
  370. package/dist/lib/utils-common/path.d.ts +42 -0
  371. package/dist/lib/utils-common/path.js +130 -0
  372. package/dist/lib/utils-common/set.d.ts +3 -0
  373. package/dist/lib/utils-common/set.js +23 -0
  374. package/dist/lib/utils-common/string.d.ts +11 -0
  375. package/dist/lib/utils-common/string.js +84 -0
  376. package/dist/lib/utils-common/validation.d.ts +33 -0
  377. package/dist/lib/utils-common/validation.js +50 -0
  378. package/dist/lib/validation/documentation.d.ts +3 -0
  379. package/dist/lib/validation/documentation.js +91 -0
  380. package/dist/lib/validation/exports.d.ts +3 -0
  381. package/dist/lib/validation/exports.js +65 -0
  382. package/dist/lib/validation/links.d.ts +3 -0
  383. package/dist/lib/validation/links.js +78 -0
  384. package/dist/lib/validation/unusedMergeModuleWith.d.ts +3 -0
  385. package/dist/lib/validation/unusedMergeModuleWith.js +12 -0
  386. package/package.json +161 -0
  387. package/static/main.js +58 -0
  388. package/static/style.css +1633 -0
  389. package/tsdoc.json +247 -0
  390. package/typedoc-config.schema.json +941 -0
@@ -0,0 +1,660 @@
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
+ }
@@ -0,0 +1,9 @@
1
+ export { IndexEvent, MarkdownEvent, PageEvent, type PageHeading, RendererEvent } from "./events.js";
2
+ export { Renderer, type RendererEvents } from "./renderer.js";
3
+ export type { RendererHooks } from "./renderer.js";
4
+ export { Theme } from "./theme.js";
5
+ export { DefaultTheme, type NavigationElement, type RenderTemplate } from "./themes/default/DefaultTheme.js";
6
+ export { DefaultThemeRenderContext } from "./themes/default/DefaultThemeRenderContext.js";
7
+ export type { Icons } from "./themes/default/partials/icon.js";
8
+ export { Slugger } from "./themes/default/Slugger.js";
9
+ export { BaseRouter, CategoryRouter, GroupRouter, KindDirRouter, KindRouter, type PageDefinition, PageKind, type Router, type RouterTarget, StructureDirRouter, StructureRouter, } from "./router.js";
@@ -0,0 +1,7 @@
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";