@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,241 @@
1
+ import ts from "typescript";
2
+ import { Comment, ReflectionKind } from "../../models/index.js";
3
+ import { lexBlockComment } from "./blockLexer.js";
4
+ import { discoverComment, discoverFileComments, discoverNodeComment, discoverSignatureComment, } from "./discovery.js";
5
+ import { lexLineComments } from "./lineLexer.js";
6
+ import { parseComment } from "./parser.js";
7
+ import { assertNever, i18n, Logger, setUnion } from "#utils";
8
+ const jsDocCommentKinds = [
9
+ ts.SyntaxKind.JSDocPropertyTag,
10
+ ts.SyntaxKind.JSDocCallbackTag,
11
+ ts.SyntaxKind.JSDocTypedefTag,
12
+ ts.SyntaxKind.JSDocTemplateTag,
13
+ ts.SyntaxKind.JSDocEnumTag,
14
+ ];
15
+ let commentDiscoveryId = 0;
16
+ let commentCache = new WeakMap();
17
+ // We need to do this for tests so that changing the tsLinkResolution option
18
+ // actually works. Without it, we'd get the old parsed comment which doesn't
19
+ // have the TS symbols attached.
20
+ export function clearCommentCache() {
21
+ commentCache = new WeakMap();
22
+ commentDiscoveryId = 0;
23
+ }
24
+ function getCommentIgnoringCacheNoDiscoveryId(discovered, context) {
25
+ if (!discovered)
26
+ return;
27
+ const { file, ranges, jsDoc } = discovered;
28
+ let comment;
29
+ switch (ranges[0].kind) {
30
+ case ts.SyntaxKind.MultiLineCommentTrivia:
31
+ comment = parseComment(lexBlockComment(file.text, ranges[0].pos, ranges[0].end, context.createSymbolId, jsDoc, context.checker), file, context);
32
+ break;
33
+ case ts.SyntaxKind.SingleLineCommentTrivia:
34
+ comment = parseComment(lexLineComments(file.text, ranges), file, context);
35
+ break;
36
+ default:
37
+ assertNever(ranges[0].kind);
38
+ }
39
+ comment.inheritedFromParentDeclaration = discovered.inheritedFromParentDeclaration;
40
+ return comment;
41
+ }
42
+ function getCommentWithCache(discovered, context) {
43
+ if (!discovered)
44
+ return;
45
+ const { file, ranges } = discovered;
46
+ const cache = commentCache.get(file) || new Map();
47
+ if (cache.has(ranges[0].pos)) {
48
+ const clone = cache.get(ranges[0].pos).clone();
49
+ clone.inheritedFromParentDeclaration = discovered.inheritedFromParentDeclaration;
50
+ return clone;
51
+ }
52
+ const comment = getCommentIgnoringCacheNoDiscoveryId(discovered, context);
53
+ if (!comment)
54
+ return;
55
+ comment.discoveryId = ++commentDiscoveryId;
56
+ cache.set(ranges[0].pos, comment);
57
+ commentCache.set(file, cache);
58
+ return comment.clone();
59
+ }
60
+ function getCommentImpl(commentSource, moduleComment, context) {
61
+ const comment = getCommentWithCache(commentSource, {
62
+ ...context,
63
+ checker: context.config.useTsLinkResolution ? context.checker : undefined,
64
+ });
65
+ if (comment?.getTag("@import") || comment?.getTag("@license")) {
66
+ return;
67
+ }
68
+ if (moduleComment && comment) {
69
+ // Module comment, make sure it is tagged with @packageDocumentation or @module.
70
+ // If it isn't then the comment applies to the first statement in the file, so throw it away.
71
+ if (!comment.hasModifier("@packageDocumentation") &&
72
+ !comment.getTag("@module")) {
73
+ return;
74
+ }
75
+ }
76
+ if (!moduleComment && comment) {
77
+ // Ensure module comments are not attached to non-module reflections.
78
+ if (comment.hasModifier("@packageDocumentation") ||
79
+ comment.getTag("@module")) {
80
+ return;
81
+ }
82
+ }
83
+ return comment;
84
+ }
85
+ export function getComment(symbol, kind, context) {
86
+ const declarations = symbol.declarations || [];
87
+ if (declarations.length &&
88
+ declarations.every((d) => jsDocCommentKinds.includes(d.kind))) {
89
+ return getJsDocComment(declarations[0], context);
90
+ }
91
+ const sf = declarations.find(ts.isSourceFile);
92
+ if (sf) {
93
+ return getFileComment(sf, context);
94
+ }
95
+ const isModule = declarations.some((decl) => {
96
+ if (ts.isModuleDeclaration(decl) && ts.isStringLiteral(decl.name)) {
97
+ return true;
98
+ }
99
+ return false;
100
+ });
101
+ const comment = getCommentImpl(discoverComment(symbol, kind, context.logger, context.config.commentStyle, context.checker, !context.config.suppressCommentWarningsInDeclarationFiles), isModule, context);
102
+ if (!comment && kind === ReflectionKind.Property) {
103
+ return getConstructorParamPropertyComment(symbol, context);
104
+ }
105
+ return comment;
106
+ }
107
+ export function getNodeComment(node, moduleComment, context) {
108
+ return getCommentImpl(discoverNodeComment(node, context.config.commentStyle), moduleComment, context);
109
+ }
110
+ export function getFileComment(file, context) {
111
+ const quietContext = {
112
+ ...context,
113
+ logger: new Logger(),
114
+ };
115
+ for (const commentSource of discoverFileComments(file, context.config.commentStyle)) {
116
+ // First parse the comment without adding the parse to the cache
117
+ // and without logging any messages. If we end up not using this as
118
+ // a file comment we want to avoid parsing it with warnings here as
119
+ // it might be associated with a JSDoc parse which has special
120
+ // handling to allow modifier tags to be specified as {@mod}
121
+ // and if it gets added to the cache here we'll get unwanted warnings
122
+ const comment = getCommentIgnoringCacheNoDiscoveryId(commentSource, quietContext);
123
+ if (comment?.getTag("@license") || comment?.getTag("@import")) {
124
+ continue;
125
+ }
126
+ if (comment?.getTag("@module") ||
127
+ comment?.hasModifier("@packageDocumentation")) {
128
+ return getCommentWithCache(commentSource, context);
129
+ }
130
+ return;
131
+ }
132
+ }
133
+ function getConstructorParamPropertyComment(symbol, context) {
134
+ const decl = symbol.declarations?.find(ts.isParameter);
135
+ if (!decl)
136
+ return;
137
+ const ctor = decl.parent;
138
+ const comment = getSignatureComment(ctor, context);
139
+ const paramTag = comment?.getIdentifiedTag(symbol.name, "@param");
140
+ if (paramTag) {
141
+ const result = new Comment(paramTag.content);
142
+ result.sourcePath = comment.sourcePath;
143
+ return result;
144
+ }
145
+ }
146
+ export function getSignatureComment(declaration, context) {
147
+ return getCommentImpl(discoverSignatureComment(declaration, context.checker, context.config.commentStyle), false, context);
148
+ }
149
+ function buildJsDocCommentFromParts(declaration, parts, sourceComment, context) {
150
+ if (!parts) {
151
+ return undefined;
152
+ }
153
+ const comment = new Comment(Comment.cloneDisplayParts(parts));
154
+ comment.sourcePath = sourceComment.sourcePath;
155
+ for (let i = 0; i < comment.summary.length;) {
156
+ const part = comment.summary[i];
157
+ if (part.kind === "inline-tag" &&
158
+ !part.text.trim() &&
159
+ context.config.modifierTags.has(part.tag)) {
160
+ comment.modifierTags.add(part.tag);
161
+ comment.summary.splice(i, 1);
162
+ }
163
+ else if (part.kind === "inline-tag" &&
164
+ part.text.trim() &&
165
+ context.config.modifierTags.has(part.tag) &&
166
+ !context.config.inlineTags.has(part.tag)) {
167
+ context.logger.warn(i18n.inline_tag_0_not_parsed_as_modifier_tag_1(part.tag, part.text.trim()), declaration);
168
+ ++i;
169
+ }
170
+ else {
171
+ ++i;
172
+ }
173
+ }
174
+ return comment;
175
+ }
176
+ export function getJsDocComment(declaration, context) {
177
+ const file = declaration.getSourceFile();
178
+ // First, get the whole comment. We know we'll need all of it.
179
+ let parent = declaration.parent;
180
+ while (!ts.isJSDoc(parent)) {
181
+ parent = parent.parent;
182
+ }
183
+ // Build a custom context to allow modifier tags to be written as inline
184
+ // tags as otherwise there's no way to specify them here #2916 #3050
185
+ const contextWithInline = {
186
+ ...context,
187
+ config: {
188
+ ...context.config,
189
+ inlineTags: setUnion(context.config.inlineTags, context.config.modifierTags),
190
+ },
191
+ };
192
+ // Then parse it.
193
+ const comment = getCommentWithCache({
194
+ file,
195
+ ranges: [
196
+ {
197
+ kind: ts.SyntaxKind.MultiLineCommentTrivia,
198
+ pos: parent.pos,
199
+ end: parent.end,
200
+ },
201
+ ],
202
+ jsDoc: parent,
203
+ inheritedFromParentDeclaration: false,
204
+ }, contextWithInline);
205
+ // And pull out the tag we actually care about.
206
+ if (ts.isJSDocEnumTag(declaration)) {
207
+ return buildJsDocCommentFromParts(declaration, comment.getTag("@enum")?.content, comment, context);
208
+ }
209
+ if (ts.isJSDocTemplateTag(declaration) &&
210
+ declaration.comment &&
211
+ declaration.typeParameters.length > 1) {
212
+ // We could just put the same comment on everything, but due to how comment parsing works,
213
+ // we'd have to search for any @template with a name starting with the first type parameter's name
214
+ // which feels horribly hacky.
215
+ context.logger.warn(i18n.multiple_type_parameters_on_template_tag_unsupported(), declaration);
216
+ return;
217
+ }
218
+ let name;
219
+ if (ts.isJSDocTemplateTag(declaration)) {
220
+ // This isn't really ideal.
221
+ name = declaration.typeParameters[0].name.text;
222
+ }
223
+ else {
224
+ name = declaration.name?.getText();
225
+ }
226
+ if (!name) {
227
+ return;
228
+ }
229
+ const tag = comment.getIdentifiedTag(name, `@${declaration.tagName.text}`);
230
+ if (!tag) {
231
+ // If this is a template tag with multiple declarations, we warned already if there
232
+ // was a comment attached. If there wasn't, then don't error about failing to find
233
+ // a tag because this is unsupported.
234
+ if (!ts.isJSDocTemplateTag(declaration)) {
235
+ context.logger.error(i18n.failed_to_find_jsdoc_tag_for_name_0(name), declaration);
236
+ }
237
+ }
238
+ else {
239
+ return buildJsDocCommentFromParts(declaration, tag.content, comment, context);
240
+ }
241
+ }
@@ -0,0 +1,17 @@
1
+ import type { ReflectionSymbolId } from "../../models/index.js";
2
+ export declare enum TokenSyntaxKind {
3
+ Text = "text",
4
+ NewLine = "new_line",
5
+ OpenBrace = "open_brace",
6
+ CloseBrace = "close_brace",
7
+ Tag = "tag",
8
+ Code = "code",
9
+ TypeAnnotation = "type"
10
+ }
11
+ export interface Token {
12
+ kind: TokenSyntaxKind;
13
+ text: string;
14
+ pos: number;
15
+ tsLinkTarget?: ReflectionSymbolId;
16
+ tsLinkText?: string;
17
+ }
@@ -0,0 +1,10 @@
1
+ export var TokenSyntaxKind;
2
+ (function (TokenSyntaxKind) {
3
+ TokenSyntaxKind["Text"] = "text";
4
+ TokenSyntaxKind["NewLine"] = "new_line";
5
+ TokenSyntaxKind["OpenBrace"] = "open_brace";
6
+ TokenSyntaxKind["CloseBrace"] = "close_brace";
7
+ TokenSyntaxKind["Tag"] = "tag";
8
+ TokenSyntaxKind["Code"] = "code";
9
+ TokenSyntaxKind["TypeAnnotation"] = "type";
10
+ })(TokenSyntaxKind || (TokenSyntaxKind = {}));
@@ -0,0 +1,3 @@
1
+ import type ts from "typescript";
2
+ import { type Token } from "./lexer.js";
3
+ export declare function lexLineComments(file: string, ranges: ts.CommentRange[]): Generator<Token, undefined, undefined>;
@@ -0,0 +1,279 @@
1
+ import { TokenSyntaxKind } from "./lexer.js";
2
+ export function* lexLineComments(file, ranges) {
3
+ // Wrapper around our real lex function to collapse adjacent text tokens.
4
+ let textToken;
5
+ for (const token of lexLineComments2(file, ranges[0].pos, ranges[ranges.length - 1].end)) {
6
+ if (token.kind === TokenSyntaxKind.Text) {
7
+ if (textToken) {
8
+ textToken.text += token.text;
9
+ }
10
+ else {
11
+ textToken = token;
12
+ }
13
+ }
14
+ else {
15
+ if (textToken) {
16
+ yield textToken;
17
+ textToken = void 0;
18
+ }
19
+ yield token;
20
+ }
21
+ }
22
+ if (textToken) {
23
+ yield textToken;
24
+ }
25
+ return;
26
+ }
27
+ function* lexLineComments2(file, pos, end) {
28
+ // Trailing whitespace
29
+ while (pos < end && /\s/.test(file[end - 1])) {
30
+ end--;
31
+ }
32
+ let lineStart = true;
33
+ let braceStartsType = false;
34
+ for (;;) {
35
+ if (lineStart) {
36
+ pos = skipLeadingLineTrivia(pos);
37
+ lineStart = false;
38
+ }
39
+ if (pos >= end) {
40
+ return;
41
+ }
42
+ switch (file[pos]) {
43
+ case "\n":
44
+ yield makeToken(TokenSyntaxKind.NewLine, 1);
45
+ lineStart = true;
46
+ break;
47
+ case "{":
48
+ if (braceStartsType && nextNonWs(pos + 1) !== "@") {
49
+ yield makeToken(TokenSyntaxKind.TypeAnnotation, findEndOfType(pos) - pos);
50
+ braceStartsType = false;
51
+ }
52
+ else {
53
+ yield makeToken(TokenSyntaxKind.OpenBrace, 1);
54
+ }
55
+ break;
56
+ case "}":
57
+ yield makeToken(TokenSyntaxKind.CloseBrace, 1);
58
+ braceStartsType = false;
59
+ break;
60
+ case "`": {
61
+ // Markdown's code rules are a royal pain. This could be one of several things.
62
+ // 1. Inline code: <1-n ticks><text><same number of ticks>
63
+ // 2. Code block: <3 ticks><language, no ticks>\n<text>\n<3 ticks>\n
64
+ // 3. Unmatched tick(s), not code, but part of some text.
65
+ // We don't quite handle #2 correctly yet. PR welcome!
66
+ braceStartsType = false;
67
+ let tickCount = 1;
68
+ let lookahead = pos - 1;
69
+ let atNewline = true;
70
+ while (lookahead > 0 && file[lookahead] !== "\n") {
71
+ if (/\S/.test(file[lookahead])) {
72
+ atNewline = false;
73
+ break;
74
+ }
75
+ --lookahead;
76
+ }
77
+ lookahead = pos;
78
+ while (lookahead + 1 < end && file[lookahead + 1] === "`") {
79
+ tickCount++;
80
+ lookahead++;
81
+ }
82
+ const isCodeBlock = atNewline && tickCount >= 3;
83
+ let lookaheadStart = pos;
84
+ const codeText = [];
85
+ lookahead++;
86
+ while (lookahead < end) {
87
+ if (lookaheadExactlyNTicks(lookahead, tickCount)) {
88
+ lookahead += tickCount;
89
+ codeText.push(file.substring(lookaheadStart, lookahead));
90
+ const codeTextStr = codeText.join("");
91
+ if (isCodeBlock || !/\n\s*\n/.test(codeTextStr)) {
92
+ yield {
93
+ kind: TokenSyntaxKind.Code,
94
+ text: codeTextStr,
95
+ pos,
96
+ };
97
+ pos = lookahead;
98
+ }
99
+ else {
100
+ yield makeToken(TokenSyntaxKind.Text, tickCount);
101
+ }
102
+ break;
103
+ }
104
+ else if (file[lookahead] === "`") {
105
+ while (lookahead < end && file[lookahead] === "`") {
106
+ lookahead++;
107
+ }
108
+ }
109
+ else if (file[lookahead] === "\\" &&
110
+ lookahead + 1 < end &&
111
+ file[lookahead + 1] !== "\n") {
112
+ lookahead += 2;
113
+ }
114
+ else if (file[lookahead] === "\n") {
115
+ lookahead++;
116
+ codeText.push(file.substring(lookaheadStart, lookahead));
117
+ lookahead = skipLeadingLineTrivia(lookahead);
118
+ lookaheadStart = lookahead;
119
+ }
120
+ else {
121
+ lookahead++;
122
+ }
123
+ }
124
+ if (lookahead >= end && pos !== lookahead) {
125
+ if (tickCount === 3 &&
126
+ file.substring(pos, end).includes("\n")) {
127
+ codeText.push(file.substring(lookaheadStart, end));
128
+ yield {
129
+ kind: TokenSyntaxKind.Code,
130
+ text: codeText.join(""),
131
+ pos,
132
+ };
133
+ pos = lookahead;
134
+ }
135
+ else {
136
+ yield makeToken(TokenSyntaxKind.Text, tickCount);
137
+ }
138
+ }
139
+ break;
140
+ }
141
+ case "@": {
142
+ let lookahead = pos + 1;
143
+ while (lookahead < end && /[a-z]/i.test(file[lookahead])) {
144
+ lookahead++;
145
+ }
146
+ if (lookahead !== pos + 1) {
147
+ while (lookahead < end &&
148
+ /[a-z0-9-]/i.test(file[lookahead])) {
149
+ lookahead++;
150
+ }
151
+ }
152
+ if (lookahead !== pos + 1 &&
153
+ (lookahead === end || /[\s}]/.test(file[lookahead]))) {
154
+ braceStartsType = true;
155
+ yield makeToken(TokenSyntaxKind.Tag, lookahead - pos);
156
+ break;
157
+ }
158
+ }
159
+ // fall through if we didn't find something that looks like a tag
160
+ default: {
161
+ const textParts = [];
162
+ let lookaheadStart = pos;
163
+ let lookahead = pos;
164
+ while (lookahead < end) {
165
+ if ("{}\n`".includes(file[lookahead]))
166
+ break;
167
+ if (lookahead !== pos &&
168
+ file[lookahead] === "@" &&
169
+ /\s/.test(file[lookahead - 1])) {
170
+ // Probably the start of a modifier tag
171
+ break;
172
+ }
173
+ if (file[lookahead] === "\\" &&
174
+ lookahead + 1 < end &&
175
+ "{}@`".includes(file[lookahead + 1])) {
176
+ textParts.push(file.substring(lookaheadStart, lookahead), file[lookahead + 1]);
177
+ lookahead++;
178
+ lookaheadStart = lookahead + 1;
179
+ }
180
+ lookahead++;
181
+ }
182
+ textParts.push(file.substring(lookaheadStart, lookahead));
183
+ if (textParts.some((part) => /\S/.test(part))) {
184
+ braceStartsType = false;
185
+ }
186
+ // This piece of text had line continuations or escaped text
187
+ yield {
188
+ kind: TokenSyntaxKind.Text,
189
+ text: textParts.join(""),
190
+ pos,
191
+ };
192
+ pos = lookahead;
193
+ break;
194
+ }
195
+ }
196
+ }
197
+ function makeToken(kind, size) {
198
+ const start = pos;
199
+ pos += size;
200
+ return {
201
+ kind,
202
+ text: file.substring(start, pos),
203
+ pos: start,
204
+ };
205
+ }
206
+ function skipLeadingLineTrivia(pos) {
207
+ let lookahead = pos;
208
+ while (lookahead < end && /\s/.test(file[lookahead])) {
209
+ lookahead++;
210
+ }
211
+ while (lookahead < end && file[lookahead] === "/") {
212
+ lookahead++;
213
+ }
214
+ if (lookahead < end && file[lookahead] === " ") {
215
+ lookahead++;
216
+ }
217
+ return lookahead;
218
+ }
219
+ function lookaheadExactlyNTicks(pos, n) {
220
+ if (pos + n > end) {
221
+ return false;
222
+ }
223
+ return file.startsWith("`".repeat(n), pos) && file[pos + n] !== "`";
224
+ }
225
+ function findEndOfType(pos) {
226
+ let openBraces = 0;
227
+ while (pos < end) {
228
+ if (file[pos] === "{") {
229
+ openBraces++;
230
+ }
231
+ else if (file[pos] === "}") {
232
+ if (--openBraces === 0) {
233
+ break;
234
+ }
235
+ }
236
+ else if ("`'\"".includes(file[pos])) {
237
+ pos = findEndOfString(pos);
238
+ }
239
+ pos++;
240
+ }
241
+ if (pos < end && file[pos] === "}") {
242
+ pos++;
243
+ }
244
+ return pos;
245
+ }
246
+ function findEndOfString(pos) {
247
+ const endOfString = file[pos];
248
+ pos++;
249
+ while (pos < end) {
250
+ if (file[pos] === endOfString) {
251
+ break;
252
+ }
253
+ else if (file[pos] === "\\") {
254
+ pos++; // Skip escaped character
255
+ }
256
+ else if (endOfString === "`" &&
257
+ file[pos] === "$" &&
258
+ file[pos + 1] === "{") {
259
+ // Template literal with data inside a ${}
260
+ while (pos < end && file[pos] !== "}") {
261
+ if ("`'\"".includes(file[pos])) {
262
+ pos = findEndOfString(pos) + 1;
263
+ }
264
+ else {
265
+ pos++;
266
+ }
267
+ }
268
+ }
269
+ pos++;
270
+ }
271
+ return pos;
272
+ }
273
+ function nextNonWs(pos) {
274
+ while (pos < end && /\s/.test(file[pos])) {
275
+ pos++;
276
+ }
277
+ return file[pos];
278
+ }
279
+ }
@@ -0,0 +1,20 @@
1
+ import { type CommentDisplayPart, Reflection, ReflectionSymbolId } from "../../models/index.js";
2
+ import { type DeclarationReference } from "#utils";
3
+ export type ExternalResolveResult = {
4
+ target: string;
5
+ caption?: string;
6
+ };
7
+ /**
8
+ * @param ref - Parsed declaration reference to resolve. This may be created automatically for some symbol, or
9
+ * parsed from user input.
10
+ * @param refl - Reflection that contains the resolved link
11
+ * @param part - If the declaration reference was created from a comment, the originating part.
12
+ * @param symbolId - If the declaration reference was created from a symbol, or `useTsLinkResolution` is turned
13
+ * on and TypeScript resolved the link to some symbol, the ID of that symbol.
14
+ */
15
+ export type ExternalSymbolResolver = (ref: DeclarationReference, refl: Reflection, part: Readonly<CommentDisplayPart> | undefined, symbolId: ReflectionSymbolId | undefined) => ExternalResolveResult | string | undefined;
16
+ export type LinkResolverOptions = {
17
+ preserveLinkText: boolean;
18
+ };
19
+ export declare function resolveLinks(reflection: Reflection, externalResolver: ExternalSymbolResolver, options: LinkResolverOptions): void;
20
+ export declare function resolvePartLinks(reflection: Reflection, parts: readonly CommentDisplayPart[], externalResolver: ExternalSymbolResolver, options: LinkResolverOptions): CommentDisplayPart[];