@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,387 @@
1
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
+ var _, done = false;
7
+ for (var i = decorators.length - 1; i >= 0; i--) {
8
+ var context = {};
9
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
+ if (kind === "accessor") {
14
+ if (result === void 0) continue;
15
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
+ if (_ = accept(result.get)) descriptor.get = _;
17
+ if (_ = accept(result.set)) descriptor.set = _;
18
+ if (_ = accept(result.init)) initializers.unshift(_);
19
+ }
20
+ else if (_ = accept(result)) {
21
+ if (kind === "field") initializers.unshift(_);
22
+ else descriptor[key] = _;
23
+ }
24
+ }
25
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
+ done = true;
27
+ };
28
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
+ var useValue = arguments.length > 2;
30
+ for (var i = 0; i < initializers.length; i++) {
31
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
+ }
33
+ return useValue ? value : void 0;
34
+ };
35
+ /**
36
+ * Holds all logic used render and output the final documentation.
37
+ *
38
+ * The {@link Renderer} class is the central controller within this namespace. When invoked it creates
39
+ * an instance of {@link Theme} which defines the layout of the documentation and fires a
40
+ * series of {@link RendererEvent} events. Instances of {@link BasePlugin} can listen to these events and
41
+ * alter the generated output.
42
+ */
43
+ import * as fs from "fs";
44
+ import * as path from "path";
45
+ import { IndexEvent, PageEvent, RendererEvent } from "./events.js";
46
+ import { writeFileSync } from "../utils/fs.js";
47
+ import { DefaultTheme } from "./themes/default/DefaultTheme.js";
48
+ import { AbstractComponent, Option } from "../utils/index.js";
49
+ import { EventHooks, i18n, JSX } from "#utils";
50
+ import { AssetsPlugin, HierarchyPlugin, IconsPlugin, JavascriptIndexPlugin, MarkedPlugin, NavigationPlugin, SitemapPlugin, } from "./plugins/index.js";
51
+ import { CategoryRouter, GroupRouter, KindDirRouter, KindRouter, StructureDirRouter, StructureRouter, } from "./router.js";
52
+ /**
53
+ * The renderer processes a {@link ProjectReflection} using a {@link Theme} instance and writes
54
+ * the emitted html documents to a output directory. You can specify which theme should be used
55
+ * using the `--theme <name>` command line argument.
56
+ *
57
+ * {@link Renderer} is a subclass of {@link EventDispatcher} and triggers a series of events while
58
+ * a project is being processed. You can listen to these events to control the flow or manipulate
59
+ * the output.
60
+ *
61
+ * * {@link Renderer.EVENT_BEGIN}<br>
62
+ * Triggered before the renderer starts rendering a project. The listener receives
63
+ * an instance of {@link RendererEvent}.
64
+ *
65
+ * * {@link Renderer.EVENT_BEGIN_PAGE}<br>
66
+ * Triggered before a document will be rendered. The listener receives an instance of
67
+ * {@link PageEvent}.
68
+ *
69
+ * * {@link Renderer.EVENT_END_PAGE}<br>
70
+ * Triggered after a document has been rendered, just before it is written to disc. The
71
+ * listener receives an instance of {@link PageEvent}.
72
+ *
73
+ * * {@link Renderer.EVENT_END}<br>
74
+ * Triggered after the renderer has written all documents. The listener receives
75
+ * an instance of {@link RendererEvent}.
76
+ *
77
+ * * {@link Renderer.EVENT_PREPARE_INDEX}<br>
78
+ * Triggered when the JavascriptIndexPlugin is preparing the search index. Listeners receive
79
+ * an instance of {@link IndexEvent}.
80
+ *
81
+ * @summary Writes HTML output from TypeDoc's models
82
+ * @group None
83
+ */
84
+ let Renderer = (() => {
85
+ let _classSuper = AbstractComponent;
86
+ let _themeName_decorators;
87
+ let _themeName_initializers = [];
88
+ let _themeName_extraInitializers = [];
89
+ let _routerName_decorators;
90
+ let _routerName_initializers = [];
91
+ let _routerName_extraInitializers = [];
92
+ let _cleanOutputDir_decorators;
93
+ let _cleanOutputDir_initializers = [];
94
+ let _cleanOutputDir_extraInitializers = [];
95
+ let _cname_decorators;
96
+ let _cname_initializers = [];
97
+ let _cname_extraInitializers = [];
98
+ let _githubPages_decorators;
99
+ let _githubPages_initializers = [];
100
+ let _githubPages_extraInitializers = [];
101
+ let _cacheBust_decorators;
102
+ let _cacheBust_initializers = [];
103
+ let _cacheBust_extraInitializers = [];
104
+ let _pretty_decorators;
105
+ let _pretty_initializers = [];
106
+ let _pretty_extraInitializers = [];
107
+ return class Renderer extends _classSuper {
108
+ static {
109
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
110
+ _themeName_decorators = [Option("theme")];
111
+ _routerName_decorators = [Option("router")];
112
+ _cleanOutputDir_decorators = [Option("cleanOutputDir")];
113
+ _cname_decorators = [Option("cname")];
114
+ _githubPages_decorators = [Option("githubPages")];
115
+ _cacheBust_decorators = [Option("cacheBust")];
116
+ _pretty_decorators = [Option("pretty")];
117
+ __esDecorate(this, null, _themeName_decorators, { kind: "accessor", name: "themeName", static: false, private: false, access: { has: obj => "themeName" in obj, get: obj => obj.themeName, set: (obj, value) => { obj.themeName = value; } }, metadata: _metadata }, _themeName_initializers, _themeName_extraInitializers);
118
+ __esDecorate(this, null, _routerName_decorators, { kind: "accessor", name: "routerName", static: false, private: false, access: { has: obj => "routerName" in obj, get: obj => obj.routerName, set: (obj, value) => { obj.routerName = value; } }, metadata: _metadata }, _routerName_initializers, _routerName_extraInitializers);
119
+ __esDecorate(this, null, _cleanOutputDir_decorators, { kind: "accessor", name: "cleanOutputDir", static: false, private: false, access: { has: obj => "cleanOutputDir" in obj, get: obj => obj.cleanOutputDir, set: (obj, value) => { obj.cleanOutputDir = value; } }, metadata: _metadata }, _cleanOutputDir_initializers, _cleanOutputDir_extraInitializers);
120
+ __esDecorate(this, null, _cname_decorators, { kind: "accessor", name: "cname", static: false, private: false, access: { has: obj => "cname" in obj, get: obj => obj.cname, set: (obj, value) => { obj.cname = value; } }, metadata: _metadata }, _cname_initializers, _cname_extraInitializers);
121
+ __esDecorate(this, null, _githubPages_decorators, { kind: "accessor", name: "githubPages", static: false, private: false, access: { has: obj => "githubPages" in obj, get: obj => obj.githubPages, set: (obj, value) => { obj.githubPages = value; } }, metadata: _metadata }, _githubPages_initializers, _githubPages_extraInitializers);
122
+ __esDecorate(this, null, _cacheBust_decorators, { kind: "accessor", name: "cacheBust", static: false, private: false, access: { has: obj => "cacheBust" in obj, get: obj => obj.cacheBust, set: (obj, value) => { obj.cacheBust = value; } }, metadata: _metadata }, _cacheBust_initializers, _cacheBust_extraInitializers);
123
+ __esDecorate(this, null, _pretty_decorators, { kind: "accessor", name: "pretty", static: false, private: false, access: { has: obj => "pretty" in obj, get: obj => obj.pretty, set: (obj, value) => { obj.pretty = value; } }, metadata: _metadata }, _pretty_initializers, _pretty_extraInitializers);
124
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
125
+ }
126
+ routers = new Map([
127
+ ["kind", KindRouter],
128
+ ["structure", StructureRouter],
129
+ ["kind-dir", KindDirRouter],
130
+ ["structure-dir", StructureDirRouter],
131
+ ["group", GroupRouter],
132
+ ["category", CategoryRouter],
133
+ ]);
134
+ themes = new Map([
135
+ ["default", DefaultTheme],
136
+ ]);
137
+ /** @event */
138
+ static EVENT_BEGIN_PAGE = PageEvent.BEGIN;
139
+ /** @event */
140
+ static EVENT_END_PAGE = PageEvent.END;
141
+ /** @event */
142
+ static EVENT_BEGIN = RendererEvent.BEGIN;
143
+ /** @event */
144
+ static EVENT_END = RendererEvent.END;
145
+ /** @event */
146
+ static EVENT_PREPARE_INDEX = IndexEvent.PREPARE_INDEX;
147
+ /**
148
+ * A list of async jobs which must be completed *before* rendering output.
149
+ * They will be called after {@link RendererEvent.BEGIN} has fired, but before any files have been written.
150
+ *
151
+ * This may be used by plugins to register work that must be done to prepare output files. For example: asynchronously
152
+ * transform markdown to HTML.
153
+ *
154
+ * Note: This array is cleared after calling the contained functions on each {@link Renderer.render} call.
155
+ */
156
+ preRenderAsyncJobs = [];
157
+ /**
158
+ * A list of async jobs which must be completed after rendering output files but before generation is considered successful.
159
+ * These functions will be called after all documents have been written to the filesystem.
160
+ *
161
+ * This may be used by plugins to register work that must be done to finalize output files. For example: asynchronously
162
+ * generating an image referenced in a render hook.
163
+ *
164
+ * Note: This array is cleared after calling the contained functions on each {@link Renderer.render} call.
165
+ */
166
+ postRenderAsyncJobs = [];
167
+ /**
168
+ * The theme that is used to render the documentation.
169
+ */
170
+ theme;
171
+ /**
172
+ * The router which is used to determine the pages to render and
173
+ * how to link between pages.
174
+ */
175
+ router;
176
+ /**
177
+ * Hooks which will be called when rendering pages.
178
+ * Note:
179
+ * - Hooks added during output will be discarded at the end of rendering.
180
+ * - Hooks added during a page render will be discarded at the end of that page's render.
181
+ *
182
+ * See {@link RendererHooks} for a description of each available hook, and when it will be called.
183
+ */
184
+ hooks = new EventHooks();
185
+ #themeName_accessor_storage = __runInitializers(this, _themeName_initializers, void 0);
186
+ /** @internal */
187
+ get themeName() { return this.#themeName_accessor_storage; }
188
+ set themeName(value) { this.#themeName_accessor_storage = value; }
189
+ #routerName_accessor_storage = (__runInitializers(this, _themeName_extraInitializers), __runInitializers(this, _routerName_initializers, void 0));
190
+ /** @internal */
191
+ get routerName() { return this.#routerName_accessor_storage; }
192
+ set routerName(value) { this.#routerName_accessor_storage = value; }
193
+ #cleanOutputDir_accessor_storage = (__runInitializers(this, _routerName_extraInitializers), __runInitializers(this, _cleanOutputDir_initializers, void 0));
194
+ get cleanOutputDir() { return this.#cleanOutputDir_accessor_storage; }
195
+ set cleanOutputDir(value) { this.#cleanOutputDir_accessor_storage = value; }
196
+ #cname_accessor_storage = (__runInitializers(this, _cleanOutputDir_extraInitializers), __runInitializers(this, _cname_initializers, void 0));
197
+ get cname() { return this.#cname_accessor_storage; }
198
+ set cname(value) { this.#cname_accessor_storage = value; }
199
+ #githubPages_accessor_storage = (__runInitializers(this, _cname_extraInitializers), __runInitializers(this, _githubPages_initializers, void 0));
200
+ get githubPages() { return this.#githubPages_accessor_storage; }
201
+ set githubPages(value) { this.#githubPages_accessor_storage = value; }
202
+ #cacheBust_accessor_storage = (__runInitializers(this, _githubPages_extraInitializers), __runInitializers(this, _cacheBust_initializers, void 0));
203
+ /** @internal */
204
+ get cacheBust() { return this.#cacheBust_accessor_storage; }
205
+ set cacheBust(value) { this.#cacheBust_accessor_storage = value; }
206
+ #pretty_accessor_storage = (__runInitializers(this, _cacheBust_extraInitializers), __runInitializers(this, _pretty_initializers, void 0));
207
+ get pretty() { return this.#pretty_accessor_storage; }
208
+ set pretty(value) { this.#pretty_accessor_storage = value; }
209
+ renderStartTime = (__runInitializers(this, _pretty_extraInitializers), -1);
210
+ markedPlugin;
211
+ constructor(owner) {
212
+ super(owner);
213
+ this.markedPlugin = new MarkedPlugin(this);
214
+ new AssetsPlugin(this);
215
+ new IconsPlugin(this);
216
+ new HierarchyPlugin(this);
217
+ new JavascriptIndexPlugin(this);
218
+ new NavigationPlugin(this);
219
+ new SitemapPlugin(this);
220
+ }
221
+ /**
222
+ * Define a new theme that can be used to render output.
223
+ * This API will likely be changing at some point, to allow more easily overriding parts of the theme without
224
+ * requiring additional boilerplate.
225
+ * @param name
226
+ * @param theme
227
+ */
228
+ defineTheme(name, theme) {
229
+ if (this.themes.has(name)) {
230
+ throw new Error(`The theme "${name}" has already been defined.`);
231
+ }
232
+ this.themes.set(name, theme);
233
+ }
234
+ /** @internal intended for test usage only */
235
+ removeTheme(name) {
236
+ this.themes.delete(name);
237
+ }
238
+ /**
239
+ * Define a new router that can be used to determine the output structure.
240
+ * @param name
241
+ * @param router
242
+ */
243
+ defineRouter(name, router) {
244
+ if (this.routers.has(name)) {
245
+ throw new Error(`The router "${name}" has already been defined.`);
246
+ }
247
+ this.routers.set(name, router);
248
+ }
249
+ /** @internal intended for test usage only */
250
+ removeRouter(name) {
251
+ this.routers.delete(name);
252
+ }
253
+ /**
254
+ * Render the given project reflection to the specified output directory.
255
+ *
256
+ * @param project The project that should be rendered.
257
+ * @param outputDirectory The path of the directory the documentation should be rendered to.
258
+ */
259
+ async render(project, outputDirectory) {
260
+ JSX.setRenderSettings({ pretty: this.pretty });
261
+ const momento = this.hooks.saveMomento();
262
+ this.renderStartTime = Date.now();
263
+ if (!this.prepareRouter() ||
264
+ !this.prepareTheme() ||
265
+ !(await this.prepareOutputDirectory(outputDirectory))) {
266
+ return;
267
+ }
268
+ const pages = this.router.buildPages(project);
269
+ const output = new RendererEvent(outputDirectory, project, pages);
270
+ this.trigger(RendererEvent.BEGIN, output);
271
+ await this.runPreRenderJobs(output);
272
+ this.application.logger.verbose(`There are ${pages.length} pages to write.`);
273
+ for (const page of pages) {
274
+ this.renderDocument(outputDirectory, page, project);
275
+ }
276
+ this.postRenderAsyncJobs.push(async (o) => await this.theme.postRender(o));
277
+ await Promise.all(this.postRenderAsyncJobs.map((job) => job(output)));
278
+ this.postRenderAsyncJobs = [];
279
+ this.trigger(RendererEvent.END, output);
280
+ this.theme = void 0;
281
+ this.router = void 0;
282
+ this.hooks.restoreMomento(momento);
283
+ }
284
+ async runPreRenderJobs(output) {
285
+ const start = Date.now();
286
+ this.preRenderAsyncJobs.push(async (o) => await this.theme.preRender(o));
287
+ await Promise.all(this.preRenderAsyncJobs.map((job) => job(output)));
288
+ this.preRenderAsyncJobs = [];
289
+ this.application.logger.verbose(`Pre render async jobs took ${Date.now() - start}ms`);
290
+ }
291
+ /**
292
+ * Render a single page.
293
+ *
294
+ * @param page An event describing the current page.
295
+ * @return TRUE if the page has been saved to disc, otherwise FALSE.
296
+ */
297
+ renderDocument(outputDirectory, page, project) {
298
+ const momento = this.hooks.saveMomento();
299
+ const event = new PageEvent(page.model);
300
+ event.url = page.url;
301
+ event.filename = path.join(outputDirectory, page.url);
302
+ event.pageKind = page.kind;
303
+ event.project = project;
304
+ this.trigger(PageEvent.BEGIN, event);
305
+ event.contents = this.theme.render(event);
306
+ this.trigger(PageEvent.END, event);
307
+ this.hooks.restoreMomento(momento);
308
+ try {
309
+ writeFileSync(event.filename, event.contents);
310
+ }
311
+ catch (error) {
312
+ this.application.logger.error(i18n.could_not_write_0(event.filename));
313
+ }
314
+ }
315
+ prepareRouter() {
316
+ if (!this.theme) {
317
+ const ctor = this.routers.get(this.routerName);
318
+ if (!ctor) {
319
+ this.application.logger.error(i18n.router_0_is_not_defined_available_are_1(this.routerName, [...this.routers.keys()].join(", ")));
320
+ return false;
321
+ }
322
+ else {
323
+ this.router = new ctor(this.application);
324
+ }
325
+ }
326
+ return true;
327
+ }
328
+ prepareTheme() {
329
+ if (!this.theme) {
330
+ const ctor = this.themes.get(this.themeName);
331
+ if (!ctor) {
332
+ this.application.logger.error(i18n.theme_0_is_not_defined_available_are_1(this.themeName, [...this.themes.keys()].join(", ")));
333
+ return false;
334
+ }
335
+ else {
336
+ this.theme = new ctor(this);
337
+ }
338
+ }
339
+ return true;
340
+ }
341
+ /**
342
+ * Prepare the output directory. If the directory does not exist, it will be
343
+ * created. If the directory exists, it will be emptied.
344
+ *
345
+ * @param directory The path to the directory that should be prepared.
346
+ * @returns TRUE if the directory could be prepared, otherwise FALSE.
347
+ */
348
+ async prepareOutputDirectory(directory) {
349
+ if (this.cleanOutputDir) {
350
+ try {
351
+ await fs.promises.rm(directory, {
352
+ recursive: true,
353
+ force: true,
354
+ });
355
+ }
356
+ catch (error) {
357
+ this.application.logger.warn(i18n.could_not_empty_output_directory_0(directory));
358
+ return false;
359
+ }
360
+ }
361
+ try {
362
+ fs.mkdirSync(directory, { recursive: true });
363
+ }
364
+ catch (error) {
365
+ this.application.logger.error(i18n.could_not_create_output_directory_0(directory));
366
+ return false;
367
+ }
368
+ if (this.githubPages) {
369
+ try {
370
+ const text = "TypeDoc added this file to prevent GitHub Pages from " +
371
+ "using Jekyll. You can turn off this behavior by setting " +
372
+ "the `githubPages` option to false.";
373
+ fs.writeFileSync(path.join(directory, ".nojekyll"), text);
374
+ }
375
+ catch (error) {
376
+ this.application.logger.warn(i18n.could_not_write_0(path.join(directory, ".nojekyll")));
377
+ return false;
378
+ }
379
+ }
380
+ if (this.cname) {
381
+ fs.writeFileSync(path.join(directory, "CNAME"), this.cname);
382
+ }
383
+ return true;
384
+ }
385
+ };
386
+ })();
387
+ export { Renderer };
@@ -0,0 +1,187 @@
1
+ import type { Application } from "../application.js";
2
+ import { ProjectReflection, Reflection, ReflectionKind } from "../models/index.js";
3
+ import { type TypeDocOptionMap } from "../utils/index.js";
4
+ import { Slugger } from "./themes/default/Slugger.js";
5
+ /**
6
+ * The type of page which should be rendered. This may be extended in the future.
7
+ *
8
+ * Note: TypeDoc any string may be used as the page kind. TypeDoc defines a few
9
+ * described by this object.
10
+ * @enum
11
+ */
12
+ export declare const PageKind: {
13
+ readonly Index: "index";
14
+ readonly Reflection: "reflection";
15
+ readonly Document: "document";
16
+ readonly Hierarchy: "hierarchy";
17
+ };
18
+ export type PageKind = (typeof PageKind)[keyof typeof PageKind] | string & {};
19
+ /**
20
+ * A router target is something that may be linked to within a page. Notably,
21
+ * {@link Reflection} is compatible with this interface. TypeDoc supports non-reflection
22
+ * router targets, but does not currently create any.
23
+ */
24
+ export type RouterTarget = {
25
+ name: string;
26
+ parent: RouterTarget;
27
+ } | Reflection;
28
+ export interface PageDefinition<out Model extends RouterTarget = RouterTarget> {
29
+ readonly url: string;
30
+ readonly kind: PageKind;
31
+ readonly model: Model;
32
+ }
33
+ /**
34
+ * Interface which routers must conform to.
35
+ */
36
+ export interface Router {
37
+ /**
38
+ * Should return a list of pages which should be rendered.
39
+ * This will be called once per render.
40
+ */
41
+ buildPages(project: ProjectReflection): PageDefinition[];
42
+ /**
43
+ * Can be used to check if the target can be linked to.
44
+ */
45
+ hasUrl(target: RouterTarget): boolean;
46
+ /**
47
+ * Get a list of all targets which can be linked to.
48
+ * This is used for creating the search index.
49
+ */
50
+ getLinkTargets(): RouterTarget[];
51
+ /**
52
+ * Gets an anchor for this target within its containing page.
53
+ * May be undefined if this target owns its own page.
54
+ */
55
+ getAnchor(refl: RouterTarget): string | undefined;
56
+ /**
57
+ * Returns true if the target has its own page, false if embedded within
58
+ * another page.
59
+ */
60
+ hasOwnDocument(refl: RouterTarget): boolean;
61
+ /**
62
+ * Should return a URL which when clicked on the page containing `from`
63
+ * takes the user to the page/anchor containing `to`.
64
+ */
65
+ relativeUrl(from: RouterTarget, to: RouterTarget): string;
66
+ /**
67
+ * Should return a URL relative to the project base. This is used for
68
+ * determining links to items in the assets folder.
69
+ */
70
+ baseRelativeUrl(from: RouterTarget, target: string): string;
71
+ /**
72
+ * Get the full URL to the target. In TypeDoc's default router this
73
+ * is equivalent to `relativeUrl(project, refl)`, but this might not be
74
+ * the case for custom routers which place the project somewhere else
75
+ * besides `index.html`.
76
+ *
77
+ * The URL returned by this by the frontend JS when building dynamic URLs
78
+ * for the search, full hierarchy, and navigation components.
79
+ */
80
+ getFullUrl(refl: RouterTarget): string;
81
+ /**
82
+ * Responsible for getting a slugger for the given target. If a
83
+ * target is not associated with a page, the slugger for the parent
84
+ * target should be returned instead.
85
+ */
86
+ getSlugger(reflection: RouterTarget): Slugger;
87
+ }
88
+ /**
89
+ * Base router class intended to make it easier to implement a router.
90
+ *
91
+ * Child classes need only {@link getIdealBaseName}, this class will take care
92
+ * of the recursing through child reflections.
93
+ * @group Routers
94
+ */
95
+ export declare abstract class BaseRouter implements Router {
96
+ readonly application: Application;
97
+ extension: string;
98
+ protected usedFileNames: Set<string>;
99
+ protected sluggers: Map<RouterTarget, Slugger>;
100
+ protected fullUrls: Map<RouterTarget, string>;
101
+ protected anchors: Map<RouterTarget, string>;
102
+ protected accessor sluggerConfiguration: TypeDocOptionMap["sluggerConfiguration"];
103
+ protected accessor includeHierarchySummary: boolean;
104
+ constructor(application: Application);
105
+ /**
106
+ * Should return the base-relative desired file name for a router target.
107
+ * This name may not be used exactly as TypeDoc will detect conflicts
108
+ * and automatically introduce a unique identifier to the URL to resolve
109
+ * them.
110
+ */
111
+ protected abstract getIdealBaseName(reflection: RouterTarget): string;
112
+ buildPages(project: ProjectReflection): PageDefinition[];
113
+ hasUrl(target: RouterTarget): boolean;
114
+ getLinkTargets(): RouterTarget[];
115
+ getAnchor(target: RouterTarget): string | undefined;
116
+ hasOwnDocument(target: RouterTarget): boolean;
117
+ relativeUrl(from: RouterTarget, to: RouterTarget): string;
118
+ baseRelativeUrl(from: RouterTarget, target: string): string;
119
+ getFullUrl(target: RouterTarget): string;
120
+ getSlugger(target: RouterTarget): Slugger;
121
+ /**
122
+ * Should the page kind to use if a reflection should have its own rendered
123
+ * page in the output. Note that once `undefined` is returned, children of
124
+ * that reflection will not have their own document.
125
+ */
126
+ protected getPageKind(target: RouterTarget): PageKind | undefined;
127
+ protected buildChildPages(target: RouterTarget, outPages: PageDefinition[]): void;
128
+ protected buildAnchors(target: RouterTarget, pageTarget: RouterTarget): void;
129
+ /** Strip non-url safe characters from the specified string. */
130
+ protected getUrlSafeName(name: string): string;
131
+ protected getFileName(baseName: string): string;
132
+ }
133
+ /**
134
+ * Router which places reflections in folders according to their kind.
135
+ * @group Routers
136
+ */
137
+ export declare class KindRouter extends BaseRouter {
138
+ directories: Map<ReflectionKind, string>;
139
+ protected getIdealBaseName(reflection: Reflection): string;
140
+ }
141
+ /**
142
+ * Router which places reflections in folders according to their kind,
143
+ * but creates each page as `/index.html` to allow for clean URLs.
144
+ * @group Routers
145
+ */
146
+ export declare class KindDirRouter extends KindRouter {
147
+ private fixLink;
148
+ protected buildChildPages(reflection: Reflection, outPages: PageDefinition[]): void;
149
+ getFullUrl(refl: Reflection): string;
150
+ relativeUrl(from: Reflection, to: Reflection): string;
151
+ }
152
+ /**
153
+ * Router which places reflections in folders according to the module structure.
154
+ * @group Routers
155
+ */
156
+ export declare class StructureRouter extends BaseRouter {
157
+ protected getIdealBaseName(reflection: Reflection): string;
158
+ }
159
+ /**
160
+ * Router which places reflections in folders according to the module structure,
161
+ * but creates each page as `/index.html` to allow for clean URLs.
162
+ * @group Routers
163
+ */
164
+ export declare class StructureDirRouter extends StructureRouter {
165
+ private fixLink;
166
+ protected buildChildPages(reflection: Reflection, outPages: PageDefinition[]): void;
167
+ getFullUrl(refl: Reflection): string;
168
+ relativeUrl(from: Reflection, to: Reflection): string;
169
+ }
170
+ /**
171
+ * Router which places reflections in folders according to `@group` tags.
172
+ * @group Routers
173
+ */
174
+ export declare class GroupRouter extends BaseRouter {
175
+ private accessor groupReferencesByType;
176
+ private getGroup;
177
+ protected getIdealBaseName(reflection: Reflection): string;
178
+ }
179
+ /**
180
+ * Router which places reflections in folders according to `@category` tags.
181
+ * @group Routers
182
+ */
183
+ export declare class CategoryRouter extends BaseRouter {
184
+ private accessor defaultCategory;
185
+ private getCategory;
186
+ protected getIdealBaseName(reflection: Reflection): string;
187
+ }