typedoc 0.23.26 → 0.24.0-beta.2

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 (436) hide show
  1. package/bin/typedoc +1 -130
  2. package/dist/index.d.ts +2 -3
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +2 -1
  5. package/dist/index.js.map +1 -0
  6. package/dist/lib/application-events.d.ts +1 -0
  7. package/dist/lib/application-events.d.ts.map +1 -0
  8. package/dist/lib/application-events.js +1 -0
  9. package/dist/lib/application-events.js.map +1 -0
  10. package/dist/lib/application.d.ts +25 -10
  11. package/dist/lib/application.d.ts.map +1 -0
  12. package/dist/lib/application.js +126 -51
  13. package/dist/lib/application.js.map +1 -0
  14. package/dist/lib/cli.d.ts +1 -0
  15. package/dist/lib/cli.d.ts.map +1 -0
  16. package/dist/lib/cli.js +129 -0
  17. package/dist/lib/cli.js.map +1 -0
  18. package/dist/lib/converter/comments/blockLexer.d.ts.map +1 -0
  19. package/dist/lib/converter/comments/blockLexer.js.map +1 -0
  20. package/dist/lib/converter/comments/declarationReference.d.ts.map +1 -0
  21. package/dist/lib/converter/comments/declarationReference.js.map +1 -0
  22. package/dist/lib/converter/comments/declarationReferenceResolver.d.ts.map +1 -0
  23. package/dist/lib/converter/comments/declarationReferenceResolver.js +11 -5
  24. package/dist/lib/converter/comments/declarationReferenceResolver.js.map +1 -0
  25. package/dist/lib/converter/comments/discovery.d.ts.map +1 -0
  26. package/dist/lib/converter/comments/discovery.js.map +1 -0
  27. package/dist/lib/converter/comments/index.d.ts.map +1 -0
  28. package/dist/lib/converter/comments/index.js.map +1 -0
  29. package/dist/lib/converter/comments/lexer.d.ts.map +1 -0
  30. package/dist/lib/converter/comments/lexer.js.map +1 -0
  31. package/dist/lib/converter/comments/lineLexer.d.ts.map +1 -0
  32. package/dist/lib/converter/comments/lineLexer.js.map +1 -0
  33. package/dist/lib/converter/comments/linkResolver.d.ts +2 -3
  34. package/dist/lib/converter/comments/linkResolver.d.ts.map +1 -0
  35. package/dist/lib/converter/comments/linkResolver.js +12 -127
  36. package/dist/lib/converter/comments/linkResolver.js.map +1 -0
  37. package/dist/lib/converter/comments/parser.d.ts.map +1 -0
  38. package/dist/lib/converter/comments/parser.js.map +1 -0
  39. package/dist/lib/converter/comments/rawLexer.d.ts.map +1 -0
  40. package/dist/lib/converter/comments/rawLexer.js.map +1 -0
  41. package/dist/lib/converter/components.d.ts.map +1 -0
  42. package/dist/lib/converter/components.js.map +1 -0
  43. package/dist/lib/converter/context.d.ts.map +1 -0
  44. package/dist/lib/converter/context.js +2 -9
  45. package/dist/lib/converter/context.js.map +1 -0
  46. package/dist/lib/converter/convert-expression.d.ts.map +1 -0
  47. package/dist/lib/converter/convert-expression.js.map +1 -0
  48. package/dist/lib/converter/converter-events.d.ts.map +1 -0
  49. package/dist/lib/converter/converter-events.js.map +1 -0
  50. package/dist/lib/converter/converter.d.ts.map +1 -0
  51. package/dist/lib/converter/converter.js +4 -12
  52. package/dist/lib/converter/converter.js.map +1 -0
  53. package/dist/lib/converter/factories/index-signature.d.ts.map +1 -0
  54. package/dist/lib/converter/factories/index-signature.js.map +1 -0
  55. package/dist/lib/converter/factories/signature.d.ts +1 -1
  56. package/dist/lib/converter/factories/signature.d.ts.map +1 -0
  57. package/dist/lib/converter/factories/signature.js +24 -17
  58. package/dist/lib/converter/factories/signature.js.map +1 -0
  59. package/dist/lib/converter/index.d.ts.map +1 -0
  60. package/dist/lib/converter/index.js.map +1 -0
  61. package/dist/lib/converter/jsdoc.d.ts.map +1 -0
  62. package/dist/lib/converter/jsdoc.js +2 -0
  63. package/dist/lib/converter/jsdoc.js.map +1 -0
  64. package/dist/lib/converter/plugins/CategoryPlugin.d.ts.map +1 -0
  65. package/dist/lib/converter/plugins/CategoryPlugin.js.map +1 -0
  66. package/dist/lib/converter/plugins/CommentPlugin.d.ts.map +1 -0
  67. package/dist/lib/converter/plugins/CommentPlugin.js +3 -9
  68. package/dist/lib/converter/plugins/CommentPlugin.js.map +1 -0
  69. package/dist/lib/converter/plugins/GroupPlugin.d.ts +1 -39
  70. package/dist/lib/converter/plugins/GroupPlugin.d.ts.map +1 -0
  71. package/dist/lib/converter/plugins/GroupPlugin.js +3 -61
  72. package/dist/lib/converter/plugins/GroupPlugin.js.map +1 -0
  73. package/dist/lib/converter/plugins/ImplementsPlugin.d.ts +1 -4
  74. package/dist/lib/converter/plugins/ImplementsPlugin.d.ts.map +1 -0
  75. package/dist/lib/converter/plugins/ImplementsPlugin.js +20 -19
  76. package/dist/lib/converter/plugins/ImplementsPlugin.js.map +1 -0
  77. package/dist/lib/converter/plugins/InheritDocPlugin.d.ts +0 -3
  78. package/dist/lib/converter/plugins/InheritDocPlugin.d.ts.map +1 -0
  79. package/dist/lib/converter/plugins/InheritDocPlugin.js +6 -7
  80. package/dist/lib/converter/plugins/InheritDocPlugin.js.map +1 -0
  81. package/dist/lib/converter/plugins/LinkResolverPlugin.d.ts +2 -3
  82. package/dist/lib/converter/plugins/LinkResolverPlugin.d.ts.map +1 -0
  83. package/dist/lib/converter/plugins/LinkResolverPlugin.js +12 -10
  84. package/dist/lib/converter/plugins/LinkResolverPlugin.js.map +1 -0
  85. package/dist/lib/converter/plugins/PackagePlugin.d.ts +6 -14
  86. package/dist/lib/converter/plugins/PackagePlugin.d.ts.map +1 -0
  87. package/dist/lib/converter/plugins/PackagePlugin.js +47 -54
  88. package/dist/lib/converter/plugins/PackagePlugin.js.map +1 -0
  89. package/dist/lib/converter/plugins/SourcePlugin.d.ts.map +1 -0
  90. package/dist/lib/converter/plugins/SourcePlugin.js +5 -0
  91. package/dist/lib/converter/plugins/SourcePlugin.js.map +1 -0
  92. package/dist/lib/converter/plugins/TypePlugin.d.ts +4 -10
  93. package/dist/lib/converter/plugins/TypePlugin.d.ts.map +1 -0
  94. package/dist/lib/converter/plugins/TypePlugin.js +23 -13
  95. package/dist/lib/converter/plugins/TypePlugin.js.map +1 -0
  96. package/dist/lib/converter/plugins/index.d.ts.map +1 -0
  97. package/dist/lib/converter/plugins/index.js.map +1 -0
  98. package/dist/lib/converter/symbols.d.ts.map +1 -0
  99. package/dist/lib/converter/symbols.js +11 -12
  100. package/dist/lib/converter/symbols.js.map +1 -0
  101. package/dist/lib/converter/types.d.ts.map +1 -0
  102. package/dist/lib/converter/types.js +9 -6
  103. package/dist/lib/converter/types.js.map +1 -0
  104. package/dist/lib/converter/utils/base-path.d.ts.map +1 -0
  105. package/dist/lib/converter/utils/base-path.js.map +1 -0
  106. package/dist/lib/converter/utils/nodes.d.ts.map +1 -0
  107. package/dist/lib/converter/utils/nodes.js.map +1 -0
  108. package/dist/lib/converter/utils/reflections.d.ts.map +1 -0
  109. package/dist/lib/converter/utils/reflections.js.map +1 -0
  110. package/dist/lib/converter/utils/repository.d.ts.map +1 -0
  111. package/dist/lib/converter/utils/repository.js.map +1 -0
  112. package/dist/lib/converter/utils/symbols.d.ts.map +1 -0
  113. package/dist/lib/converter/utils/symbols.js.map +1 -0
  114. package/dist/lib/models/ReflectionCategory.d.ts +2 -1
  115. package/dist/lib/models/ReflectionCategory.d.ts.map +1 -0
  116. package/dist/lib/models/ReflectionCategory.js +12 -0
  117. package/dist/lib/models/ReflectionCategory.js.map +1 -0
  118. package/dist/lib/models/ReflectionGroup.d.ts +3 -2
  119. package/dist/lib/models/ReflectionGroup.d.ts.map +1 -0
  120. package/dist/lib/models/ReflectionGroup.js +20 -0
  121. package/dist/lib/models/ReflectionGroup.js.map +1 -0
  122. package/dist/lib/models/comments/comment.d.ts +12 -1
  123. package/dist/lib/models/comments/comment.d.ts.map +1 -0
  124. package/dist/lib/models/comments/comment.js +80 -17
  125. package/dist/lib/models/comments/comment.js.map +1 -0
  126. package/dist/lib/models/comments/index.d.ts.map +1 -0
  127. package/dist/lib/models/comments/index.js.map +1 -0
  128. package/dist/lib/models/index.d.ts.map +1 -0
  129. package/dist/lib/models/index.js.map +1 -0
  130. package/dist/lib/models/reflections/ReflectionSymbolId.d.ts +29 -0
  131. package/dist/lib/models/reflections/ReflectionSymbolId.d.ts.map +1 -0
  132. package/dist/lib/models/reflections/ReflectionSymbolId.js +94 -0
  133. package/dist/lib/models/reflections/ReflectionSymbolId.js.map +1 -0
  134. package/dist/lib/models/reflections/abstract.d.ts +12 -37
  135. package/dist/lib/models/reflections/abstract.d.ts.map +1 -0
  136. package/dist/lib/models/reflections/abstract.js +27 -35
  137. package/dist/lib/models/reflections/abstract.js.map +1 -0
  138. package/dist/lib/models/reflections/container.d.ts +6 -10
  139. package/dist/lib/models/reflections/container.d.ts.map +1 -0
  140. package/dist/lib/models/reflections/container.js +8 -1
  141. package/dist/lib/models/reflections/container.js.map +1 -0
  142. package/dist/lib/models/reflections/declaration.d.ts +18 -3
  143. package/dist/lib/models/reflections/declaration.d.ts.map +1 -0
  144. package/dist/lib/models/reflections/declaration.js +53 -0
  145. package/dist/lib/models/reflections/declaration.js.map +1 -0
  146. package/dist/lib/models/reflections/id.d.ts +30 -0
  147. package/dist/lib/models/reflections/id.d.ts.map +1 -0
  148. package/dist/lib/models/reflections/id.js +52 -0
  149. package/dist/lib/models/reflections/id.js.map +1 -0
  150. package/dist/lib/models/reflections/index.d.ts +2 -0
  151. package/dist/lib/models/reflections/index.d.ts.map +1 -0
  152. package/dist/lib/models/reflections/index.js +3 -1
  153. package/dist/lib/models/reflections/index.js.map +1 -0
  154. package/dist/lib/models/reflections/kind.d.ts +15 -1
  155. package/dist/lib/models/reflections/kind.d.ts.map +1 -0
  156. package/dist/lib/models/reflections/kind.js +43 -1
  157. package/dist/lib/models/reflections/kind.js.map +1 -0
  158. package/dist/lib/models/reflections/parameter.d.ts +3 -1
  159. package/dist/lib/models/reflections/parameter.d.ts.map +1 -0
  160. package/dist/lib/models/reflections/parameter.js +10 -0
  161. package/dist/lib/models/reflections/parameter.js.map +1 -0
  162. package/dist/lib/models/reflections/project.d.ts +32 -5
  163. package/dist/lib/models/reflections/project.d.ts.map +1 -0
  164. package/dist/lib/models/reflections/project.js +84 -20
  165. package/dist/lib/models/reflections/project.js.map +1 -0
  166. package/dist/lib/models/reflections/reference.d.ts +5 -9
  167. package/dist/lib/models/reflections/reference.d.ts.map +1 -0
  168. package/dist/lib/models/reflections/reference.js +13 -29
  169. package/dist/lib/models/reflections/reference.js.map +1 -0
  170. package/dist/lib/models/reflections/signature.d.ts +8 -1
  171. package/dist/lib/models/reflections/signature.d.ts.map +1 -0
  172. package/dist/lib/models/reflections/signature.js +14 -0
  173. package/dist/lib/models/reflections/signature.js.map +1 -0
  174. package/dist/lib/models/reflections/type-parameter.d.ts +6 -3
  175. package/dist/lib/models/reflections/type-parameter.d.ts.map +1 -0
  176. package/dist/lib/models/reflections/type-parameter.js +9 -3
  177. package/dist/lib/models/reflections/type-parameter.js.map +1 -0
  178. package/dist/lib/models/reflections/utils.d.ts.map +1 -0
  179. package/dist/lib/models/reflections/utils.js.map +1 -0
  180. package/dist/lib/models/reflections/variant.d.ts +18 -0
  181. package/dist/lib/models/reflections/variant.d.ts.map +1 -0
  182. package/dist/lib/models/reflections/variant.js +2 -0
  183. package/dist/lib/models/reflections/variant.js.map +1 -0
  184. package/dist/lib/models/sources/file.d.ts +2 -0
  185. package/dist/lib/models/sources/file.d.ts.map +1 -0
  186. package/dist/lib/models/sources/file.js +3 -0
  187. package/dist/lib/models/sources/file.js.map +1 -0
  188. package/dist/lib/models/sources/index.d.ts.map +1 -0
  189. package/dist/lib/models/sources/index.js.map +1 -0
  190. package/dist/lib/models/types.d.ts +23 -19
  191. package/dist/lib/models/types.d.ts.map +1 -0
  192. package/dist/lib/models/types.js +132 -33
  193. package/dist/lib/models/types.js.map +1 -0
  194. package/dist/lib/output/components.d.ts.map +1 -0
  195. package/dist/lib/output/components.js.map +1 -0
  196. package/dist/lib/output/events.d.ts.map +1 -0
  197. package/dist/lib/output/events.js.map +1 -0
  198. package/dist/lib/output/index.d.ts.map +1 -0
  199. package/dist/lib/output/index.js.map +1 -0
  200. package/dist/lib/output/models/UrlMapping.d.ts.map +1 -0
  201. package/dist/lib/output/models/UrlMapping.js.map +1 -0
  202. package/dist/lib/output/plugins/AssetsPlugin.d.ts.map +1 -0
  203. package/dist/lib/output/plugins/AssetsPlugin.js.map +1 -0
  204. package/dist/lib/output/plugins/JavascriptIndexPlugin.d.ts.map +1 -0
  205. package/dist/lib/output/plugins/JavascriptIndexPlugin.js +3 -7
  206. package/dist/lib/output/plugins/JavascriptIndexPlugin.js.map +1 -0
  207. package/dist/lib/output/plugins/index.d.ts.map +1 -0
  208. package/dist/lib/output/plugins/index.js.map +1 -0
  209. package/dist/lib/output/renderer.d.ts +21 -14
  210. package/dist/lib/output/renderer.d.ts.map +1 -0
  211. package/dist/lib/output/renderer.js +25 -25
  212. package/dist/lib/output/renderer.js.map +1 -0
  213. package/dist/lib/output/theme.d.ts.map +1 -0
  214. package/dist/lib/output/theme.js.map +1 -0
  215. package/dist/lib/output/themes/MarkedPlugin.d.ts.map +1 -0
  216. package/dist/lib/output/themes/MarkedPlugin.js +2 -3
  217. package/dist/lib/output/themes/MarkedPlugin.js.map +1 -0
  218. package/dist/lib/output/themes/default/DefaultTheme.d.ts +2 -20
  219. package/dist/lib/output/themes/default/DefaultTheme.d.ts.map +1 -0
  220. package/dist/lib/output/themes/default/DefaultTheme.js +4 -75
  221. package/dist/lib/output/themes/default/DefaultTheme.js.map +1 -0
  222. package/dist/lib/output/themes/default/DefaultThemeRenderContext.d.ts +9 -8
  223. package/dist/lib/output/themes/default/DefaultThemeRenderContext.d.ts.map +1 -0
  224. package/dist/lib/output/themes/default/DefaultThemeRenderContext.js +53 -0
  225. package/dist/lib/output/themes/default/DefaultThemeRenderContext.js.map +1 -0
  226. package/dist/lib/output/themes/default/layouts/default.d.ts.map +1 -0
  227. package/dist/lib/output/themes/default/layouts/default.js.map +1 -0
  228. package/dist/lib/output/themes/default/partials/analytics.d.ts.map +1 -0
  229. package/dist/lib/output/themes/default/partials/analytics.js.map +1 -0
  230. package/dist/lib/output/themes/default/partials/anchor-icon.d.ts.map +1 -0
  231. package/dist/lib/output/themes/default/partials/anchor-icon.js.map +1 -0
  232. package/dist/lib/output/themes/default/partials/breadcrumb.d.ts.map +1 -0
  233. package/dist/lib/output/themes/default/partials/breadcrumb.js.map +1 -0
  234. package/dist/lib/output/themes/default/partials/comment.d.ts.map +1 -0
  235. package/dist/lib/output/themes/default/partials/comment.js.map +1 -0
  236. package/dist/lib/output/themes/default/partials/footer.d.ts.map +1 -0
  237. package/dist/lib/output/themes/default/partials/footer.js.map +1 -0
  238. package/dist/lib/output/themes/default/partials/header.d.ts.map +1 -0
  239. package/dist/lib/output/themes/default/partials/header.js +2 -5
  240. package/dist/lib/output/themes/default/partials/header.js.map +1 -0
  241. package/dist/lib/output/themes/default/partials/hierarchy.d.ts.map +1 -0
  242. package/dist/lib/output/themes/default/partials/hierarchy.js.map +1 -0
  243. package/dist/lib/output/themes/default/partials/icon.d.ts.map +1 -0
  244. package/dist/lib/output/themes/default/partials/icon.js.map +1 -0
  245. package/dist/lib/output/themes/default/partials/index.d.ts.map +1 -0
  246. package/dist/lib/output/themes/default/partials/index.js +2 -2
  247. package/dist/lib/output/themes/default/partials/index.js.map +1 -0
  248. package/dist/lib/output/themes/default/partials/member.d.ts.map +1 -0
  249. package/dist/lib/output/themes/default/partials/member.declaration.d.ts.map +1 -0
  250. package/dist/lib/output/themes/default/partials/member.declaration.js.map +1 -0
  251. package/dist/lib/output/themes/default/partials/member.getterSetter.d.ts +2 -2
  252. package/dist/lib/output/themes/default/partials/member.getterSetter.d.ts.map +1 -0
  253. package/dist/lib/output/themes/default/partials/member.getterSetter.js +4 -1
  254. package/dist/lib/output/themes/default/partials/member.getterSetter.js.map +1 -0
  255. package/dist/lib/output/themes/default/partials/member.js +1 -1
  256. package/dist/lib/output/themes/default/partials/member.js.map +1 -0
  257. package/dist/lib/output/themes/default/partials/member.reference.d.ts.map +1 -0
  258. package/dist/lib/output/themes/default/partials/member.reference.js.map +1 -0
  259. package/dist/lib/output/themes/default/partials/member.signature.body.d.ts.map +1 -0
  260. package/dist/lib/output/themes/default/partials/member.signature.body.js.map +1 -0
  261. package/dist/lib/output/themes/default/partials/member.signature.title.d.ts.map +1 -0
  262. package/dist/lib/output/themes/default/partials/member.signature.title.js.map +1 -0
  263. package/dist/lib/output/themes/default/partials/member.signatures.d.ts.map +1 -0
  264. package/dist/lib/output/themes/default/partials/member.signatures.js +2 -1
  265. package/dist/lib/output/themes/default/partials/member.signatures.js.map +1 -0
  266. package/dist/lib/output/themes/default/partials/member.sources.d.ts.map +1 -0
  267. package/dist/lib/output/themes/default/partials/member.sources.js.map +1 -0
  268. package/dist/lib/output/themes/default/partials/members.d.ts +1 -1
  269. package/dist/lib/output/themes/default/partials/members.d.ts.map +1 -0
  270. package/dist/lib/output/themes/default/partials/members.group.d.ts.map +1 -0
  271. package/dist/lib/output/themes/default/partials/members.group.js.map +1 -0
  272. package/dist/lib/output/themes/default/partials/members.js +3 -1
  273. package/dist/lib/output/themes/default/partials/members.js.map +1 -0
  274. package/dist/lib/output/themes/default/partials/navigation.d.ts.map +1 -0
  275. package/dist/lib/output/themes/default/partials/navigation.js +6 -4
  276. package/dist/lib/output/themes/default/partials/navigation.js.map +1 -0
  277. package/dist/lib/output/themes/default/partials/parameter.d.ts.map +1 -0
  278. package/dist/lib/output/themes/default/partials/parameter.js +1 -1
  279. package/dist/lib/output/themes/default/partials/parameter.js.map +1 -0
  280. package/dist/lib/output/themes/default/partials/toolbar.d.ts.map +1 -0
  281. package/dist/lib/output/themes/default/partials/toolbar.js.map +1 -0
  282. package/dist/lib/output/themes/default/partials/type.d.ts.map +1 -0
  283. package/dist/lib/output/themes/default/partials/type.js +4 -4
  284. package/dist/lib/output/themes/default/partials/type.js.map +1 -0
  285. package/dist/lib/output/themes/default/partials/typeAndParent.d.ts.map +1 -0
  286. package/dist/lib/output/themes/default/partials/typeAndParent.js.map +1 -0
  287. package/dist/lib/output/themes/default/partials/typeParameters.d.ts.map +1 -0
  288. package/dist/lib/output/themes/default/partials/typeParameters.js.map +1 -0
  289. package/dist/lib/output/themes/default/templates/index.d.ts.map +1 -0
  290. package/dist/lib/output/themes/default/templates/index.js.map +1 -0
  291. package/dist/lib/output/themes/default/templates/reflection.d.ts.map +1 -0
  292. package/dist/lib/output/themes/default/templates/reflection.js +1 -1
  293. package/dist/lib/output/themes/default/templates/reflection.js.map +1 -0
  294. package/dist/lib/output/themes/lib.d.ts +1 -0
  295. package/dist/lib/output/themes/lib.d.ts.map +1 -0
  296. package/dist/lib/output/themes/lib.js +11 -3
  297. package/dist/lib/output/themes/lib.js.map +1 -0
  298. package/dist/lib/serialization/components.d.ts.map +1 -0
  299. package/dist/lib/serialization/components.js.map +1 -0
  300. package/dist/lib/serialization/deserializer.d.ts +54 -0
  301. package/dist/lib/serialization/deserializer.d.ts.map +1 -0
  302. package/dist/lib/serialization/deserializer.js +212 -0
  303. package/dist/lib/serialization/deserializer.js.map +1 -0
  304. package/dist/lib/serialization/events.d.ts +0 -15
  305. package/dist/lib/serialization/events.d.ts.map +1 -0
  306. package/dist/lib/serialization/events.js.map +1 -0
  307. package/dist/lib/serialization/index.d.ts +2 -3
  308. package/dist/lib/serialization/index.d.ts.map +1 -0
  309. package/dist/lib/serialization/index.js +4 -3
  310. package/dist/lib/serialization/index.js.map +1 -0
  311. package/dist/lib/serialization/schema.d.ts +23 -17
  312. package/dist/lib/serialization/schema.d.ts.map +1 -0
  313. package/dist/lib/serialization/schema.js.map +1 -0
  314. package/dist/lib/serialization/serializer.d.ts +5 -5
  315. package/dist/lib/serialization/serializer.d.ts.map +1 -0
  316. package/dist/lib/serialization/serializer.js +4 -15
  317. package/dist/lib/serialization/serializer.js.map +1 -0
  318. package/dist/lib/utils/array.d.ts +0 -1
  319. package/dist/lib/utils/array.d.ts.map +1 -0
  320. package/dist/lib/utils/array.js +1 -2
  321. package/dist/lib/utils/array.js.map +1 -0
  322. package/dist/lib/utils/component.d.ts.map +1 -0
  323. package/dist/lib/utils/component.js.map +1 -0
  324. package/dist/lib/utils/entry-point.d.ts +13 -2
  325. package/dist/lib/utils/entry-point.d.ts.map +1 -0
  326. package/dist/lib/utils/entry-point.js +37 -17
  327. package/dist/lib/utils/entry-point.js.map +1 -0
  328. package/dist/lib/utils/enum.d.ts +4 -1
  329. package/dist/lib/utils/enum.d.ts.map +1 -0
  330. package/dist/lib/utils/enum.js +2 -3
  331. package/dist/lib/utils/enum.js.map +1 -0
  332. package/dist/lib/utils/events.d.ts.map +1 -0
  333. package/dist/lib/utils/events.js.map +1 -0
  334. package/dist/lib/utils/fs.d.ts +3 -0
  335. package/dist/lib/utils/fs.d.ts.map +1 -0
  336. package/dist/lib/utils/fs.js +23 -1
  337. package/dist/lib/utils/fs.js.map +1 -0
  338. package/dist/lib/utils/general.d.ts.map +1 -0
  339. package/dist/lib/utils/general.js.map +1 -0
  340. package/dist/lib/utils/highlighter.d.ts.map +1 -0
  341. package/dist/lib/utils/highlighter.js.map +1 -0
  342. package/dist/lib/utils/hooks.d.ts.map +1 -0
  343. package/dist/lib/utils/hooks.js.map +1 -0
  344. package/dist/lib/utils/index.d.ts +4 -3
  345. package/dist/lib/utils/index.d.ts.map +1 -0
  346. package/dist/lib/utils/index.js +3 -3
  347. package/dist/lib/utils/index.js.map +1 -0
  348. package/dist/lib/utils/jsx.d.ts.map +1 -0
  349. package/dist/lib/utils/jsx.elements.d.ts.map +1 -0
  350. package/dist/lib/utils/jsx.elements.js.map +1 -0
  351. package/dist/lib/utils/jsx.js.map +1 -0
  352. package/dist/lib/utils/loggers.d.ts +4 -25
  353. package/dist/lib/utils/loggers.d.ts.map +1 -0
  354. package/dist/lib/utils/loggers.js +10 -34
  355. package/dist/lib/utils/loggers.js.map +1 -0
  356. package/dist/lib/utils/map.d.ts +17 -0
  357. package/dist/lib/utils/map.d.ts.map +1 -0
  358. package/dist/lib/utils/map.js +49 -1
  359. package/dist/lib/utils/map.js.map +1 -0
  360. package/dist/lib/utils/minimalSourceFile.d.ts.map +1 -0
  361. package/dist/lib/utils/minimalSourceFile.js.map +1 -0
  362. package/dist/lib/utils/options/declaration.d.ts +18 -3
  363. package/dist/lib/utils/options/declaration.d.ts.map +1 -0
  364. package/dist/lib/utils/options/declaration.js.map +1 -0
  365. package/dist/lib/utils/options/help.d.ts.map +1 -0
  366. package/dist/lib/utils/options/help.js +1 -1
  367. package/dist/lib/utils/options/help.js.map +1 -0
  368. package/dist/lib/utils/options/index.d.ts.map +1 -0
  369. package/dist/lib/utils/options/index.js.map +1 -0
  370. package/dist/lib/utils/options/options.d.ts +27 -18
  371. package/dist/lib/utils/options/options.d.ts.map +1 -0
  372. package/dist/lib/utils/options/options.js +68 -14
  373. package/dist/lib/utils/options/options.js.map +1 -0
  374. package/dist/lib/utils/options/readers/arguments.d.ts +2 -1
  375. package/dist/lib/utils/options/readers/arguments.d.ts.map +1 -0
  376. package/dist/lib/utils/options/readers/arguments.js +9 -2
  377. package/dist/lib/utils/options/readers/arguments.js.map +1 -0
  378. package/dist/lib/utils/options/readers/index.d.ts.map +1 -0
  379. package/dist/lib/utils/options/readers/index.js.map +1 -0
  380. package/dist/lib/utils/options/readers/tsconfig.d.ts +3 -7
  381. package/dist/lib/utils/options/readers/tsconfig.d.ts.map +1 -0
  382. package/dist/lib/utils/options/readers/tsconfig.js +12 -33
  383. package/dist/lib/utils/options/readers/tsconfig.js.map +1 -0
  384. package/dist/lib/utils/options/readers/typedoc.d.ts +3 -4
  385. package/dist/lib/utils/options/readers/typedoc.d.ts.map +1 -0
  386. package/dist/lib/utils/options/readers/typedoc.js +5 -6
  387. package/dist/lib/utils/options/readers/typedoc.js.map +1 -0
  388. package/dist/lib/utils/options/sources/index.d.ts.map +1 -0
  389. package/dist/lib/utils/options/sources/index.js.map +1 -0
  390. package/dist/lib/utils/options/sources/typedoc.d.ts.map +1 -0
  391. package/dist/lib/utils/options/sources/typedoc.js +8 -9
  392. package/dist/lib/utils/options/sources/typedoc.js.map +1 -0
  393. package/dist/lib/utils/options/tsdoc-defaults.d.ts.map +1 -0
  394. package/dist/lib/utils/options/tsdoc-defaults.js.map +1 -0
  395. package/dist/lib/utils/package-manifest.d.ts.map +1 -0
  396. package/dist/lib/utils/package-manifest.js +1 -2
  397. package/dist/lib/utils/package-manifest.js.map +1 -0
  398. package/dist/lib/utils/package.d.ts +13 -0
  399. package/dist/lib/utils/package.d.ts.map +1 -0
  400. package/dist/lib/utils/package.js +154 -0
  401. package/dist/lib/utils/package.js.map +1 -0
  402. package/dist/lib/utils/paths.d.ts.map +1 -0
  403. package/dist/lib/utils/paths.js +2 -0
  404. package/dist/lib/utils/paths.js.map +1 -0
  405. package/dist/lib/utils/perf.d.ts.map +1 -0
  406. package/dist/lib/utils/perf.js.map +1 -0
  407. package/dist/lib/utils/plugins.d.ts +1 -2
  408. package/dist/lib/utils/plugins.d.ts.map +1 -0
  409. package/dist/lib/utils/plugins.js +22 -106
  410. package/dist/lib/utils/plugins.js.map +1 -0
  411. package/dist/lib/utils/reflections.d.ts.map +1 -0
  412. package/dist/lib/utils/reflections.js.map +1 -0
  413. package/dist/lib/utils/sort.d.ts.map +1 -0
  414. package/dist/lib/utils/sort.js +8 -11
  415. package/dist/lib/utils/sort.js.map +1 -0
  416. package/dist/lib/utils/tsconfig.d.ts +4 -0
  417. package/dist/lib/utils/tsconfig.d.ts.map +1 -0
  418. package/dist/lib/utils/tsconfig.js +36 -0
  419. package/dist/lib/utils/tsconfig.js.map +1 -0
  420. package/dist/lib/utils/tsutils.d.ts +3 -2
  421. package/dist/lib/utils/tsutils.d.ts.map +1 -0
  422. package/dist/lib/utils/tsutils.js +46 -12
  423. package/dist/lib/utils/tsutils.js.map +1 -0
  424. package/dist/lib/utils/validation.d.ts.map +1 -0
  425. package/dist/lib/utils/validation.js.map +1 -0
  426. package/dist/lib/validation/documentation.d.ts +1 -1
  427. package/dist/lib/validation/documentation.d.ts.map +1 -0
  428. package/dist/lib/validation/documentation.js +5 -16
  429. package/dist/lib/validation/documentation.js.map +1 -0
  430. package/dist/lib/validation/exports.d.ts.map +1 -0
  431. package/dist/lib/validation/exports.js +18 -21
  432. package/dist/lib/validation/exports.js.map +1 -0
  433. package/dist/lib/validation/links.d.ts.map +1 -0
  434. package/dist/lib/validation/links.js +1 -1
  435. package/dist/lib/validation/links.js.map +1 -0
  436. package/package.json +3 -4
