@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,6 @@
1
+ export declare const tsdocBlockTags: readonly ["@defaultValue", "@deprecated", "@example", "@jsx", "@param", "@privateRemarks", "@remarks", "@returns", "@see", "@throws", "@typeParam"];
2
+ export declare const blockTags: readonly ["@defaultValue", "@deprecated", "@example", "@jsx", "@param", "@privateRemarks", "@remarks", "@returns", "@see", "@throws", "@typeParam", "@author", "@callback", "@category", "@categoryDescription", "@default", "@document", "@extends", "@augments", "@yields", "@group", "@groupDescription", "@import", "@inheritDoc", "@license", "@module", "@mergeModuleWith", "@prop", "@property", "@return", "@satisfies", "@since", "@sortStrategy", "@template", "@this", "@type", "@typedef", "@summary", "@preventInline", "@inlineType", "@preventExpand", "@expandType"];
3
+ export declare const tsdocInlineTags: readonly ["@link", "@inheritDoc", "@label"];
4
+ export declare const inlineTags: readonly ["@link", "@inheritDoc", "@label", "@linkcode", "@linkplain", "@include", "@includeCode"];
5
+ export declare const tsdocModifierTags: readonly ["@alpha", "@beta", "@eventProperty", "@experimental", "@internal", "@override", "@packageDocumentation", "@public", "@readonly", "@sealed", "@virtual"];
6
+ export declare const modifierTags: readonly ["@alpha", "@beta", "@eventProperty", "@experimental", "@internal", "@override", "@packageDocumentation", "@public", "@readonly", "@sealed", "@virtual", "@abstract", "@class", "@disableGroups", "@enum", "@event", "@expand", "@hidden", "@hideCategories", "@hideconstructor", "@hideGroups", "@ignore", "@inline", "@interface", "@namespace", "@function", "@overload", "@private", "@protected", "@showCategories", "@showGroups", "@useDeclaredType", "@primaryExport"];
@@ -0,0 +1,94 @@
1
+ // If updating these lists, also update tsdoc.json
2
+ export const tsdocBlockTags = [
3
+ "@defaultValue",
4
+ "@deprecated",
5
+ "@example",
6
+ "@jsx",
7
+ "@param",
8
+ "@privateRemarks",
9
+ "@remarks",
10
+ "@returns",
11
+ "@see",
12
+ "@throws",
13
+ "@typeParam",
14
+ ];
15
+ export const blockTags = [
16
+ ...tsdocBlockTags,
17
+ "@author",
18
+ "@callback",
19
+ "@category",
20
+ "@categoryDescription",
21
+ "@default",
22
+ "@document",
23
+ "@extends",
24
+ "@augments", // Alias for @extends
25
+ "@yields",
26
+ "@group",
27
+ "@groupDescription",
28
+ "@import",
29
+ "@inheritDoc",
30
+ "@license",
31
+ "@module",
32
+ "@mergeModuleWith",
33
+ "@prop",
34
+ "@property",
35
+ "@return",
36
+ "@satisfies",
37
+ "@since",
38
+ "@sortStrategy",
39
+ "@template", // Alias for @typeParam
40
+ "@this",
41
+ "@type",
42
+ "@typedef",
43
+ "@summary",
44
+ "@preventInline",
45
+ "@inlineType",
46
+ "@preventExpand",
47
+ "@expandType",
48
+ ];
49
+ export const tsdocInlineTags = ["@link", "@inheritDoc", "@label"];
50
+ export const inlineTags = [
51
+ ...tsdocInlineTags,
52
+ "@linkcode",
53
+ "@linkplain",
54
+ "@include",
55
+ "@includeCode",
56
+ ];
57
+ export const tsdocModifierTags = [
58
+ "@alpha",
59
+ "@beta",
60
+ "@eventProperty",
61
+ "@experimental",
62
+ "@internal",
63
+ "@override",
64
+ "@packageDocumentation",
65
+ "@public",
66
+ "@readonly",
67
+ "@sealed",
68
+ "@virtual",
69
+ ];
70
+ export const modifierTags = [
71
+ ...tsdocModifierTags,
72
+ "@abstract",
73
+ "@class",
74
+ "@disableGroups",
75
+ "@enum",
76
+ "@event",
77
+ "@expand",
78
+ "@hidden",
79
+ "@hideCategories",
80
+ "@hideconstructor",
81
+ "@hideGroups",
82
+ "@ignore",
83
+ "@inline",
84
+ "@interface",
85
+ "@namespace",
86
+ "@function",
87
+ "@overload",
88
+ "@private",
89
+ "@protected",
90
+ "@showCategories",
91
+ "@showGroups",
92
+ "@useDeclaredType",
93
+ "@primaryExport",
94
+ ];
@@ -0,0 +1,11 @@
1
+ import { type MinimatchSet } from "./paths.js";
2
+ import { type GlobString, type Logger, type NormalizedPath } from "#utils";
3
+ /**
4
+ * Loads a package.json and validates that it is a JSON Object
5
+ */
6
+ export declare function loadPackageManifest(logger: Logger, packageJsonPath: string): Record<string, unknown> | undefined;
7
+ /**
8
+ * Given a list of (potentially wildcard containing) package paths,
9
+ * return all the actual package folders found.
10
+ */
11
+ export declare function expandPackages(logger: Logger, packageJsonDir: NormalizedPath, workspaces: GlobString[], exclude: MinimatchSet): string[];
@@ -0,0 +1,84 @@
1
+ // Utilities to support the inspection of node package "manifests"
2
+ import { dirname } from "path";
3
+ import { glob, readFile } from "./fs.js";
4
+ import { createGlobString, nicePath, normalizePath } from "./paths.js";
5
+ import { i18n } from "#utils";
6
+ /**
7
+ * Helper for the TS type system to understand hasOwnProperty
8
+ * and narrow a type appropriately.
9
+ * @param obj the receiver of the hasOwnProperty method call
10
+ * @param prop the property to test for
11
+ */
12
+ function hasOwnProperty(obj, prop) {
13
+ return Object.prototype.hasOwnProperty.call(obj, prop);
14
+ }
15
+ /**
16
+ * Loads a package.json and validates that it is a JSON Object
17
+ */
18
+ export function loadPackageManifest(logger, packageJsonPath) {
19
+ const packageJson = JSON.parse(readFile(packageJsonPath));
20
+ if (typeof packageJson !== "object" || !packageJson) {
21
+ logger.error(i18n.file_0_not_an_object(nicePath(packageJsonPath)));
22
+ return undefined;
23
+ }
24
+ return packageJson;
25
+ }
26
+ /**
27
+ * Load the paths to packages specified in a Yarn workspace package JSON
28
+ * Returns undefined if packageJSON does not define a Yarn workspace
29
+ * @param packageJSON the package json object
30
+ */
31
+ function getPackagePaths(packageJSON) {
32
+ if (Array.isArray(packageJSON["workspaces"]) &&
33
+ packageJSON["workspaces"].every((i) => typeof i === "string")) {
34
+ return packageJSON["workspaces"];
35
+ }
36
+ if (typeof packageJSON["workspaces"] === "object" &&
37
+ packageJSON["workspaces"] != null) {
38
+ const workspaces = packageJSON["workspaces"];
39
+ if (hasOwnProperty(workspaces, "packages") &&
40
+ Array.isArray(workspaces["packages"]) &&
41
+ workspaces["packages"].every((i) => typeof i === "string")) {
42
+ return workspaces["packages"];
43
+ }
44
+ }
45
+ return undefined;
46
+ }
47
+ /**
48
+ * Given a list of (potentially wildcard containing) package paths,
49
+ * return all the actual package folders found.
50
+ */
51
+ export function expandPackages(logger, packageJsonDir, workspaces, exclude) {
52
+ // Technically npm and Yarn workspaces don't support recursive nesting,
53
+ // however we support the passing of paths to either packages or
54
+ // to the root of a workspace tree in our params and so we could here
55
+ // be dealing with either a root or a leaf. So let's do this recursively,
56
+ // as it actually is simpler from an implementation perspective anyway.
57
+ return workspaces.flatMap((workspace) => {
58
+ const expandedPackageJsonPaths = glob(createGlobString(packageJsonDir, `${workspace}/package.json`), packageJsonDir);
59
+ if (expandedPackageJsonPaths.length === 0) {
60
+ logger.warn(i18n.entry_point_0_did_not_match_any_packages(nicePath(workspace)));
61
+ }
62
+ else if (expandedPackageJsonPaths.length !== 1) {
63
+ logger.verbose(`Expanded ${nicePath(workspace)} to:\n\t${expandedPackageJsonPaths
64
+ .map(nicePath)
65
+ .join("\n\t")}`);
66
+ }
67
+ return expandedPackageJsonPaths.flatMap((packageJsonPath) => {
68
+ if (exclude.matchesAny(dirname(packageJsonPath))) {
69
+ return [];
70
+ }
71
+ const packageJson = loadPackageManifest(logger, packageJsonPath);
72
+ if (packageJson === undefined) {
73
+ return [];
74
+ }
75
+ const packagePaths = getPackagePaths(packageJson);
76
+ if (packagePaths === undefined) {
77
+ // Assume this is a single package repo
78
+ return [dirname(packageJsonPath)];
79
+ }
80
+ // This is a workspace root package, recurse
81
+ return expandPackages(logger, normalizePath(dirname(packageJsonPath)), packagePaths.map(p => createGlobString(normalizePath(dirname(packageJsonPath)), p)), exclude);
82
+ });
83
+ });
84
+ }
@@ -0,0 +1,27 @@
1
+ import { type GlobString, type NormalizedPath } from "#utils";
2
+ import { Minimatch } from "minimatch";
3
+ export declare class MinimatchSet {
4
+ readonly patterns: Minimatch[];
5
+ constructor(patterns: GlobString[]);
6
+ matchesAny(path: string): boolean;
7
+ }
8
+ export declare function splitGlobToPathAndSpecial(glob: string): {
9
+ modifiers: string;
10
+ path: string;
11
+ glob: string;
12
+ };
13
+ export declare function createGlobString(relativeTo: NormalizedPath, glob: string): GlobString;
14
+ /**
15
+ * Get the longest directory path common to all files.
16
+ */
17
+ export declare function getCommonPath(files: readonly string[]): NormalizedPath;
18
+ export declare function getCommonDirectory(files: readonly string[]): NormalizedPath;
19
+ export declare function deriveRootDir(globPaths: GlobString[]): NormalizedPath;
20
+ export declare function nicePath(absPath: string): string;
21
+ /**
22
+ * Normalize the given path.
23
+ *
24
+ * @param path The path that should be normalized.
25
+ * @returns The normalized path.
26
+ */
27
+ export declare function normalizePath(path: string): NormalizedPath;
@@ -0,0 +1,127 @@
1
+ import { countMatches, filterMap } from "#utils";
2
+ import { Minimatch } from "minimatch";
3
+ import { dirname, isAbsolute, relative, resolve } from "path";
4
+ export class MinimatchSet {
5
+ patterns;
6
+ constructor(patterns) {
7
+ this.patterns = patterns.map(p => new Minimatch(p, { dot: true }));
8
+ }
9
+ matchesAny(path) {
10
+ return this.patterns.some(p => {
11
+ return p.match(path);
12
+ });
13
+ }
14
+ }
15
+ function escapeGlob(glob) {
16
+ return glob.replace(/[?*()[\]\\{}]/g, "\\$&");
17
+ }
18
+ function isGlobalGlob(glob) {
19
+ const start = glob.match(/^[!#]+/)?.[0].length ?? 0;
20
+ return glob.startsWith("**", start);
21
+ }
22
+ export function splitGlobToPathAndSpecial(glob) {
23
+ const modifiers = glob.match(/^[!#]+/)?.[0] ?? "";
24
+ const noModifierGlob = glob.substring(modifiers.length);
25
+ if (isGlobalGlob(glob)) {
26
+ return { modifiers, path: "", glob: noModifierGlob };
27
+ }
28
+ const mini = new Minimatch(noModifierGlob, { dot: true });
29
+ const basePaths = mini.set.map(set => {
30
+ const stop = set.findIndex((part) => typeof part !== "string");
31
+ if (stop === -1) {
32
+ return set.join("/");
33
+ }
34
+ else {
35
+ return set.slice(0, stop).join("/");
36
+ }
37
+ });
38
+ const base = getCommonPath(basePaths);
39
+ if (base) {
40
+ const skipIndex = countMatches(base, "/") + 1;
41
+ const globPart = mini.globParts.map(s => s.slice(skipIndex));
42
+ // This isn't ideal, it will end up re-writing the glob if braces are used,
43
+ // but I don't want to write a glob minimizer at this point, and this should
44
+ // handle all the edge cases as we're just using Minimatch's glob parsing
45
+ const resultingGlob = globPart.length === 1
46
+ ? globPart[0].join("/")
47
+ : `{${globPart.map(s => s.join("/")).join(",")}}`;
48
+ return { modifiers, path: base, glob: resultingGlob };
49
+ }
50
+ return { modifiers, path: "", glob: noModifierGlob };
51
+ }
52
+ export function createGlobString(relativeTo, glob) {
53
+ if (isAbsolute(glob) || isGlobalGlob(glob))
54
+ return glob;
55
+ const split = splitGlobToPathAndSpecial(glob);
56
+ const leadingPath = normalizePath(resolve(relativeTo, split.path));
57
+ if (!split.glob) {
58
+ return split.modifiers + escapeGlob(leadingPath);
59
+ }
60
+ return `${split.modifiers}${escapeGlob(leadingPath)}/${split.glob}`;
61
+ }
62
+ /**
63
+ * Get the longest directory path common to all files.
64
+ */
65
+ export function getCommonPath(files) {
66
+ if (!files.length) {
67
+ return "";
68
+ }
69
+ const roots = files.map((f) => f.split("/"));
70
+ if (roots.length === 1) {
71
+ return roots[0].join("/");
72
+ }
73
+ let i = 0;
74
+ while (i < roots[0].length &&
75
+ new Set(roots.map((part) => part[i])).size === 1) {
76
+ i++;
77
+ }
78
+ return roots[0].slice(0, i).join("/");
79
+ }
80
+ export function getCommonDirectory(files) {
81
+ if (files.length === 1) {
82
+ return normalizePath(dirname(files[0]));
83
+ }
84
+ return getCommonPath(files);
85
+ }
86
+ export function deriveRootDir(globPaths) {
87
+ const globs = new MinimatchSet(globPaths).patterns;
88
+ const rootPaths = globs.flatMap((glob, i) => filterMap(glob.set, (set) => {
89
+ const stop = set.findIndex((part) => typeof part !== "string");
90
+ if (stop === -1) {
91
+ return globPaths[i];
92
+ }
93
+ else {
94
+ const kept = set.slice(0, stop).join("/");
95
+ return globPaths[i].substring(0, globPaths[i].indexOf(kept) + kept.length);
96
+ }
97
+ }));
98
+ return getCommonDirectory(rootPaths);
99
+ }
100
+ export function nicePath(absPath) {
101
+ if (!isAbsolute(absPath))
102
+ return absPath;
103
+ const relativePath = relative(process.cwd(), absPath);
104
+ if (relativePath.startsWith("..")) {
105
+ return normalizePath(absPath);
106
+ }
107
+ return `./${normalizePath(relativePath)}`;
108
+ }
109
+ /**
110
+ * Normalize the given path.
111
+ *
112
+ * @param path The path that should be normalized.
113
+ * @returns The normalized path.
114
+ */
115
+ export function normalizePath(path) {
116
+ if (process.platform === "win32") {
117
+ // Ensure forward slashes
118
+ path = path.replace(/\\/g, "/");
119
+ // Msys2 git on windows will give paths which use unix-style
120
+ // absolute paths, like /c/users/you. Since the rest of TypeDoc
121
+ // expects drive letters, convert it to that here.
122
+ path = path.replace(/^\/([a-zA-Z])\//, (_m, m1) => `${m1}:/`);
123
+ // Make Windows drive letters upper case
124
+ path = path.replace(/^([^:]+):\//, (_m, m1) => m1.toUpperCase() + ":/");
125
+ }
126
+ return path;
127
+ }
@@ -0,0 +1,6 @@
1
+ export declare function bench<T extends (..._: any) => any>(fn: T, name?: string): T;
2
+ declare function BenchField<T extends (..._: any) => any>(_value: undefined, context: ClassFieldDecoratorContext<unknown, T>): (value: T) => T;
3
+ declare function BenchMethod<T extends (..._: any) => any>(value: T, context: ClassMethodDecoratorContext): T;
4
+ export declare const Bench: typeof BenchField & typeof BenchMethod;
5
+ export declare function measure<T>(cb: () => T): T;
6
+ export {};
@@ -0,0 +1,86 @@
1
+ /* eslint-disable no-console */
2
+ const benchmarks = [];
3
+ export function bench(fn, name = fn.name) {
4
+ const matching = benchmarks.find((b) => b.name === name);
5
+ const timer = matching || {
6
+ name,
7
+ calls: 0,
8
+ time: 0,
9
+ };
10
+ if (!matching)
11
+ benchmarks.push(timer);
12
+ return function bench(...args) {
13
+ timer.calls++;
14
+ const start = performance.now();
15
+ const end = () => (timer.time += performance.now() - start);
16
+ let result;
17
+ try {
18
+ result = fn.apply(this, args);
19
+ }
20
+ catch (error) {
21
+ end();
22
+ throw error;
23
+ }
24
+ if (result instanceof Promise) {
25
+ result.then((res) => {
26
+ end();
27
+ return res;
28
+ }, (reason) => {
29
+ end();
30
+ throw reason;
31
+ });
32
+ }
33
+ else {
34
+ end();
35
+ }
36
+ return result;
37
+ };
38
+ }
39
+ function BenchField(_value, context) {
40
+ let runner;
41
+ return function (value) {
42
+ if (!runner) {
43
+ const className = context.static
44
+ ? this.name
45
+ : Object.getPrototypeOf(this).constructor.name;
46
+ runner = bench(value, `${className}.${String(context.name)}`);
47
+ }
48
+ return function (...args) {
49
+ return runner.apply(this, args);
50
+ };
51
+ };
52
+ }
53
+ function BenchMethod(value, context) {
54
+ let runner;
55
+ return function (...args) {
56
+ if (!runner) {
57
+ const className = context.static
58
+ ? this.name
59
+ : Object.getPrototypeOf(this).constructor.name;
60
+ runner = bench(value, `${className}.${String(context.name)}`);
61
+ }
62
+ return runner.apply(this, args);
63
+ };
64
+ }
65
+ export const Bench = (value, context) => {
66
+ if (context.kind === "field") {
67
+ return BenchField(value, context);
68
+ }
69
+ return BenchMethod(value, context);
70
+ };
71
+ export function measure(cb) {
72
+ return bench(cb, "measure()")();
73
+ }
74
+ process.on("exit", () => {
75
+ if (!benchmarks.length)
76
+ return;
77
+ const table = benchmarks.map((b) => {
78
+ return {
79
+ Benchmarked: b.name,
80
+ Calls: b.calls,
81
+ "Time (ms)": Math.round(b.time * 100) / 100,
82
+ "Average (ms)": Math.round((b.time / b.calls) * 100) / 100,
83
+ };
84
+ });
85
+ console.table(table);
86
+ });
@@ -0,0 +1,3 @@
1
+ import type { Application } from "../application.js";
2
+ import { type NormalizedPathOrModuleOrFunction } from "#utils";
3
+ export declare function loadPlugins(app: Application, plugins: readonly NormalizedPathOrModuleOrFunction[]): Promise<void>;
@@ -0,0 +1,61 @@
1
+ import { isAbsolute } from "path";
2
+ import { pathToFileURL } from "url";
3
+ import { nicePath } from "./paths.js";
4
+ import { i18n } from "#utils";
5
+ export async function loadPlugins(app, plugins) {
6
+ for (const plugin of plugins) {
7
+ const pluginDisplay = getPluginDisplayName(plugin);
8
+ try {
9
+ let initFunction;
10
+ if (typeof plugin === "function") {
11
+ initFunction = plugin;
12
+ }
13
+ else {
14
+ let instance;
15
+ // Try importing first to avoid warnings about requiring ESM being experimental.
16
+ // If that fails due to importing a directory, fall back to require.
17
+ try {
18
+ // On Windows, we need to ensure this path is a file path.
19
+ // Or we'll get ERR_UNSUPPORTED_ESM_URL_SCHEME
20
+ const esmPath = isAbsolute(plugin)
21
+ ? pathToFileURL(plugin).toString()
22
+ : plugin;
23
+ instance = await import(esmPath);
24
+ }
25
+ catch (error) {
26
+ if (error.code === "ERR_UNSUPPORTED_DIR_IMPORT") {
27
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
28
+ instance = require(plugin);
29
+ }
30
+ else {
31
+ throw error;
32
+ }
33
+ }
34
+ initFunction = instance.load;
35
+ }
36
+ if (typeof initFunction === "function") {
37
+ await initFunction(app);
38
+ app.logger.info(i18n.loaded_plugin_0(pluginDisplay));
39
+ }
40
+ else {
41
+ app.logger.error(i18n.invalid_plugin_0_missing_load_function(pluginDisplay));
42
+ }
43
+ }
44
+ catch (error) {
45
+ app.logger.error(i18n.plugin_0_could_not_be_loaded(pluginDisplay));
46
+ if (error instanceof Error && error.stack) {
47
+ app.logger.error(error.stack);
48
+ }
49
+ }
50
+ }
51
+ }
52
+ function getPluginDisplayName(plugin) {
53
+ if (typeof plugin === "function") {
54
+ return plugin.name || "function";
55
+ }
56
+ const path = nicePath(plugin);
57
+ if (path.startsWith("./node_modules/")) {
58
+ return path.substring("./node_modules/".length);
59
+ }
60
+ return plugin;
61
+ }
@@ -0,0 +1,5 @@
1
+ import { type ProjectReflection, type ReferenceType, Reflection } from "../models/index.js";
2
+ export declare function discoverAllReferenceTypes(project: ProjectReflection, forExportValidation: boolean): {
3
+ type: ReferenceType;
4
+ owner: Reflection;
5
+ }[];
@@ -0,0 +1,64 @@
1
+ import { ContainerReflection, DeclarationReflection, makeRecursiveVisitor, ParameterReflection, Reflection, SignatureReflection, TypeParameterReflection, } from "../models/index.js";
2
+ export function discoverAllReferenceTypes(project, forExportValidation) {
3
+ let current = project;
4
+ const queue = [];
5
+ const result = [];
6
+ const visitor = makeRecursiveVisitor({
7
+ reference(type) {
8
+ result.push({ type, owner: current });
9
+ },
10
+ reflection(type) {
11
+ queue.push(type.declaration);
12
+ },
13
+ });
14
+ const add = (item) => {
15
+ if (!item)
16
+ return;
17
+ if (item instanceof Reflection) {
18
+ queue.push(item);
19
+ }
20
+ else {
21
+ queue.push(...item);
22
+ }
23
+ };
24
+ do {
25
+ if (current instanceof ContainerReflection) {
26
+ add(current.children);
27
+ }
28
+ if (current instanceof DeclarationReflection) {
29
+ current.type?.visit(visitor);
30
+ add(current.typeParameters);
31
+ add(current.signatures);
32
+ add(current.indexSignatures);
33
+ add(current.getSignature);
34
+ add(current.setSignature);
35
+ current.overwrites?.visit(visitor);
36
+ current.implementedTypes?.forEach((type) => type.visit(visitor));
37
+ if (!forExportValidation) {
38
+ current.inheritedFrom?.visit(visitor);
39
+ current.implementationOf?.visit(visitor);
40
+ current.extendedTypes?.forEach((t) => t.visit(visitor));
41
+ current.extendedBy?.forEach((t) => t.visit(visitor));
42
+ current.implementedBy?.forEach((t) => t.visit(visitor));
43
+ }
44
+ }
45
+ if (current instanceof SignatureReflection) {
46
+ add(current.parameters);
47
+ add(current.typeParameters);
48
+ current.type?.visit(visitor);
49
+ current.overwrites?.visit(visitor);
50
+ if (!forExportValidation) {
51
+ current.inheritedFrom?.visit(visitor);
52
+ current.implementationOf?.visit(visitor);
53
+ }
54
+ }
55
+ if (current instanceof ParameterReflection) {
56
+ current.type?.visit(visitor);
57
+ }
58
+ if (current instanceof TypeParameterReflection) {
59
+ current.type?.visit(visitor);
60
+ current.default?.visit(visitor);
61
+ }
62
+ } while ((current = queue.shift()));
63
+ return result;
64
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Module which handles sorting reflections according to a user specified strategy.
3
+ * @module
4
+ */
5
+ import type { DeclarationReflection } from "../models/DeclarationReflection.js";
6
+ import type { Options } from "./options/index.js";
7
+ import type { DocumentReflection } from "../models/index.js";
8
+ export declare const SORT_STRATEGIES: readonly ["source-order", "alphabetical", "alphabetical-ignoring-documents", "enum-value-ascending", "enum-value-descending", "enum-member-source-order", "static-first", "instance-first", "visibility", "required-first", "kind", "external-last", "documents-first", "documents-last"];
9
+ export type SortStrategy = (typeof SORT_STRATEGIES)[number];
10
+ export declare function isValidSortStrategy(strategy: string): strategy is SortStrategy;
11
+ export declare function getSortFunction(opts: Options, strategies?: readonly SortStrategy[]): (reflections: (DeclarationReflection | DocumentReflection)[]) => void;