@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,417 @@
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 { TraverseProperty } from "./Reflection.js";
36
+ import { ContainerReflection } from "./ContainerReflection.js";
37
+ import { ReferenceReflection } from "./ReferenceReflection.js";
38
+ import { IntrinsicType, makeRecursiveVisitor } from "./types.js";
39
+ import { ReflectionKind } from "./kind.js";
40
+ import { Comment } from "./Comment.js";
41
+ import { ReflectionSymbolId } from "./ReflectionSymbolId.js";
42
+ import { assertNever, DefaultMap, i18n, NonEnumerable, removeIfPresent, StableKeyMap, } from "#utils";
43
+ // Keep this in sync with JSONOutput.SCHEMA_VERSION
44
+ export const JSON_SCHEMA_VERSION = "2.0";
45
+ /**
46
+ * A reflection that represents the root of the project.
47
+ *
48
+ * The project reflection acts as a global index, one may receive all reflections
49
+ * and source files of the processed project through this reflection.
50
+ * @category Reflections
51
+ */
52
+ let ProjectReflection = (() => {
53
+ let _classSuper = ContainerReflection;
54
+ let _symbolToReflectionIdMap_decorators;
55
+ let _symbolToReflectionIdMap_initializers = [];
56
+ let _symbolToReflectionIdMap_extraInitializers = [];
57
+ let _reflectionIdToSymbolIdMap_decorators;
58
+ let _reflectionIdToSymbolIdMap_initializers = [];
59
+ let _reflectionIdToSymbolIdMap_extraInitializers = [];
60
+ let _removedSymbolIds_decorators;
61
+ let _removedSymbolIds_initializers = [];
62
+ let _removedSymbolIds_extraInitializers = [];
63
+ let _referenceGraph_decorators;
64
+ let _referenceGraph_initializers = [];
65
+ let _referenceGraph_extraInitializers = [];
66
+ let _reflectionChildren_decorators;
67
+ let _reflectionChildren_initializers = [];
68
+ let _reflectionChildren_extraInitializers = [];
69
+ let _reflections_decorators;
70
+ let _reflections_initializers = [];
71
+ let _reflections_extraInitializers = [];
72
+ return class ProjectReflection extends _classSuper {
73
+ static {
74
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
75
+ _symbolToReflectionIdMap_decorators = [NonEnumerable];
76
+ _reflectionIdToSymbolIdMap_decorators = [NonEnumerable];
77
+ _removedSymbolIds_decorators = [NonEnumerable];
78
+ _referenceGraph_decorators = [NonEnumerable];
79
+ _reflectionChildren_decorators = [NonEnumerable];
80
+ _reflections_decorators = [NonEnumerable];
81
+ __esDecorate(null, null, _symbolToReflectionIdMap_decorators, { kind: "field", name: "symbolToReflectionIdMap", static: false, private: false, access: { has: obj => "symbolToReflectionIdMap" in obj, get: obj => obj.symbolToReflectionIdMap, set: (obj, value) => { obj.symbolToReflectionIdMap = value; } }, metadata: _metadata }, _symbolToReflectionIdMap_initializers, _symbolToReflectionIdMap_extraInitializers);
82
+ __esDecorate(null, null, _reflectionIdToSymbolIdMap_decorators, { kind: "field", name: "reflectionIdToSymbolIdMap", static: false, private: false, access: { has: obj => "reflectionIdToSymbolIdMap" in obj, get: obj => obj.reflectionIdToSymbolIdMap, set: (obj, value) => { obj.reflectionIdToSymbolIdMap = value; } }, metadata: _metadata }, _reflectionIdToSymbolIdMap_initializers, _reflectionIdToSymbolIdMap_extraInitializers);
83
+ __esDecorate(null, null, _removedSymbolIds_decorators, { kind: "field", name: "removedSymbolIds", static: false, private: false, access: { has: obj => "removedSymbolIds" in obj, get: obj => obj.removedSymbolIds, set: (obj, value) => { obj.removedSymbolIds = value; } }, metadata: _metadata }, _removedSymbolIds_initializers, _removedSymbolIds_extraInitializers);
84
+ __esDecorate(null, null, _referenceGraph_decorators, { kind: "field", name: "referenceGraph", static: false, private: false, access: { has: obj => "referenceGraph" in obj, get: obj => obj.referenceGraph, set: (obj, value) => { obj.referenceGraph = value; } }, metadata: _metadata }, _referenceGraph_initializers, _referenceGraph_extraInitializers);
85
+ __esDecorate(null, null, _reflectionChildren_decorators, { kind: "field", name: "reflectionChildren", static: false, private: false, access: { has: obj => "reflectionChildren" in obj, get: obj => obj.reflectionChildren, set: (obj, value) => { obj.reflectionChildren = value; } }, metadata: _metadata }, _reflectionChildren_initializers, _reflectionChildren_extraInitializers);
86
+ __esDecorate(null, null, _reflections_decorators, { kind: "field", name: "reflections", static: false, private: false, access: { has: obj => "reflections" in obj, get: obj => obj.reflections, set: (obj, value) => { obj.reflections = value; } }, metadata: _metadata }, _reflections_initializers, _reflections_extraInitializers);
87
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
88
+ }
89
+ variant = "project";
90
+ // Used to resolve references.
91
+ symbolToReflectionIdMap = __runInitializers(this, _symbolToReflectionIdMap_initializers, new StableKeyMap());
92
+ reflectionIdToSymbolIdMap = (__runInitializers(this, _symbolToReflectionIdMap_extraInitializers), __runInitializers(this, _reflectionIdToSymbolIdMap_initializers, new Map()));
93
+ removedSymbolIds = (__runInitializers(this, _reflectionIdToSymbolIdMap_extraInitializers), __runInitializers(this, _removedSymbolIds_initializers, new StableKeyMap()));
94
+ // Maps a reflection ID to all references eventually referring to it.
95
+ referenceGraph = (__runInitializers(this, _removedSymbolIds_extraInitializers), __runInitializers(this, _referenceGraph_initializers, void 0));
96
+ // Maps a reflection ID to all reflections with it as their parent.
97
+ reflectionChildren = (__runInitializers(this, _referenceGraph_extraInitializers), __runInitializers(this, _reflectionChildren_initializers, new DefaultMap(() => [])));
98
+ /**
99
+ * A list of all reflections within the project. DO NOT MUTATE THIS OBJECT.
100
+ * All mutation should be done via {@link registerReflection} and {@link removeReflection}
101
+ * to ensure that links to reflections remain valid.
102
+ *
103
+ * This may be replaced with a `Map<number, Reflection>` someday.
104
+ */
105
+ reflections = (__runInitializers(this, _reflectionChildren_extraInitializers), __runInitializers(this, _reflections_initializers, {}));
106
+ /**
107
+ * The name of the package that this reflection documents according to package.json.
108
+ */
109
+ packageName = __runInitializers(this, _reflections_extraInitializers);
110
+ /**
111
+ * The version of the package that this reflection documents according to package.json.
112
+ */
113
+ packageVersion;
114
+ /**
115
+ * The contents of the readme.md file of the project when found.
116
+ */
117
+ readme;
118
+ /**
119
+ * Object which describes where to find content for relative links.
120
+ */
121
+ files;
122
+ constructor(name, registry) {
123
+ super(name, ReflectionKind.Project);
124
+ this.reflections[this.id] = this;
125
+ this.files = registry;
126
+ }
127
+ /**
128
+ * Return whether this reflection is the root / project reflection.
129
+ */
130
+ isProject() {
131
+ return true;
132
+ }
133
+ /**
134
+ * Return a list of all reflections in this project of a certain kind.
135
+ *
136
+ * @param kind The desired kind of reflection.
137
+ * @returns An array containing all reflections with the desired kind.
138
+ */
139
+ getReflectionsByKind(kind) {
140
+ return Object.values(this.reflections).filter((reflection) => reflection.kindOf(kind));
141
+ }
142
+ /**
143
+ * Registers the given reflection so that it can be quickly looked up by helper methods.
144
+ * Should be called for *every* reflection added to the project.
145
+ *
146
+ * Note: During conversion, `Context.registerReflection` should be used instead so
147
+ * that symbols can be saved for later use.
148
+ */
149
+ registerReflection(reflection, id, filePath) {
150
+ this.referenceGraph = undefined;
151
+ if (reflection.parent) {
152
+ this.reflectionChildren
153
+ .get(reflection.parent.id)
154
+ .push(reflection.id);
155
+ }
156
+ this.reflections[reflection.id] = reflection;
157
+ if (id) {
158
+ this.registerSymbolId(reflection, id);
159
+ }
160
+ if (filePath) {
161
+ this.files.registerReflection(filePath, reflection);
162
+ }
163
+ }
164
+ /**
165
+ * Removes references to reflections contained within the provided type.
166
+ * Plugins which overwrite types on reflections should pass the type to this
167
+ * method before overwriting the property.
168
+ * @since 0.26.6
169
+ */
170
+ removeTypeReflections(type) {
171
+ type?.visit(makeRecursiveVisitor({
172
+ reflection: (type) => {
173
+ this.removeReflection(type.declaration);
174
+ },
175
+ }));
176
+ }
177
+ /**
178
+ * Removes a reflection from the documentation. Can be used by plugins to filter reflections
179
+ * out of the generated documentation. Has no effect if the reflection is not present in the
180
+ * project.
181
+ */
182
+ removeReflection(reflection) {
183
+ // Remove the reflection...
184
+ this._removeReflection(reflection);
185
+ // And now try to remove references to it in the parent reflection.
186
+ // This might not find anything if someone called removeReflection on a member of a union
187
+ // but I think that could only be caused by a plugin doing something weird, not by a regular
188
+ // user... so this is probably good enough for now. Reflections that live on types are
189
+ // kind of half-real anyways.
190
+ const parent = reflection.parent;
191
+ parent?.traverse((child, property) => {
192
+ if (child !== reflection) {
193
+ return true; // Continue iteration
194
+ }
195
+ switch (property) {
196
+ case TraverseProperty.Children:
197
+ case TraverseProperty.Documents:
198
+ parent.removeChild(reflection);
199
+ break;
200
+ case TraverseProperty.GetSignature:
201
+ delete parent.getSignature;
202
+ break;
203
+ case TraverseProperty.IndexSignature:
204
+ removeIfPresent(parent.indexSignatures, reflection);
205
+ if (!parent.indexSignatures?.length) {
206
+ delete parent.indexSignatures;
207
+ }
208
+ break;
209
+ case TraverseProperty.Parameters:
210
+ removeIfPresent(reflection.parent.parameters, reflection);
211
+ if (!reflection.parent.parameters
212
+ ?.length) {
213
+ delete reflection.parent
214
+ .parameters;
215
+ }
216
+ break;
217
+ case TraverseProperty.SetSignature:
218
+ delete parent.setSignature;
219
+ break;
220
+ case TraverseProperty.Signatures:
221
+ removeIfPresent(parent.signatures, reflection);
222
+ if (!parent.signatures?.length) {
223
+ delete parent.signatures;
224
+ }
225
+ break;
226
+ case TraverseProperty.TypeLiteral:
227
+ parent.type = new IntrinsicType("Object");
228
+ break;
229
+ case TraverseProperty.TypeParameter:
230
+ removeIfPresent(parent.typeParameters, reflection);
231
+ if (!parent.typeParameters?.length) {
232
+ delete parent.typeParameters;
233
+ }
234
+ break;
235
+ default:
236
+ assertNever(property);
237
+ }
238
+ return false; // Stop iteration
239
+ });
240
+ }
241
+ /** @internal */
242
+ mergeReflections(source, target) {
243
+ // First, tell the children about their new parent
244
+ delete this.referenceGraph;
245
+ const oldChildrenIds = this.reflectionChildren.getNoInsert(source.id) || [];
246
+ const newChildren = this.reflectionChildren.get(target.id);
247
+ for (const childId of oldChildrenIds) {
248
+ const childRefl = this.getReflectionById(childId);
249
+ // To avoid conflicting with some plugins which do this surgery somewhat incorrectly
250
+ // (typedoc-plugin-merge-modules and likely others I'm not aware of) only move children
251
+ // which are still children
252
+ if (childRefl?.parent === source) {
253
+ childRefl.parent = target;
254
+ newChildren.push(childId);
255
+ target.addChild(childRefl);
256
+ }
257
+ }
258
+ // Then remove the now-empty parent
259
+ this.reflectionChildren.delete(source.id);
260
+ this.removeReflection(source);
261
+ // And remove any outdated collections of children on the new parent.
262
+ // So long as this is used before REVIVE(-100) or EVENT_BEGIN_RESOLVE(-100)
263
+ // this will make the appropriate plugin rebuild the lists.
264
+ delete target.groups;
265
+ delete target.categories;
266
+ }
267
+ /**
268
+ * Remove a reflection without updating the parent reflection to remove references to the removed reflection.
269
+ */
270
+ _removeReflection(reflection) {
271
+ this.files.removeReflection(reflection);
272
+ // Remove references pointing to this reflection
273
+ const graph = this.getReferenceGraph();
274
+ for (const id of graph.get(reflection.id) ?? []) {
275
+ const ref = this.getReflectionById(id);
276
+ if (ref) {
277
+ this.removeReflection(ref);
278
+ }
279
+ }
280
+ graph.delete(reflection.id);
281
+ // Remove children of this reflection
282
+ for (const childId of this.reflectionChildren.getNoInsert(reflection.id) || []) {
283
+ const child = this.getReflectionById(childId);
284
+ // Only remove if the child's parent is still actually this reflection.
285
+ // This might not be the case if a plugin has moved this reflection to another parent.
286
+ // (typedoc-plugin-merge-modules)
287
+ if (child?.parent === reflection) {
288
+ this._removeReflection(child);
289
+ }
290
+ }
291
+ this.reflectionChildren.delete(reflection.id);
292
+ // Remove references from the TS symbol to this reflection.
293
+ const symbolId = this.reflectionIdToSymbolIdMap.get(reflection.id);
294
+ if (symbolId) {
295
+ const saved = this.symbolToReflectionIdMap.get(symbolId);
296
+ if (saved === reflection.id) {
297
+ this.symbolToReflectionIdMap.delete(symbolId);
298
+ this.removedSymbolIds.set(symbolId, true);
299
+ }
300
+ else if (typeof saved === "object") {
301
+ removeIfPresent(saved, reflection.id);
302
+ if (saved.length === 0) {
303
+ this.removedSymbolIds.set(symbolId, true);
304
+ }
305
+ }
306
+ }
307
+ this.reflectionIdToSymbolIdMap.delete(reflection.id);
308
+ delete this.reflections[reflection.id];
309
+ }
310
+ /**
311
+ * Gets the reflection registered for the given reflection ID, or undefined if it is not present
312
+ * in the project.
313
+ */
314
+ getReflectionById(id) {
315
+ return this.reflections[id];
316
+ }
317
+ /**
318
+ * Gets the reflection associated with the given symbol id, if it exists.
319
+ * If there are multiple reflections associated with this symbol, gets the first one.
320
+ * @internal
321
+ */
322
+ getReflectionFromSymbolId(symbolId) {
323
+ return this.getReflectionsFromSymbolId(symbolId)[0];
324
+ }
325
+ /** @internal */
326
+ getReflectionsFromSymbolId(symbolId) {
327
+ const id = this.symbolToReflectionIdMap.get(symbolId);
328
+ if (typeof id === "number") {
329
+ return [this.getReflectionById(id)];
330
+ }
331
+ else if (typeof id === "object") {
332
+ return id.map((id) => this.getReflectionById(id));
333
+ }
334
+ return [];
335
+ }
336
+ /** @internal */
337
+ getSymbolIdFromReflection(reflection) {
338
+ return this.reflectionIdToSymbolIdMap.get(reflection.id);
339
+ }
340
+ /** @internal */
341
+ registerSymbolId(reflection, id) {
342
+ this.removedSymbolIds.delete(id);
343
+ this.reflectionIdToSymbolIdMap.set(reflection.id, id);
344
+ const previous = this.symbolToReflectionIdMap.get(id);
345
+ if (typeof previous !== "undefined") {
346
+ if (typeof previous === "number") {
347
+ this.symbolToReflectionIdMap.set(id, [previous, reflection.id]);
348
+ }
349
+ else {
350
+ previous.push(reflection.id);
351
+ }
352
+ }
353
+ else {
354
+ this.symbolToReflectionIdMap.set(id, reflection.id);
355
+ }
356
+ }
357
+ symbolIdHasBeenRemoved(id) {
358
+ return this.removedSymbolIds.has(id);
359
+ }
360
+ getReferenceGraph() {
361
+ if (!this.referenceGraph) {
362
+ this.referenceGraph = new Map();
363
+ for (const id in this.reflections) {
364
+ const ref = this.reflections[id];
365
+ if (ref instanceof ReferenceReflection) {
366
+ const target = ref.tryGetTargetReflection();
367
+ if (target) {
368
+ const refs = this.referenceGraph.get(target.id) ?? [];
369
+ refs.push(ref.id);
370
+ this.referenceGraph.set(target.id, refs);
371
+ }
372
+ }
373
+ }
374
+ }
375
+ return this.referenceGraph;
376
+ }
377
+ toObject(serializer) {
378
+ const symbolIdMap = {};
379
+ this.reflectionIdToSymbolIdMap.forEach((sid, id) => {
380
+ symbolIdMap[id] = sid.toObject();
381
+ });
382
+ return {
383
+ schemaVersion: JSON_SCHEMA_VERSION,
384
+ ...super.toObject(serializer),
385
+ variant: this.variant,
386
+ packageName: this.packageName,
387
+ packageVersion: this.packageVersion,
388
+ readme: Comment.serializeDisplayParts(this.readme),
389
+ symbolIdMap,
390
+ files: serializer.toObject(this.files),
391
+ };
392
+ }
393
+ fromObject(de, obj) {
394
+ super.fromObject(de, obj);
395
+ // If updating this, also check the block in DeclarationReflection.fromObject.
396
+ this.packageName = obj.packageName;
397
+ this.packageVersion = obj.packageVersion;
398
+ if (obj.readme) {
399
+ this.readme = Comment.deserializeDisplayParts(de, obj.readme);
400
+ }
401
+ this.files.fromObject(de, obj.files || {});
402
+ de.defer(() => {
403
+ // Unnecessary conditional in release
404
+ for (const [id, sid] of Object.entries(obj.symbolIdMap || {})) {
405
+ const refl = this.getReflectionById(de.oldIdToNewId[+id] ?? -1);
406
+ if (refl) {
407
+ this.registerSymbolId(refl, new ReflectionSymbolId(sid));
408
+ }
409
+ else {
410
+ de.logger.warn(i18n.serialized_project_referenced_0_not_part_of_project(id));
411
+ }
412
+ }
413
+ });
414
+ }
415
+ };
416
+ })();
417
+ export { ProjectReflection };
@@ -0,0 +1,49 @@
1
+ import { DeclarationReflection } from "./DeclarationReflection.js";
2
+ import type { Deserializer, JSONOutput, Serializer } from "#serialization";
3
+ import type { Reflection } from "./Reflection.js";
4
+ /**
5
+ * Describes a reflection which does not exist at this location, but is referenced. Used for imported reflections.
6
+ *
7
+ * ```ts
8
+ * // a.ts
9
+ * export const a = 1;
10
+ * // b.ts
11
+ * import { a } from './a';
12
+ * // Here to avoid extra work we create a reference to the original reflection in module a instead
13
+ * // of copying the reflection.
14
+ * export { a };
15
+ * ```
16
+ * @category Reflections
17
+ */
18
+ export declare class ReferenceReflection extends DeclarationReflection {
19
+ readonly variant = "reference";
20
+ private _target;
21
+ /**
22
+ * Creates a reference reflection. Should only be used within the factory function.
23
+ * @internal
24
+ */
25
+ constructor(name: string, reflection: Reflection, parent?: Reflection);
26
+ /**
27
+ * Tries to get the reflection that is referenced. This may be another reference reflection.
28
+ * To fully resolve any references, use {@link tryGetTargetReflectionDeep}.
29
+ */
30
+ tryGetTargetReflection(): Reflection | undefined;
31
+ /**
32
+ * Tries to get the reflection that is referenced, this will fully resolve references.
33
+ * To only resolve one reference, use {@link tryGetTargetReflection}.
34
+ */
35
+ tryGetTargetReflectionDeep(): Reflection | undefined;
36
+ /**
37
+ * Gets the reflection that is referenced. This may be another reference reflection.
38
+ * To fully resolve any references, use {@link getTargetReflectionDeep}.
39
+ */
40
+ getTargetReflection(): Reflection;
41
+ /**
42
+ * Gets the reflection that is referenced, this will fully resolve references.
43
+ * To only resolve one reference, use {@link getTargetReflection}.
44
+ */
45
+ getTargetReflectionDeep(): Reflection;
46
+ getChildByName(arg: string | string[]): Reflection | undefined;
47
+ toObject(serializer: Serializer): JSONOutput.ReferenceReflection;
48
+ fromObject(de: Deserializer, obj: JSONOutput.ReferenceReflection): void;
49
+ }
@@ -0,0 +1,85 @@
1
+ import { DeclarationReflection } from "./DeclarationReflection.js";
2
+ import { ReflectionKind } from "./kind.js";
3
+ /**
4
+ * Describes a reflection which does not exist at this location, but is referenced. Used for imported reflections.
5
+ *
6
+ * ```ts
7
+ * // a.ts
8
+ * export const a = 1;
9
+ * // b.ts
10
+ * import { a } from './a';
11
+ * // Here to avoid extra work we create a reference to the original reflection in module a instead
12
+ * // of copying the reflection.
13
+ * export { a };
14
+ * ```
15
+ * @category Reflections
16
+ */
17
+ export class ReferenceReflection extends DeclarationReflection {
18
+ variant = "reference";
19
+ _target;
20
+ /**
21
+ * Creates a reference reflection. Should only be used within the factory function.
22
+ * @internal
23
+ */
24
+ constructor(name, reflection, parent) {
25
+ super(name, ReflectionKind.Reference, parent);
26
+ this._target = reflection.id;
27
+ }
28
+ /**
29
+ * Tries to get the reflection that is referenced. This may be another reference reflection.
30
+ * To fully resolve any references, use {@link tryGetTargetReflectionDeep}.
31
+ */
32
+ tryGetTargetReflection() {
33
+ return this.project.getReflectionById(this._target);
34
+ }
35
+ /**
36
+ * Tries to get the reflection that is referenced, this will fully resolve references.
37
+ * To only resolve one reference, use {@link tryGetTargetReflection}.
38
+ */
39
+ tryGetTargetReflectionDeep() {
40
+ let result = this.tryGetTargetReflection();
41
+ while (result instanceof ReferenceReflection) {
42
+ result = result.tryGetTargetReflection();
43
+ }
44
+ return result;
45
+ }
46
+ /**
47
+ * Gets the reflection that is referenced. This may be another reference reflection.
48
+ * To fully resolve any references, use {@link getTargetReflectionDeep}.
49
+ */
50
+ getTargetReflection() {
51
+ const target = this.tryGetTargetReflection();
52
+ if (!target) {
53
+ throw new Error("Reference was unresolved.");
54
+ }
55
+ return target;
56
+ }
57
+ /**
58
+ * Gets the reflection that is referenced, this will fully resolve references.
59
+ * To only resolve one reference, use {@link getTargetReflection}.
60
+ */
61
+ getTargetReflectionDeep() {
62
+ let result = this.getTargetReflection();
63
+ while (result instanceof ReferenceReflection) {
64
+ result = result.getTargetReflection();
65
+ }
66
+ return result;
67
+ }
68
+ getChildByName(arg) {
69
+ return this.getTargetReflection().getChildByName(arg);
70
+ }
71
+ toObject(serializer) {
72
+ return {
73
+ ...super.toObject(serializer),
74
+ variant: this.variant,
75
+ target: this.tryGetTargetReflection()?.id ?? -1,
76
+ };
77
+ }
78
+ fromObject(de, obj) {
79
+ super.fromObject(de, obj);
80
+ de.defer((project) => {
81
+ this._target = project.getReflectionById(de.oldIdToNewId[obj.target] ?? -1)
82
+ ?.id ?? -1;
83
+ });
84
+ }
85
+ }