@@ -7,6 +7,9 @@ const reference_1 = require("./reference");
7
7
  const types_1 = require("../types");
8
8
  const utils_1 = require("../../utils");
9
9
  const kind_1 = require("./kind");
10
+ const comments_1 = require("../comments");
11
+ const ReflectionSymbolId_1 = require("./ReflectionSymbolId");
12
+ const map_1 = require("../../utils/map");
10
13
  /**
11
14
  * A reflection that represents the root of the project.
12
15
  *
@@ -16,8 +19,10 @@ const kind_1 = require("./kind");
16
19
  class ProjectReflection extends container_1.ContainerReflection {
17
20
  constructor(name) {
18
21
  super(name, kind_1.ReflectionKind.Project);
22
+ this.variant = "project";
19
23
  // Used to resolve references.
20
- this.symbolToReflectionIdMap = new Map();
24
+ this.symbolToReflectionIdMap = new map_1.StableKeyMap();
25
+ this.reflectionIdToSymbolIdMap = new Map();
21
26
  this.reflectionIdToSymbolMap = new Map();
22
27
  /**
23
28
  * A list of all reflections within the project. DO NOT MUTATE THIS OBJECT.
@@ -27,6 +32,7 @@ class ProjectReflection extends container_1.ContainerReflection {
27
32
  * This may be replaced with a `Map<number, Reflection>` someday.
28
33
  */
