@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,222 @@
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
+ import * as Path from "path";
36
+ import lunr from "lunr";
37
+ import { Reflection } from "../../models/index.js";
38
+ import { RendererComponent } from "../components.js";
39
+ import { IndexEvent, RendererEvent } from "../events.js";
40
+ import { Option, writeFile } from "../../utils/index.js";
41
+ import { DefaultTheme } from "../themes/default/DefaultTheme.js";
42
+ import { GroupPlugin } from "../../converter/plugins/GroupPlugin.js";
43
+ import { CategoryPlugin } from "../../converter/plugins/CategoryPlugin.js";
44
+ import { compressJson } from "../../utils/compress.js";
45
+ import { i18n } from "#utils";
46
+ /**
47
+ * A plugin that exports an index of the project to a javascript file.
48
+ *
49
+ * The resulting javascript file can be used to build a simple search function.
50
+ */
51
+ let JavascriptIndexPlugin = (() => {
52
+ let _classSuper = RendererComponent;
53
+ let _searchComments_decorators;
54
+ let _searchComments_initializers = [];
55
+ let _searchComments_extraInitializers = [];
56
+ let _searchDocuments_decorators;
57
+ let _searchDocuments_initializers = [];
58
+ let _searchDocuments_extraInitializers = [];
59
+ let _searchGroupBoosts_decorators;
60
+ let _searchGroupBoosts_initializers = [];
61
+ let _searchGroupBoosts_extraInitializers = [];
62
+ let _searchCategoryBoosts_decorators;
63
+ let _searchCategoryBoosts_initializers = [];
64
+ let _searchCategoryBoosts_extraInitializers = [];
65
+ let _groupReferencesByType_decorators;
66
+ let _groupReferencesByType_initializers = [];
67
+ let _groupReferencesByType_extraInitializers = [];
68
+ return class JavascriptIndexPlugin extends _classSuper {
69
+ static {
70
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
71
+ _searchComments_decorators = [Option("searchInComments")];
72
+ _searchDocuments_decorators = [Option("searchInDocuments")];
73
+ _searchGroupBoosts_decorators = [Option("searchGroupBoosts")];
74
+ _searchCategoryBoosts_decorators = [Option("searchCategoryBoosts")];
75
+ _groupReferencesByType_decorators = [Option("groupReferencesByType")];
76
+ __esDecorate(this, null, _searchComments_decorators, { kind: "accessor", name: "searchComments", static: false, private: false, access: { has: obj => "searchComments" in obj, get: obj => obj.searchComments, set: (obj, value) => { obj.searchComments = value; } }, metadata: _metadata }, _searchComments_initializers, _searchComments_extraInitializers);
77
+ __esDecorate(this, null, _searchDocuments_decorators, { kind: "accessor", name: "searchDocuments", static: false, private: false, access: { has: obj => "searchDocuments" in obj, get: obj => obj.searchDocuments, set: (obj, value) => { obj.searchDocuments = value; } }, metadata: _metadata }, _searchDocuments_initializers, _searchDocuments_extraInitializers);
78
+ __esDecorate(this, null, _searchGroupBoosts_decorators, { kind: "accessor", name: "searchGroupBoosts", static: false, private: false, access: { has: obj => "searchGroupBoosts" in obj, get: obj => obj.searchGroupBoosts, set: (obj, value) => { obj.searchGroupBoosts = value; } }, metadata: _metadata }, _searchGroupBoosts_initializers, _searchGroupBoosts_extraInitializers);
79
+ __esDecorate(this, null, _searchCategoryBoosts_decorators, { kind: "accessor", name: "searchCategoryBoosts", static: false, private: false, access: { has: obj => "searchCategoryBoosts" in obj, get: obj => obj.searchCategoryBoosts, set: (obj, value) => { obj.searchCategoryBoosts = value; } }, metadata: _metadata }, _searchCategoryBoosts_initializers, _searchCategoryBoosts_extraInitializers);
80
+ __esDecorate(this, null, _groupReferencesByType_decorators, { kind: "accessor", name: "groupReferencesByType", static: false, private: false, access: { has: obj => "groupReferencesByType" in obj, get: obj => obj.groupReferencesByType, set: (obj, value) => { obj.groupReferencesByType = value; } }, metadata: _metadata }, _groupReferencesByType_initializers, _groupReferencesByType_extraInitializers);
81
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
82
+ }
83
+ #searchComments_accessor_storage = __runInitializers(this, _searchComments_initializers, void 0);
84
+ get searchComments() { return this.#searchComments_accessor_storage; }
85
+ set searchComments(value) { this.#searchComments_accessor_storage = value; }
86
+ #searchDocuments_accessor_storage = (__runInitializers(this, _searchComments_extraInitializers), __runInitializers(this, _searchDocuments_initializers, void 0));
87
+ get searchDocuments() { return this.#searchDocuments_accessor_storage; }
88
+ set searchDocuments(value) { this.#searchDocuments_accessor_storage = value; }
89
+ #searchGroupBoosts_accessor_storage = (__runInitializers(this, _searchDocuments_extraInitializers), __runInitializers(this, _searchGroupBoosts_initializers, void 0));
90
+ get searchGroupBoosts() { return this.#searchGroupBoosts_accessor_storage; }
91
+ set searchGroupBoosts(value) { this.#searchGroupBoosts_accessor_storage = value; }
92
+ #searchCategoryBoosts_accessor_storage = (__runInitializers(this, _searchGroupBoosts_extraInitializers), __runInitializers(this, _searchCategoryBoosts_initializers, void 0));
93
+ get searchCategoryBoosts() { return this.#searchCategoryBoosts_accessor_storage; }
94
+ set searchCategoryBoosts(value) { this.#searchCategoryBoosts_accessor_storage = value; }
95
+ #groupReferencesByType_accessor_storage = (__runInitializers(this, _searchCategoryBoosts_extraInitializers), __runInitializers(this, _groupReferencesByType_initializers, void 0));
96
+ get groupReferencesByType() { return this.#groupReferencesByType_accessor_storage; }
97
+ set groupReferencesByType(value) { this.#groupReferencesByType_accessor_storage = value; }
98
+ unusedGroupBoosts = (__runInitializers(this, _groupReferencesByType_extraInitializers), new Set());
99
+ unusedCatBoosts = new Set();
100
+ constructor(owner) {
101
+ super(owner);
102
+ this.owner.on(RendererEvent.BEGIN, this.onRendererBegin.bind(this));
103
+ }
104
+ onRendererBegin(_event) {
105
+ this.unusedGroupBoosts = new Set(Object.keys(this.searchGroupBoosts));
106
+ this.unusedCatBoosts = new Set(Object.keys(this.searchCategoryBoosts));
107
+ if (!(this.owner.theme instanceof DefaultTheme)) {
108
+ return;
109
+ }
110
+ this.owner.preRenderAsyncJobs.push((event) => this.buildSearchIndex(event));
111
+ }
112
+ async buildSearchIndex(event) {
113
+ const theme = this.owner.theme;
114
+ const rows = [];
115
+ const initialSearchResults = this.owner
116
+ .router.getLinkTargets()
117
+ .filter((refl) => refl instanceof Reflection &&
118
+ (refl.isDeclaration() || refl.isDocument()) &&
119
+ refl.name &&
120
+ !refl.flags.isExternal);
121
+ const indexEvent = new IndexEvent(initialSearchResults);
122
+ this.owner.trigger(IndexEvent.PREPARE_INDEX, indexEvent);
123
+ const builder = new lunr.Builder();
124
+ builder.pipeline.add(lunr.trimmer);
125
+ builder.ref("id");
126
+ for (const [key, boost] of Object.entries(indexEvent.searchFieldWeights)) {
127
+ builder.field(key, { boost });
128
+ }
129
+ for (const reflection of indexEvent.searchResults) {
130
+ const boost = this.getBoost(reflection);
131
+ if (boost <= 0) {
132
+ continue;
133
+ }
134
+ let parent = reflection.parent;
135
+ if (parent?.isProject()) {
136
+ parent = undefined;
137
+ }
138
+ const row = {
139
+ kind: reflection.kind,
140
+ name: reflection.name,
141
+ url: theme.router.getFullUrl(reflection),
142
+ classes: theme.getReflectionClasses(reflection),
143
+ };
144
+ const icon = theme.getReflectionIcon(reflection);
145
+ if (icon !== reflection.kind) {
146
+ row.icon = icon;
147
+ }
148
+ if (parent) {
149
+ row.parent = parent.getFullName();
150
+ }
151
+ builder.add({
152
+ name: reflection.name,
153
+ comment: this.getCommentSearchText(reflection),
154
+ document: this.getDocumentSearchText(reflection),
155
+ ...indexEvent.searchFields[rows.length],
156
+ id: rows.length,
157
+ }, { boost });
158
+ rows.push(row);
159
+ }
160
+ const index = builder.build();
161
+ const jsonFileName = Path.join(event.outputDirectory, "assets", "search.js");
162
+ const data = {
163
+ rows,
164
+ index,
165
+ };
166
+ await writeFile(jsonFileName, `window.searchData = "${await compressJson(data)}";`);
167
+ if (this.unusedGroupBoosts.size &&
168
+ this.application.options.isSet("searchGroupBoosts")) {
169
+ this.application.logger.warn(i18n.not_all_search_group_boosts_used_0(Array.from(this.unusedGroupBoosts).join("\n\t")));
170
+ }
171
+ if (this.unusedCatBoosts.size &&
172
+ this.application.options.isSet("searchCategoryBoosts")) {
173
+ this.application.logger.warn(i18n.not_all_search_category_boosts_used_0(Array.from(this.unusedCatBoosts).join("\n\t")));
174
+ }
175
+ }
176
+ getBoost(refl) {
177
+ let boost = refl.relevanceBoost ?? 1;
178
+ for (const group of GroupPlugin.getGroups(refl, this.groupReferencesByType)) {
179
+ boost *= this.searchGroupBoosts[group] ?? 1;
180
+ this.unusedGroupBoosts.delete(group);
181
+ }
182
+ for (const cat of CategoryPlugin.getCategories(refl)) {
183
+ boost *= this.searchCategoryBoosts[cat] ?? 1;
184
+ this.unusedCatBoosts.delete(cat);
185
+ }
186
+ return boost;
187
+ }
188
+ getCommentSearchText(reflection) {
189
+ if (!this.searchComments)
190
+ return;
191
+ const comments = [];
192
+ if (reflection.comment)
193
+ comments.push(reflection.comment);
194
+ if (reflection.isDeclaration()) {
195
+ reflection.signatures?.forEach((s) => s.comment && comments.push(s.comment));
196
+ if (reflection.getSignature?.comment) {
197
+ comments.push(reflection.getSignature.comment);
198
+ }
199
+ if (reflection.setSignature?.comment) {
200
+ comments.push(reflection.setSignature.comment);
201
+ }
202
+ }
203
+ if (!comments.length) {
204
+ return;
205
+ }
206
+ return comments
207
+ .flatMap((c) => {
208
+ return [...c.summary, ...c.blockTags.flatMap((t) => t.content)];
209
+ })
210
+ .map((part) => part.text)
211
+ .join("\n");
212
+ }
213
+ getDocumentSearchText(reflection) {
214
+ if (!this.searchDocuments)
215
+ return;
216
+ if (reflection.isDocument()) {
217
+ return reflection.content.flatMap((c) => c.text).join("\n");
218
+ }
219
+ }
220
+ };
221
+ })();
222
+ export { JavascriptIndexPlugin };
@@ -0,0 +1,7 @@
1
+ import { RendererComponent } from "../components.js";
2
+ import type { Renderer } from "../index.js";
3
+ export declare class NavigationPlugin extends RendererComponent {
4
+ constructor(owner: Renderer);
5
+ private onRendererBegin;
6
+ private buildNavigationIndex;
7
+ }
@@ -0,0 +1,23 @@
1
+ import * as Path from "path";
2
+ import { RendererComponent } from "../components.js";
3
+ import { RendererEvent } from "../events.js";
4
+ import { writeFile } from "../../utils/index.js";
5
+ import { DefaultTheme } from "../themes/default/DefaultTheme.js";
6
+ import { compressJson } from "../../utils/compress.js";
7
+ export class NavigationPlugin extends RendererComponent {
8
+ constructor(owner) {
9
+ super(owner);
10
+ this.owner.on(RendererEvent.BEGIN, this.onRendererBegin.bind(this));
11
+ }
12
+ onRendererBegin(_event) {
13
+ if (!(this.owner.theme instanceof DefaultTheme)) {
14
+ return;
15
+ }
16
+ this.owner.preRenderAsyncJobs.push((event) => this.buildNavigationIndex(event));
17
+ }
18
+ async buildNavigationIndex(event) {
19
+ const navigationJs = Path.join(event.outputDirectory, "assets", "navigation.js");
20
+ const nav = this.owner.theme.getNavigation(event.project);
21
+ await writeFile(navigationJs, `window.navigationData = "${await compressJson(nav)}"`);
22
+ }
23
+ }
@@ -0,0 +1,8 @@
1
+ import { RendererComponent } from "../components.js";
2
+ import type { Renderer } from "../index.js";
3
+ export declare class SitemapPlugin extends RendererComponent {
4
+ private get hostedBaseUrl();
5
+ constructor(owner: Renderer);
6
+ private onRendererBegin;
7
+ private buildSitemap;
8
+ }
@@ -0,0 +1,82 @@
1
+ import Path from "path";
2
+ import { RendererComponent } from "../components.js";
3
+ import { RendererEvent } from "../events.js";
4
+ import { DefaultTheme } from "../themes/default/DefaultTheme.js";
5
+ import { writeFile } from "#node-utils";
6
+ import { escapeHtml, JSX } from "#utils";
7
+ export class SitemapPlugin extends RendererComponent {
8
+ get hostedBaseUrl() {
9
+ const url = this.application.options.getValue("hostedBaseUrl");
10
+ return !url || url.endsWith("/") ? url : url + "/";
11
+ }
12
+ constructor(owner) {
13
+ super(owner);
14
+ this.owner.on(RendererEvent.BEGIN, this.onRendererBegin.bind(this));
15
+ }
16
+ onRendererBegin(_event) {
17
+ if (!(this.owner.theme instanceof DefaultTheme)) {
18
+ return;
19
+ }
20
+ if (!this.hostedBaseUrl) {
21
+ return;
22
+ }
23
+ this.owner.hooks.on("head.begin", (context) => {
24
+ if (context.page.url === "index.html") {
25
+ return {
26
+ tag: "link",
27
+ props: { rel: "canonical", href: this.hostedBaseUrl },
28
+ children: [],
29
+ };
30
+ }
31
+ return { tag: JSX.Fragment, props: null, children: [] };
32
+ });
33
+ this.owner.preRenderAsyncJobs.push((event) => this.buildSitemap(event));
34
+ }
35
+ async buildSitemap(event) {
36
+ // cSpell:words lastmod urlset
37
+ const sitemapXml = Path.join(event.outputDirectory, "sitemap.xml");
38
+ const lastmod = new Date(this.owner.renderStartTime).toISOString();
39
+ const urls = event.pages.map((page) => {
40
+ return {
41
+ tag: "url",
42
+ children: [
43
+ {
44
+ tag: "loc",
45
+ children: new URL(page.url, this.hostedBaseUrl).toString(),
46
+ },
47
+ {
48
+ tag: "lastmod",
49
+ children: lastmod,
50
+ },
51
+ ],
52
+ };
53
+ });
54
+ const sitemap = `<?xml version="1.0" encoding="UTF-8"?>\n` +
55
+ stringifyXml({
56
+ tag: "urlset",
57
+ attr: { xmlns: "http://www.sitemaps.org/schemas/sitemap/0.9" },
58
+ children: urls,
59
+ }) +
60
+ "\n";
61
+ await writeFile(sitemapXml, sitemap);
62
+ }
63
+ }
64
+ function stringifyXml(xml, indent = 0) {
65
+ const parts = ["\t".repeat(indent), "<", xml.tag];
66
+ for (const [key, val] of Object.entries(xml.attr || {})) {
67
+ parts.push(" ", key, '="', escapeHtml(val), '"');
68
+ }
69
+ parts.push(">");
70
+ if (typeof xml.children === "string") {
71
+ parts.push(escapeHtml(xml.children));
72
+ }
73
+ else {
74
+ for (const child of xml.children) {
75
+ parts.push("\n");
76
+ parts.push(stringifyXml(child, indent + 1));
77
+ }
78
+ parts.push("\n", "\t".repeat(indent));
79
+ }
80
+ parts.push("</", xml.tag, ">");
81
+ return parts.join("");
82
+ }
@@ -0,0 +1,7 @@
1
+ export { MarkedPlugin } from "../themes/MarkedPlugin.js";
2
+ export { AssetsPlugin } from "./AssetsPlugin.js";
3
+ export { HierarchyPlugin } from "./HierarchyPlugin.js";
4
+ export { IconsPlugin } from "./IconsPlugin.js";
5
+ export { JavascriptIndexPlugin } from "./JavascriptIndexPlugin.js";
6
+ export { NavigationPlugin } from "./NavigationPlugin.js";
7
+ export { SitemapPlugin } from "./SitemapPlugin.js";
@@ -0,0 +1,7 @@
1
+ export { MarkedPlugin } from "../themes/MarkedPlugin.js";
2
+ export { AssetsPlugin } from "./AssetsPlugin.js";
3
+ export { HierarchyPlugin } from "./HierarchyPlugin.js";
4
+ export { IconsPlugin } from "./IconsPlugin.js";
5
+ export { JavascriptIndexPlugin } from "./JavascriptIndexPlugin.js";
6
+ export { NavigationPlugin } from "./NavigationPlugin.js";
7
+ export { SitemapPlugin } from "./SitemapPlugin.js";
@@ -0,0 +1,227 @@
1
+ import type { Application } from "../application.js";
2
+ import type { Theme } from "./theme.js";
3
+ import { IndexEvent, type MarkdownEvent, PageEvent, RendererEvent } from "./events.js";
4
+ import type { ProjectReflection } from "../models/ProjectReflection.js";
5
+ import { AbstractComponent } from "../utils/index.js";
6
+ import type { Comment, Reflection } from "../models/index.js";
7
+ import type { DefaultThemeRenderContext } from "./themes/default/DefaultThemeRenderContext.js";
8
+ import { EventHooks, JSX } from "#utils";
9
+ import { MarkedPlugin } from "./plugins/index.js";
10
+ import { type Router } from "./router.js";
11
+ /**
12
+ * Describes the hooks available to inject output in the default theme.
13
+ * If the available hooks don't let you put something where you'd like, please open an issue!
14
+ */
15
+ export interface RendererHooks {
16
+ /**
17
+ * Applied immediately after the opening `<head>` tag.
18
+ */
19
+ "head.begin": [DefaultThemeRenderContext];
20
+ /**
21
+ * Applied immediately before the closing `</head>` tag.
22
+ */
23
+ "head.end": [DefaultThemeRenderContext];
24
+ /**
25
+ * Applied immediately after the opening `<body>` tag.
26
+ */
27
+ "body.begin": [DefaultThemeRenderContext];
28
+ /**
29
+ * Applied immediately before the closing `</body>` tag.
30
+ */
31
+ "body.end": [DefaultThemeRenderContext];
32
+ /**
33
+ * Applied immediately before the main template.
34
+ */
35
+ "content.begin": [DefaultThemeRenderContext];
36
+ /**
37
+ * Applied immediately after the main template.
38
+ */
39
+ "content.end": [DefaultThemeRenderContext];
40
+ /**
41
+ * Applied immediately before calling `context.sidebar`.
42
+ */
43
+ "sidebar.begin": [DefaultThemeRenderContext];
44
+ /**
45
+ * Applied immediately after calling `context.sidebar`.
46
+ */
47
+ "sidebar.end": [DefaultThemeRenderContext];
48
+ /**
49
+ * Applied immediately before calling `context.pageSidebar`.
50
+ */
51
+ "pageSidebar.begin": [DefaultThemeRenderContext];
52
+ /**
53
+ * Applied immediately after calling `context.pageSidebar`.
54
+ */
55
+ "pageSidebar.end": [DefaultThemeRenderContext];
56
+ /**
57
+ * Applied immediately before the "Generated by TypeDoc" link in the footer.
58
+ */
59
+ "footer.begin": [DefaultThemeRenderContext];
60
+ /**
61
+ * Applied immediately after the "Generated by TypeDoc" link in the footer.
62
+ */
63
+ "footer.end": [DefaultThemeRenderContext];
64
+ /**
65
+ * Applied immediately before a comment's tags are rendered.
66
+ *
67
+ * This may be used to set {@link Models.CommentTag.skipRendering} on any tags which
68
+ * should not be rendered.
69
+ */
70
+ "comment.beforeTags": [DefaultThemeRenderContext, Comment, Reflection];
71
+ /**
72
+ * Applied immediately after a comment's tags are rendered.
73
+ *
74
+ * This may be used to set {@link Models.CommentTag.skipRendering} on any tags which
75
+ * should not be rendered as this hook is called before the tags are actually
76
+ * rendered.
77
+ */
78
+ "comment.afterTags": [DefaultThemeRenderContext, Comment, Reflection];
79
+ }
80
+ export interface RendererEvents {
81
+ beginRender: [RendererEvent];
82
+ beginPage: [PageEvent];
83
+ endPage: [PageEvent];
84
+ endRender: [RendererEvent];
85
+ parseMarkdown: [MarkdownEvent];
86
+ prepareIndex: [IndexEvent];
87
+ }
88
+ /**
89
+ * The renderer processes a {@link ProjectReflection} using a {@link Theme} instance and writes
90
+ * the emitted html documents to a output directory. You can specify which theme should be used
91
+ * using the `--theme <name>` command line argument.
92
+ *
93
+ * {@link Renderer} is a subclass of {@link EventDispatcher} and triggers a series of events while
94
+ * a project is being processed. You can listen to these events to control the flow or manipulate
95
+ * the output.
96
+ *
97
+ * * {@link Renderer.EVENT_BEGIN}<br>
98
+ * Triggered before the renderer starts rendering a project. The listener receives
99
+ * an instance of {@link RendererEvent}.
100
+ *
101
+ * * {@link Renderer.EVENT_BEGIN_PAGE}<br>
102
+ * Triggered before a document will be rendered. The listener receives an instance of
103
+ * {@link PageEvent}.
104
+ *
105
+ * * {@link Renderer.EVENT_END_PAGE}<br>
106
+ * Triggered after a document has been rendered, just before it is written to disc. The
107
+ * listener receives an instance of {@link PageEvent}.
108
+ *
109
+ * * {@link Renderer.EVENT_END}<br>
110
+ * Triggered after the renderer has written all documents. The listener receives
111
+ * an instance of {@link RendererEvent}.
112
+ *
113
+ * * {@link Renderer.EVENT_PREPARE_INDEX}<br>
114
+ * Triggered when the JavascriptIndexPlugin is preparing the search index. Listeners receive
115
+ * an instance of {@link IndexEvent}.
116
+ *
117
+ * @summary Writes HTML output from TypeDoc's models
118
+ * @group None
119
+ */
120
+ export declare class Renderer extends AbstractComponent<Application, RendererEvents> {
121
+ private routers;
122
+ private themes;
123
+ /** @event */
124
+ static readonly EVENT_BEGIN_PAGE = "beginPage";
125
+ /** @event */
126
+ static readonly EVENT_END_PAGE = "endPage";
127
+ /** @event */
128
+ static readonly EVENT_BEGIN = "beginRender";
129
+ /** @event */
130
+ static readonly EVENT_END = "endRender";
131
+ /** @event */
132
+ static readonly EVENT_PREPARE_INDEX = "prepareIndex";
133
+ /**
134
+ * A list of async jobs which must be completed *before* rendering output.
135
+ * They will be called after {@link RendererEvent.BEGIN} has fired, but before any files have been written.
136
+ *
137
+ * This may be used by plugins to register work that must be done to prepare output files. For example: asynchronously
138
+ * transform markdown to HTML.
139
+ *
140
+ * Note: This array is cleared after calling the contained functions on each {@link Renderer.render} call.
141
+ */
142
+ preRenderAsyncJobs: Array<(output: RendererEvent) => Promise<void>>;
143
+ /**
144
+ * A list of async jobs which must be completed after rendering output files but before generation is considered successful.
145
+ * These functions will be called after all documents have been written to the filesystem.
146
+ *
147
+ * This may be used by plugins to register work that must be done to finalize output files. For example: asynchronously
148
+ * generating an image referenced in a render hook.
149
+ *
150
+ * Note: This array is cleared after calling the contained functions on each {@link Renderer.render} call.
151
+ */
152
+ postRenderAsyncJobs: Array<(output: RendererEvent) => Promise<void>>;
153
+ /**
154
+ * The theme that is used to render the documentation.
155
+ */
156
+ theme?: Theme;
157
+ /**
158
+ * The router which is used to determine the pages to render and
159
+ * how to link between pages.
160
+ */
161
+ router?: Router;
162
+ /**
163
+ * Hooks which will be called when rendering pages.
164
+ * Note:
165
+ * - Hooks added during output will be discarded at the end of rendering.
166
+ * - Hooks added during a page render will be discarded at the end of that page's render.
167
+ *
168
+ * See {@link RendererHooks} for a description of each available hook, and when it will be called.
169
+ */
170
+ hooks: EventHooks<RendererHooks, JSX.Element>;
171
+ /** @internal */
172
+ private accessor themeName;
173
+ /** @internal */
174
+ private accessor routerName;
175
+ private accessor cleanOutputDir;
176
+ private accessor cname;
177
+ private accessor githubPages;
178
+ /** @internal */
179
+ accessor cacheBust: boolean;
180
+ private accessor pretty;
181
+ renderStartTime: number;
182
+ markedPlugin: MarkedPlugin;
183
+ constructor(owner: Application);
184
+ /**
185
+ * Define a new theme that can be used to render output.
186
+ * This API will likely be changing at some point, to allow more easily overriding parts of the theme without
187
+ * requiring additional boilerplate.
188
+ * @param name
189
+ * @param theme
190
+ */
191
+ defineTheme(name: string, theme: new (renderer: Renderer) => Theme): void;
192
+ /** @internal intended for test usage only */
193
+ removeTheme(name: string): void;
194
+ /**
195
+ * Define a new router that can be used to determine the output structure.
196
+ * @param name
197
+ * @param router
198
+ */
199
+ defineRouter(name: string, router: new (app: Application) => Router): void;
200
+ /** @internal intended for test usage only */
201
+ removeRouter(name: string): void;
202
+ /**
203
+ * Render the given project reflection to the specified output directory.
204
+ *
205
+ * @param project The project that should be rendered.
206
+ * @param outputDirectory The path of the directory the documentation should be rendered to.
207
+ */
208
+ render(project: ProjectReflection, outputDirectory: string): Promise<void>;
209
+ private runPreRenderJobs;
210
+ /**
211
+ * Render a single page.
212
+ *
213
+ * @param page An event describing the current page.
214
+ * @return TRUE if the page has been saved to disc, otherwise FALSE.
215
+ */
216
+ private renderDocument;
217
+ private prepareRouter;
218
+ private prepareTheme;
219
+ /**
220
+ * Prepare the output directory. If the directory does not exist, it will be
221
+ * created. If the directory exists, it will be emptied.
222
+ *
223
+ * @param directory The path to the directory that should be prepared.
224
+ * @returns TRUE if the directory could be prepared, otherwise FALSE.
225
+ */
226
+ private prepareOutputDirectory;
227
+ }