29
34
  this.reflections = {};
35
+ this.reflections[this.id] = this;
30
36
  }
31
37
  /**
32
38
  * Return whether this reflection is the root / project reflection.
@@ -44,21 +50,19 @@ class ProjectReflection extends container_1.ContainerReflection {
44
50
  return Object.values(this.reflections).filter((reflection) => reflection.kindOf(kind));
45
51
  }
46
52
  /**
47
- * When excludeNotExported is set, if a symbol is exported only under a different name
48
- * there will be a reference which points to the symbol, but the symbol will not be converted
49
- * and the rename will point to nothing. Warn the user if this happens.
53
+ * Disassociate this project with all TypeScript created objects, allowing the underlying
54
+ * `ts.Program` to be garbage collected. This is very important for monorepo projects where
55
+ * we need to create multiple programs. See #1606 and surrounding discussion.
50
56
  */
51
- removeDanglingReferences() {
52
- const dangling = new Set();
53
- for (const ref of Object.values(this.reflections)) {
54
- if (ref instanceof reference_1.ReferenceReflection) {
55
- if (!ref.tryGetTargetReflection()) {
56
- dangling.add(ref);
57
- }
58
- }
59
- }
60
- for (const refl of dangling) {
61
- this.removeReflection(refl);
57
+ forgetTsReferences() {
58
+ // Clear ts.Symbol references
59
+ this.reflectionIdToSymbolMap.clear();
60
+ // TODO: I think we need to do something like this.
61
+ // Update local references
62
+ this.symbolToReflectionIdMap.clear();
63
+ for (const [k, v] of this.reflectionIdToSymbolIdMap) {
64
+ v.pos = Infinity;
65
+ this.symbolToReflectionIdMap.set(v, k);
62
66
  }
63
67
  }
64
68
  /**
@@ -69,7 +73,9 @@ class ProjectReflection extends container_1.ContainerReflection {
69
73
  this.referenceGraph = undefined;
70
74
  this.reflections[reflection.id] = reflection;
71
75
  if (symbol) {
72
- this.symbolToReflectionIdMap.set(symbol, this.symbolToReflectionIdMap.get(symbol) ?? reflection.id);
76
+ const id = new ReflectionSymbolId_1.ReflectionSymbolId(symbol);
77
+ this.symbolToReflectionIdMap.set(id, this.symbolToReflectionIdMap.get(id) ?? reflection.id);
78
+ this.reflectionIdToSymbolIdMap.set(reflection.id, id);
73
79
  this.reflectionIdToSymbolMap.set(reflection.id, symbol);
74
80
  }
75
81
  }
@@ -120,10 +126,13 @@ class ProjectReflection extends container_1.ContainerReflection {
120
126
  return false; // Stop iteration
121
127
  });
122
128
  const symbol = this.reflectionIdToSymbolMap.get(reflection.id);
123
- if (symbol &&
124
- this.symbolToReflectionIdMap.get(symbol) === reflection.id) {
125
- this.symbolToReflectionIdMap.delete(symbol);
129
+ if (symbol) {
130
+ const id = new ReflectionSymbolId_1.ReflectionSymbolId(symbol);
131
+ if (this.symbolToReflectionIdMap.get(id) === reflection.id) {
132
+ this.symbolToReflectionIdMap.delete(id);
133
+ }
126
134
  }
135
+ this.reflectionIdToSymbolIdMap.delete(reflection.id);
127
136
  delete this.reflections[reflection.id];
128
137
  }
129
138
  /**
@@ -138,12 +147,33 @@ class ProjectReflection extends container_1.ContainerReflection {
138
147
  * @internal
139
148
  */
140
149
  getReflectionFromSymbol(symbol) {
141
- const id = this.symbolToReflectionIdMap.get(symbol);
150
+ return this.getReflectionFromSymbolId(new ReflectionSymbolId_1.ReflectionSymbolId(symbol));
151
+ }
152
+ /**
153
+ * Gets the reflection associated with the given symbol id, if it exists.
154
+ * @internal
155
+ */
156
+ getReflectionFromSymbolId(symbolId) {
157
+ const id = this.symbolToReflectionIdMap.get(symbolId);
142
158
  if (typeof id === "number") {
143
159
  return this.getReflectionById(id);
144
160
  }
145
161
  }
146
162
  /** @internal */
163
+ getSymbolIdFromReflection(reflection) {
164
+ return this.reflectionIdToSymbolIdMap.get(reflection.id);
165
+ }
166
+ /** @internal */
167
+ registerSymbolId(reflection, id) {
168
+ this.reflectionIdToSymbolIdMap.set(reflection.id, id);
169
+ if (!this.symbolToReflectionIdMap.has(id)) {
170
+ this.symbolToReflectionIdMap.set(id, reflection.id);
171
+ }
172
+ }
173
+ /**
174
+ * THIS MAY NOT BE USED AFTER CONVERSION HAS FINISHED.
175
+ * @internal
176
+ */
147
177
  getSymbolFromReflection(reflection) {
148
178
  return this.reflectionIdToSymbolMap.get(reflection.id);
149
179
  }
@@ -163,5 +193,39 @@ class ProjectReflection extends container_1.ContainerReflection {
163
193
  }
164
194
  return this.referenceGraph;
165
195
  }
196
+ toObject(serializer) {
197
+ const symbolIdMap = {};
198
+ this.reflectionIdToSymbolIdMap.forEach((sid, id) => {
199
+ symbolIdMap[id] = sid.toObject(serializer);
200
+ });
201
+ return {
202
+ ...super.toObject(serializer),
203
+ variant: this.variant,
204
+ packageName: this.packageName,
205
+ packageVersion: this.packageVersion,
206
+ readme: comments_1.Comment.serializeDisplayParts(this.readme),
207
+ symbolIdMap,
208
+ };
209
+ }
210
+ fromObject(de, obj) {
211
+ super.fromObject(de, obj);
212
+ // If updating this, also check the block in DeclarationReflection.fromObject.
213
+ this.packageName = obj.packageName;
214
+ this.packageVersion = obj.packageVersion;
215
+ if (obj.readme) {
216
+ this.readme = comments_1.Comment.deserializeDisplayParts(de, obj.readme);
217
+ }
218
+ de.defer(() => {
219
+ for (const [id, sid] of Object.entries(obj.symbolIdMap || {})) {
220
+ const refl = this.getReflectionById(de.oldIdToNewId[+id] ?? -1);
221
+ if (refl) {
222
+ this.registerSymbolId(refl, new ReflectionSymbolId_1.ReflectionSymbolId(sid));
223
+ }
224
+ else {
225
+ de.logger.warn(`Serialized project contained a reflection with id ${id} but it was not present in deserialized project.`);
226
+ }
227
+ }
228
+ });
229
+ }
166
230
  }
167
231
  exports.ProjectReflection = ProjectReflection;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../../../src/lib/models/reflections/project.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { Reflection } from "./abstract";
2
1
  import { DeclarationReflection } from "./declaration";
3
- import type { Serializer, JSONOutput } from "../../serialization";
2
+ import type { Serializer, JSONOutput, Deserializer } from "../../serialization";
3
+ import type { Reflection } from "./abstract";
4
4
  /**
5
5
  * Describes a reflection which does not exist at this location, but is referenced. Used for imported reflections.
6
6
  *
@@ -15,17 +15,13 @@ import type { Serializer, JSONOutput } from "../../serialization";
15
15
  * ```
16
16
  */
17
17
  export declare class ReferenceReflection extends DeclarationReflection {
18
+ readonly variant = "reference";
18
19
  private _target;
19
- private _project?;
20
20
  /**
21
21
  * Creates a reference reflection. Should only be used within the factory function.
22
- * @param name
23
- * @param state
24
- * @param parent
25
- *
26
22
  * @internal
27
23
  */
28
- constructor(name: string, state: ReferenceReflection["_target"], parent?: Reflection);
24
+ constructor(name: string, reflection: Reflection, parent?: Reflection);
29
25
  /**
30
26
  * Tries to get the reflection that is referenced. This may be another reference reflection.
31
27
  * To fully resolve any references, use {@link tryGetTargetReflectionDeep}.
@@ -47,6 +43,6 @@ export declare class ReferenceReflection extends DeclarationReflection {
47
43
  */
48
44
  getTargetReflectionDeep(): Reflection;
49
45
  getChildByName(arg: string | string[]): Reflection | undefined;
50
- private _ensureProject;
51
46
  toObject(serializer: Serializer): JSONOutput.ReferenceReflection;
47
+ fromObject(de: Deserializer, obj: JSONOutput.ReferenceReflection): void;
52
48
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../../../../src/lib/models/reflections/reference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;;;;;;;;GAYG;AACH,qBAAa,mBAAoB,SAAQ,qBAAqB;IAC1D,SAAkB,OAAO,eAAe;IAExC,OAAO,CAAC,OAAO,CAAS;IAExB;;;OAGG;gBACS,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,UAAU;IAKrE;;;OAGG;IACH,sBAAsB,IAAI,UAAU,GAAG,SAAS;IAIhD;;;OAGG;IACH,0BAA0B,IAAI,UAAU,GAAG,SAAS;IAQpD;;;OAGG;IACH,mBAAmB,IAAI,UAAU;IAQjC;;;OAGG;IACH,uBAAuB,IAAI,UAAU;IAQ5B,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,UAAU,GAAG,SAAS;IAI9D,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CAAC,mBAAmB;IAQhE,UAAU,CACf,EAAE,EAAE,YAAY,EAChB,GAAG,EAAE,UAAU,CAAC,mBAAmB,GACpC,IAAI;CAQV"}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ReferenceReflection = void 0;
4
- const abstract_1 = require("./abstract");
5
4
  const declaration_1 = require("./declaration");
6
5
  const kind_1 = require("./kind");
7
6
  /**
@@ -20,29 +19,19 @@ const kind_1 = require("./kind");
20
19
  class ReferenceReflection extends declaration_1.DeclarationReflection {
21
20
  /**
22
21
  * Creates a reference reflection. Should only be used within the factory function.
23
- * @param name
24
- * @param state
25
- * @param parent
26
- *
27
22
  * @internal
28
23
  */
29
- constructor(name, state, parent) {
24
+ constructor(name, reflection, parent) {
30
25
  super(name, kind_1.ReflectionKind.Reference, parent);
31
- this._target = state;
26
+ this.variant = "reference";
27
+ this._target = reflection.id;
32
28
  }
33
29
  /**
34
30
  * Tries to get the reflection that is referenced. This may be another reference reflection.
35
31
  * To fully resolve any references, use {@link tryGetTargetReflectionDeep}.
36
32
  */
37
33
  tryGetTargetReflection() {
38
- this._ensureProject();
39
- if (this._target instanceof abstract_1.Reflection) {
40
- return this._target;
41
- }
42
- const target = this._project.getReflectionFromSymbol(this._target);
43
- if (target)
44
- this._target = target;
45
- return target;
34
+ return this.project.getReflectionById(this._target);
46
35
  }
47
36
  /**
48
37
  * Tries to get the reflection that is referenced, this will fully resolve references.
@@ -60,7 +49,6 @@ class ReferenceReflection extends declaration_1.DeclarationReflection {
60
49
  * To fully resolve any references, use {@link getTargetReflectionDeep}.
61
50
  */
62
51
  getTargetReflection() {
63
- this._ensureProject();
64
52
  const target = this.tryGetTargetReflection();
65
53
  if (!target) {
66
54
  throw new Error("Reference was unresolved.");
@@ -81,24 +69,20 @@ class ReferenceReflection extends declaration_1.DeclarationReflection {
81
69
  getChildByName(arg) {
82
70
  return this.getTargetReflection().getChildByName(arg);
83
71
  }
84
- _ensureProject() {
85
- if (this._project) {
86
- return;
87
- }
88
- let project = this.parent;
89
- while (project && !project.isProject()) {
90
- project = project.parent;
91
- }
92
- this._project = project;
93
- if (!this._project) {
94
- throw new Error("Reference reflection has no project and is unable to resolve.");
95
- }
96
- }
97
72
  toObject(serializer) {
98
73
  return {
99
74
  ...super.toObject(serializer),
75
+ variant: this.variant,
100
76
  target: this.tryGetTargetReflection()?.id ?? -1,
101
77
  };
102
78
  }
79
+ fromObject(de, obj) {
80
+ super.fromObject(de, obj);
81
+ de.defer((project) => {
82
+ this._target =
83
+ project.getReflectionById(de.oldIdToNewId[obj.target] ?? -1)
84
+ ?.id ?? -1;
85
+ });
86
+ }
103
87
  }
104
88
  exports.ReferenceReflection = ReferenceReflection;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference.js","sourceRoot":"","sources":["../../../../src/lib/models/reflections/reference.ts"],"names":[],"mappings":";;;AAAA,+CAAsD;AACtD,iCAAwC;AAIxC;;;;;;;;;;;;GAYG;AACH,MAAa,mBAAoB,SAAQ,mCAAqB;IAK1D;;;OAGG;IACH,YAAY,IAAY,EAAE,UAAsB,EAAE,MAAmB;QACjE,KAAK,CAAC,IAAI,EAAE,qBAAc,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAThC,YAAO,GAAG,WAAW,CAAC;QAUpC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,EAAE,CAAC;IACjC,CAAC;IAED;;;OAGG;IACH,sBAAsB;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED;;;OAGG;IACH,0BAA0B;QACtB,IAAI,MAAM,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC3C,OAAO,MAAM,YAAY,mBAAmB,EAAE;YAC1C,MAAM,GAAG,MAAM,CAAC,sBAAsB,EAAE,CAAC;SAC5C;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,mBAAmB;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC7C,IAAI,CAAC,MAAM,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;SAChD;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,uBAAuB;QACnB,IAAI,MAAM,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACxC,OAAO,MAAM,YAAY,mBAAmB,EAAE;YAC1C,MAAM,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;SACzC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEQ,cAAc,CAAC,GAAsB;QAC1C,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAC1D,CAAC;IAEQ,QAAQ,CAAC,UAAsB;QACpC,OAAO;YACH,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,sBAAsB,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;SAClD,CAAC;IACN,CAAC;IAEQ,UAAU,CACf,EAAgB,EAChB,GAAmC;QAEnC,KAAK,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC1B,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE;YACjB,IAAI,CAAC,OAAO;gBACR,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;oBACxD,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAjFD,kDAiFC"}
@@ -4,11 +4,17 @@ import type { ParameterReflection } from "./parameter";
4
4
  import type { TypeParameterReflection } from "./type-parameter";
5
5
  import type { DeclarationReflection } from "./declaration";
6
6
  import type { ReflectionKind } from "./kind";
7
- import type { Serializer, JSONOutput } from "../../serialization";
7
+ import type { Serializer, JSONOutput, Deserializer } from "../../serialization";
8
+ import { SourceReference } from "../sources/file";
8
9
  export declare class SignatureReflection extends Reflection {
10
+ readonly variant = "signature";
9
11
  constructor(name: string, kind: SignatureReflection["kind"], parent: DeclarationReflection);
10
12
  kind: ReflectionKind.SetSignature | ReflectionKind.GetSignature | ReflectionKind.IndexSignature | ReflectionKind.CallSignature | ReflectionKind.ConstructorSignature;
11
13
  parent: DeclarationReflection;
14
+ /**
15
+ * A list of all source files that contributed to this reflection.
16
+ */
17
+ sources?: SourceReference[];
12
18
  parameters?: ParameterReflection[];
13
19
  typeParameters?: TypeParameterReflection[];
14
20
  type?: SomeType;
@@ -44,4 +50,5 @@ export declare class SignatureReflection extends Reflection {
44
50
  */
45
51
  toString(): string;
46
52
  toObject(serializer: Serializer): JSONOutput.SignatureReflection;
53
+ fromObject(de: Deserializer, obj: JSONOutput.SignatureReflection): void;
47
54
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../../../src/lib/models/reflections/signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAkB,aAAa,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,EAAE,UAAU,EAAoB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,qBAAa,mBAAoB,SAAQ,UAAU;IAC/C,QAAQ,CAAC,OAAO,eAAe;gBAG3B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,EACjC,MAAM,EAAE,qBAAqB;IAKxB,IAAI,EACP,cAAc,CAAC,YAAY,GAC3B,cAAc,CAAC,YAAY,GAC3B,cAAc,CAAC,cAAc,GAC7B,cAAc,CAAC,aAAa,GAC5B,cAAc,CAAC,oBAAoB,CAAC;IAEjC,MAAM,EAAG,qBAAqB,CAAC;IAExC;;OAEG;IACH,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAE5B,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAEnC,cAAc,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAE3C,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB;;;;OAIG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC;IAE3B;;;;OAIG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAE9B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,aAAa,CAAC;IAEjC;;;;;;;OAOG;IACM,QAAQ,CAAC,QAAQ,EAAE,gBAAgB;IA2B5C;;OAEG;IACM,QAAQ,IAAI,MAAM;IAiBlB,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CAAC,mBAAmB;IAchE,UAAU,CACf,EAAE,EAAE,YAAY,EAChB,GAAG,EAAE,UAAU,CAAC,mBAAmB,GACpC,IAAI;CAkBV"}
@@ -3,9 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SignatureReflection = void 0;
4
4
  const types_1 = require("../types");
5
5
  const abstract_1 = require("./abstract");
6
+ const file_1 = require("../sources/file");
6
7
  class SignatureReflection extends abstract_1.Reflection {
7
8
  constructor(name, kind, parent) {
8
9
  super(name, kind, parent);
10
+ this.variant = "signature";
9
11
  }
10
12
  /**
11
13
  * Traverse all potential child reflections of this reflection.
@@ -50,6 +52,8 @@ class SignatureReflection extends abstract_1.Reflection {
50
52
  toObject(serializer) {
51
53
  return {
52
54
  ...super.toObject(serializer),
55
+ variant: this.variant,
56
+ sources: serializer.toObjectsOptional(this.sources),
53
57
  typeParameter: serializer.toObjectsOptional(this.typeParameters),
54
58
  parameters: serializer.toObjectsOptional(this.parameters),
55
59
  type: serializer.toObject(this.type),
@@ -58,5 +62,15 @@ class SignatureReflection extends abstract_1.Reflection {
58
62
  implementationOf: serializer.toObject(this.implementationOf),
59
63
  };
60
64
  }
65
+ fromObject(de, obj) {
66
+ super.fromObject(de, obj);
67
+ this.sources = de.reviveMany(obj.sources, (t) => new file_1.SourceReference(t.fileName, t.line, t.character));
68
+ this.typeParameters = de.reviveMany(obj.typeParameter, (t) => de.constructReflection(t));
69
+ this.parameters = de.reviveMany(obj.parameters, (t) => de.constructReflection(t));
70
+ this.type = de.reviveType(obj.type);
71
+ this.overwrites = de.reviveType(obj.overwrites);
72
+ this.inheritedFrom = de.reviveType(obj.inheritedFrom);
73
+ this.implementationOf = de.reviveType(obj.implementationOf);
74
+ }
61
75
  }
62
76
  exports.SignatureReflection = SignatureReflection;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signature.js","sourceRoot":"","sources":["../../../../src/lib/models/reflections/signature.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import type { SomeType } from "../types";
2
2
  import { Reflection } from "./abstract";
3
3
  import type { DeclarationReflection } from "./declaration";
4
- import type { Serializer, JSONOutput } from "../../serialization";
4
+ import type { Serializer, JSONOutput, Deserializer } from "../../serialization";
5
+ import type { SignatureReflection } from "./signature";
5
6
  /**
6
7
  * Modifier flags for type parameters, added in TS 4.7
7
8
  * @enum
@@ -13,10 +14,12 @@ export declare const VarianceModifier: {
13
14
  };
14
15
  export type VarianceModifier = (typeof VarianceModifier)[keyof typeof VarianceModifier];
15
16
  export declare class TypeParameterReflection extends Reflection {
16
- parent?: DeclarationReflection;
17
+ readonly variant = "typeParam";
18
+ parent?: DeclarationReflection | SignatureReflection;
17
19
  type?: SomeType;
18
20
  default?: SomeType;
19
21
  varianceModifier?: VarianceModifier;
20
- constructor(name: string, constraint: SomeType | undefined, defaultType: SomeType | undefined, parent: Reflection, varianceModifier: VarianceModifier | undefined);
22
+ constructor(name: string, parent: Reflection, varianceModifier: VarianceModifier | undefined);
21
23
  toObject(serializer: Serializer): JSONOutput.TypeParameterReflection;
24
+ fromObject(de: Deserializer, obj: JSONOutput.TypeParameterReflection): void;
22
25
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-parameter.d.ts","sourceRoot":"","sources":["../../../../src/lib/models/reflections/type-parameter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;CAInB,CAAC;AACX,MAAM,MAAM,gBAAgB,GACxB,OAAO,gBAAgB,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAE3D,qBAAa,uBAAwB,SAAQ,UAAU;IACnD,QAAQ,CAAC,OAAO,eAAe;IAEtB,MAAM,CAAC,EAAE,qBAAqB,GAAG,mBAAmB,CAAC;IAE9D,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB,OAAO,CAAC,EAAE,QAAQ,CAAC;IAEnB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;gBAGhC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,EAClB,gBAAgB,EAAE,gBAAgB,GAAG,SAAS;IAMzC,QAAQ,CACb,UAAU,EAAE,UAAU,GACvB,UAAU,CAAC,uBAAuB;IAU5B,UAAU,CACf,EAAE,EAAE,YAAY,EAChB,GAAG,EAAE,UAAU,CAAC,uBAAuB,GACxC,IAAI;CAMV"}
@@ -13,19 +13,25 @@ exports.VarianceModifier = {
13
13
  inOut: "in out",
14
14
  };
15
15
  class TypeParameterReflection extends abstract_1.Reflection {
16
- constructor(name, constraint, defaultType, parent, varianceModifier) {
16
+ constructor(name, parent, varianceModifier) {
17
17
  super(name, kind_1.ReflectionKind.TypeParameter, parent);
18
- this.type = constraint;
19
- this.default = defaultType;
18
+ this.variant = "typeParam";
20
19
  this.varianceModifier = varianceModifier;
21
20
  }
22
21
  toObject(serializer) {
23
22
  return {
24
23
  ...super.toObject(serializer),
24
+ variant: this.variant,
25
25
  type: serializer.toObject(this.type),
26
26
  default: serializer.toObject(this.default),
27
27
  varianceModifier: this.varianceModifier,
28
28
  };
29
29
  }
30
+ fromObject(de, obj) {
31
+ super.fromObject(de, obj);
32
+ this.type = de.reviveType(obj.type);
33
+ this.default = de.reviveType(obj.default);
34
+ this.varianceModifier = obj.varianceModifier;
35
+ }
30
36
  }
31
37
  exports.TypeParameterReflection = TypeParameterReflection;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-parameter.js","sourceRoot":"","sources":["../../../../src/lib/models/reflections/type-parameter.ts"],"names":[],"mappings":";;;AACA,yCAAwC;AAExC,iCAAwC;AAIxC;;;GAGG;AACU,QAAA,gBAAgB,GAAG;IAC5B,EAAE,EAAE,IAAI;IACR,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,QAAQ;CACT,CAAC;AAIX,MAAa,uBAAwB,SAAQ,qBAAU;IAWnD,YACI,IAAY,EACZ,MAAkB,EAClB,gBAA8C;QAE9C,KAAK,CAAC,IAAI,EAAE,qBAAc,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAf7C,YAAO,GAAG,WAAW,CAAC;QAgB3B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC7C,CAAC;IAEQ,QAAQ,CACb,UAAsB;QAEtB,OAAO;YACH,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YACpC,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;YAC1C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;SAC1C,CAAC;IACN,CAAC;IAEQ,UAAU,CACf,EAAgB,EAChB,GAAuC;QAEvC,KAAK,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,gBAAgB,CAAC;IACjD,CAAC;CACJ;AAzCD,0DAyCC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/lib/models/reflections/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAC/B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAClB,MAAM,EAAE,CA0BV"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/lib/models/reflections/utils.ts"],"names":[],"mappings":";;;AAAA,SAAgB,mBAAmB,CAC/B,KAAa,EACb,SAAiB;IAEjB,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;QAC7B,OAAO,mBAAmB,CACtB,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,EACjC,SAAS,CACZ,CAAC;KACL;IACD,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QACvB,kEAAkE;QAClE,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAChD,IAAI,iBAAiB,KAAK,CAAC,CAAC,EAAE;YAC1B,kCAAkC;YAClC,OAAO,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;SACjC;QACD,IAAI,iBAAiB,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACxC,OAAO,CAAC,KAAK,CAAC,CAAC;SAClB;aAAM;YACH,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;YACzD,OAAO;gBACH,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,iBAAiB,GAAG,CAAC,CAAC;gBACzC,GAAG,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC;aAC/C,CAAC;SACL;KACJ;SAAM;QACH,OAAO,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;KACjC;AACL,CAAC;AA7BD,kDA6BC"}
@@ -0,0 +1,18 @@
1
+ import type { DeclarationReflection } from "./declaration";
2
+ import type { ParameterReflection } from "./parameter";
3
+ import type { ProjectReflection } from "./project";
4
+ import type { ReferenceReflection } from "./reference";
5
+ import type { SignatureReflection } from "./signature";
6
+ import type { TypeParameterReflection } from "./type-parameter";
7
+ /**
8
+ * A map of known {@link Reflection} concrete subclasses.
9
+ * This is used during deserialization to reconstruct serialized objects.
10
+ */
11
+ export interface ReflectionVariant {
12
+ declaration: DeclarationReflection;
13
+ param: ParameterReflection;
14
+ project: ProjectReflection;
15
+ reference: ReferenceReflection;
16
+ signature: SignatureReflection;
17
+ typeParam: TypeParameterReflection;
18
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variant.d.ts","sourceRoot":"","sources":["../../../../src/lib/models/reflections/variant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAEhE;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAC9B,WAAW,EAAE,qBAAqB,CAAC;IACnC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,SAAS,EAAE,mBAAmB,CAAC;IAC/B,SAAS,EAAE,mBAAmB,CAAC;IAC/B,SAAS,EAAE,uBAAuB,CAAC;CACtC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variant.js","sourceRoot":"","sources":["../../../../src/lib/models/reflections/variant.ts"],"names":[],"mappings":""}
@@ -1,3 +1,4 @@
1
+ import type { Deserializer } from "../../serialization/deserializer";
1
2
  import type { SourceReference as JSONSourceReference } from "../../serialization/schema";
2
3
  /**
3
4
  * Represents references of reflections to their defining source files.
@@ -27,4 +28,5 @@ export declare class SourceReference {
27
28
  url?: string;
28
29
  constructor(fileName: string, line: number, character: number);
29
30
  toObject(): JSONSourceReference;
31
+ fromObject(_de: Deserializer, obj: JSONSourceReference): void;
30
32
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../../src/lib/models/sources/file.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,IAAI,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEzF;;;;GAIG;AACH,qBAAa,eAAe;IACxB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;gBAED,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAO7D,QAAQ,IAAI,mBAAmB;IAS/B,UAAU,CAAC,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,mBAAmB;CAGzD"}
@@ -21,5 +21,8 @@ class SourceReference {
21
21
  url: this.url,
22
22
  };
23
23
  }
24
+ fromObject(_de, obj) {
25
+ this.url = obj.url;
26
+ }
24
27
  }
25
28
  exports.SourceReference = SourceReference;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../../../src/lib/models/sources/file.ts"],"names":[],"mappings":";;;AAGA;;;;GAIG;AACH,MAAa,eAAe;IA0BxB,YAAY,QAAgB,EAAE,IAAY,EAAE,SAAiB;QACzD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,QAAQ;QACJ,OAAO;YACH,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,GAAG,EAAE,IAAI,CAAC,GAAG;SAChB,CAAC;IACN,CAAC;IAED,UAAU,CAAC,GAAiB,EAAE,GAAwB;QAClD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IACvB,CAAC;CACJ;AA7CD,0CA6CC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/models/sources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/models/sources/index.ts"],"names":[],"mappings":";;;AAAA,+BAAyC;AAAhC,uGAAA,eAAe,OAAA"}