typedoc 0.26.11 → 0.27.0-beta.1

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 (338) hide show
  1. package/bin/package.json +3 -0
  2. package/bin/typedoc +1 -1
  3. package/dist/index.d.ts +23 -13
  4. package/dist/index.js +22 -81
  5. package/dist/lib/application-events.js +1 -4
  6. package/dist/lib/application.d.ts +26 -16
  7. package/dist/lib/application.js +222 -242
  8. package/dist/lib/cli.js +3 -40
  9. package/dist/lib/converter/comments/blockLexer.d.ts +1 -1
  10. package/dist/lib/converter/comments/blockLexer.js +24 -30
  11. package/dist/lib/converter/comments/declarationReference.js +10 -21
  12. package/dist/lib/converter/comments/declarationReferenceResolver.d.ts +2 -2
  13. package/dist/lib/converter/comments/declarationReferenceResolver.js +40 -36
  14. package/dist/lib/converter/comments/discovery.d.ts +4 -4
  15. package/dist/lib/converter/comments/discovery.js +154 -172
  16. package/dist/lib/converter/comments/index.d.ts +4 -4
  17. package/dist/lib/converter/comments/index.js +39 -50
  18. package/dist/lib/converter/comments/lexer.d.ts +1 -1
  19. package/dist/lib/converter/comments/lexer.js +2 -5
  20. package/dist/lib/converter/comments/lineLexer.d.ts +1 -1
  21. package/dist/lib/converter/comments/lineLexer.js +12 -15
  22. package/dist/lib/converter/comments/linkResolver.d.ts +2 -2
  23. package/dist/lib/converter/comments/linkResolver.js +14 -21
  24. package/dist/lib/converter/comments/parser.d.ts +6 -6
  25. package/dist/lib/converter/comments/parser.js +69 -96
  26. package/dist/lib/converter/comments/rawLexer.d.ts +1 -1
  27. package/dist/lib/converter/comments/rawLexer.js +13 -16
  28. package/dist/lib/converter/comments/tagName.js +1 -4
  29. package/dist/lib/converter/comments/textParser.d.ts +4 -4
  30. package/dist/lib/converter/comments/textParser.js +28 -30
  31. package/dist/lib/converter/components.d.ts +2 -3
  32. package/dist/lib/converter/components.js +2 -7
  33. package/dist/lib/converter/context.d.ts +9 -9
  34. package/dist/lib/converter/context.js +54 -44
  35. package/dist/lib/converter/convert-expression.js +16 -23
  36. package/dist/lib/converter/converter-events.d.ts +1 -0
  37. package/dist/lib/converter/converter-events.js +2 -4
  38. package/dist/lib/converter/converter.d.ts +16 -13
  39. package/dist/lib/converter/converter.js +212 -239
  40. package/dist/lib/converter/factories/index-signature.d.ts +3 -3
  41. package/dist/lib/converter/factories/index-signature.js +43 -26
  42. package/dist/lib/converter/factories/signature.d.ts +2 -2
  43. package/dist/lib/converter/factories/signature.js +95 -106
  44. package/dist/lib/converter/index.d.ts +6 -7
  45. package/dist/lib/converter/index.js +3 -11
  46. package/dist/lib/converter/jsdoc.d.ts +1 -1
  47. package/dist/lib/converter/jsdoc.js +34 -41
  48. package/dist/lib/converter/plugins/CategoryPlugin.d.ts +6 -21
  49. package/dist/lib/converter/plugins/CategoryPlugin.js +57 -139
  50. package/dist/lib/converter/plugins/CommentPlugin.d.ts +3 -5
  51. package/dist/lib/converter/plugins/CommentPlugin.js +153 -163
  52. package/dist/lib/converter/plugins/GroupPlugin.d.ts +10 -9
  53. package/dist/lib/converter/plugins/GroupPlugin.js +87 -124
  54. package/dist/lib/converter/plugins/ImplementsPlugin.d.ts +3 -5
  55. package/dist/lib/converter/plugins/ImplementsPlugin.js +255 -321
  56. package/dist/lib/converter/plugins/IncludePlugin.d.ts +11 -0
  57. package/dist/lib/converter/plugins/IncludePlugin.js +72 -0
  58. package/dist/lib/converter/plugins/InheritDocPlugin.d.ts +4 -3
  59. package/dist/lib/converter/plugins/InheritDocPlugin.js +41 -72
  60. package/dist/lib/converter/plugins/LinkResolverPlugin.d.ts +5 -5
  61. package/dist/lib/converter/plugins/LinkResolverPlugin.js +37 -58
  62. package/dist/lib/converter/plugins/MergeModuleWithPlugin.d.ts +12 -0
  63. package/dist/lib/converter/plugins/MergeModuleWithPlugin.js +49 -0
  64. package/dist/lib/converter/plugins/PackagePlugin.d.ts +4 -3
  65. package/dist/lib/converter/plugins/PackagePlugin.js +62 -111
  66. package/dist/lib/converter/plugins/SourcePlugin.d.ts +3 -5
  67. package/dist/lib/converter/plugins/SourcePlugin.js +69 -110
  68. package/dist/lib/converter/plugins/TypePlugin.d.ts +4 -6
  69. package/dist/lib/converter/plugins/TypePlugin.js +95 -158
  70. package/dist/lib/converter/plugins/index.d.ts +10 -9
  71. package/dist/lib/converter/plugins/index.js +10 -21
  72. package/dist/lib/converter/symbols.d.ts +1 -1
  73. package/dist/lib/converter/symbols.js +234 -227
  74. package/dist/lib/converter/types.d.ts +2 -2
  75. package/dist/lib/converter/types.js +252 -237
  76. package/dist/lib/converter/utils/nodes.js +5 -13
  77. package/dist/lib/converter/utils/reflections.d.ts +1 -1
  78. package/dist/lib/converter/utils/reflections.js +4 -7
  79. package/dist/lib/converter/utils/repository.d.ts +1 -1
  80. package/dist/lib/converter/utils/repository.js +103 -97
  81. package/dist/lib/converter/utils/symbols.js +3 -9
  82. package/dist/lib/internationalization/index.d.ts +3 -4
  83. package/dist/lib/internationalization/index.js +3 -8
  84. package/dist/lib/internationalization/internationalization.d.ts +5 -4
  85. package/dist/lib/internationalization/internationalization.js +97 -103
  86. package/dist/lib/internationalization/locale-utils.cjs +8 -0
  87. package/dist/lib/internationalization/locale-utils.d.cts +8 -0
  88. package/dist/lib/internationalization/locales/en.cjs +372 -2
  89. package/dist/lib/internationalization/locales/en.d.cts +343 -2
  90. package/dist/lib/internationalization/locales/jp.cjs +13 -14
  91. package/dist/lib/internationalization/locales/jp.d.cts +307 -1
  92. package/dist/lib/internationalization/locales/ko.cjs +12 -11
  93. package/dist/lib/internationalization/locales/ko.d.cts +221 -1
  94. package/dist/lib/internationalization/locales/zh.cjs +43 -19
  95. package/dist/lib/internationalization/locales/zh.d.cts +409 -1
  96. package/dist/lib/internationalization/translatable.d.ts +4 -327
  97. package/dist/lib/internationalization/translatable.js +2 -360
  98. package/dist/lib/models/FileRegistry.d.ts +20 -9
  99. package/dist/lib/models/FileRegistry.js +54 -45
  100. package/dist/lib/models/ReflectionCategory.d.ts +2 -2
  101. package/dist/lib/models/ReflectionCategory.js +16 -12
  102. package/dist/lib/models/ReflectionGroup.d.ts +3 -3
  103. package/dist/lib/models/ReflectionGroup.js +23 -14
  104. package/dist/lib/models/comments/comment.d.ts +23 -37
  105. package/dist/lib/models/comments/comment.js +388 -325
  106. package/dist/lib/models/comments/index.d.ts +2 -2
  107. package/dist/lib/models/comments/index.js +1 -6
  108. package/dist/lib/models/index.d.ts +7 -7
  109. package/dist/lib/models/index.js +7 -23
  110. package/dist/lib/models/reflections/ReflectionSymbolId.d.ts +2 -2
  111. package/dist/lib/models/reflections/ReflectionSymbolId.js +42 -34
  112. package/dist/lib/models/reflections/abstract.d.ts +17 -20
  113. package/dist/lib/models/reflections/abstract.js +249 -256
  114. package/dist/lib/models/reflections/container.d.ts +7 -7
  115. package/dist/lib/models/reflections/container.js +43 -16
  116. package/dist/lib/models/reflections/declaration.d.ts +15 -12
  117. package/dist/lib/models/reflections/declaration.js +150 -29
  118. package/dist/lib/models/reflections/document.d.ts +3 -3
  119. package/dist/lib/models/reflections/document.js +26 -13
  120. package/dist/lib/models/reflections/index.d.ts +15 -15
  121. package/dist/lib/models/reflections/index.js +12 -31
  122. package/dist/lib/models/reflections/kind.d.ts +1 -1
  123. package/dist/lib/models/reflections/kind.js +3 -6
  124. package/dist/lib/models/reflections/parameter.d.ts +5 -4
  125. package/dist/lib/models/reflections/parameter.js +11 -13
  126. package/dist/lib/models/reflections/project.d.ts +14 -9
  127. package/dist/lib/models/reflections/project.js +104 -56
  128. package/dist/lib/models/reflections/reference.d.ts +3 -3
  129. package/dist/lib/models/reflections/reference.js +6 -9
  130. package/dist/lib/models/reflections/signature.d.ts +8 -8
  131. package/dist/lib/models/reflections/signature.js +35 -14
  132. package/dist/lib/models/reflections/type-parameter.d.ts +5 -5
  133. package/dist/lib/models/reflections/type-parameter.js +9 -10
  134. package/dist/lib/models/reflections/utils.js +1 -4
  135. package/dist/lib/models/reflections/variant.d.ts +8 -7
  136. package/dist/lib/models/reflections/variant.js +1 -2
  137. package/dist/lib/models/sources/file.d.ts +2 -2
  138. package/dist/lib/models/sources/file.js +22 -5
  139. package/dist/lib/models/sources/index.d.ts +1 -1
  140. package/dist/lib/models/sources/index.js +1 -5
  141. package/dist/lib/models/types.d.ts +29 -16
  142. package/dist/lib/models/types.js +236 -151
  143. package/dist/lib/output/components.d.ts +5 -11
  144. package/dist/lib/output/components.js +84 -125
  145. package/dist/lib/output/events.d.ts +3 -3
  146. package/dist/lib/output/events.js +128 -94
  147. package/dist/lib/output/formatter.d.ts +84 -0
  148. package/dist/lib/output/formatter.js +624 -0
  149. package/dist/lib/output/index.d.ts +9 -8
  150. package/dist/lib/output/index.js +7 -19
  151. package/dist/lib/output/models/UrlMapping.d.ts +2 -2
  152. package/dist/lib/output/models/UrlMapping.js +4 -5
  153. package/dist/lib/output/output.d.ts +14 -0
  154. package/dist/lib/output/output.js +91 -0
  155. package/dist/lib/output/plugins/AssetsPlugin.d.ts +9 -8
  156. package/dist/lib/output/plugins/AssetsPlugin.js +64 -80
  157. package/dist/lib/output/plugins/HierarchyPlugin.d.ts +7 -0
  158. package/dist/lib/output/plugins/HierarchyPlugin.js +67 -0
  159. package/dist/lib/output/plugins/IconsPlugin.d.ts +3 -2
  160. package/dist/lib/output/plugins/IconsPlugin.js +28 -84
  161. package/dist/lib/output/plugins/JavascriptIndexPlugin.d.ts +9 -2
  162. package/dist/lib/output/plugins/JavascriptIndexPlugin.js +90 -96
  163. package/dist/lib/output/plugins/NavigationPlugin.d.ts +3 -2
  164. package/dist/lib/output/plugins/NavigationPlugin.js +22 -102
  165. package/dist/lib/output/plugins/SitemapPlugin.d.ts +3 -2
  166. package/dist/lib/output/plugins/SitemapPlugin.js +60 -120
  167. package/dist/lib/output/plugins/index.d.ts +7 -6
  168. package/dist/lib/output/plugins/index.js +7 -15
  169. package/dist/lib/output/renderer.d.ts +14 -13
  170. package/dist/lib/output/renderer.js +130 -185
  171. package/dist/lib/output/theme.d.ts +9 -5
  172. package/dist/lib/output/theme.js +14 -62
  173. package/dist/lib/output/themes/MarkedPlugin.d.ts +8 -9
  174. package/dist/lib/output/themes/MarkedPlugin.js +152 -117
  175. package/dist/lib/output/themes/default/DefaultTheme.d.ts +17 -29
  176. package/dist/lib/output/themes/default/DefaultTheme.js +334 -310
  177. package/dist/lib/output/themes/default/DefaultThemeRenderContext.d.ts +63 -48
  178. package/dist/lib/output/themes/default/DefaultThemeRenderContext.js +119 -95
  179. package/dist/lib/output/themes/default/Slugger.d.ts +13 -0
  180. package/dist/lib/output/themes/default/Slugger.js +46 -0
  181. package/dist/lib/output/themes/default/layouts/default.d.ts +5 -5
  182. package/dist/lib/output/themes/default/layouts/default.js +48 -36
  183. package/dist/lib/output/themes/default/partials/anchor-icon.d.ts +2 -2
  184. package/dist/lib/output/themes/default/partials/anchor-icon.js +4 -7
  185. package/dist/lib/output/themes/default/partials/breadcrumb.d.ts +3 -3
  186. package/dist/lib/output/themes/default/partials/breadcrumb.js +4 -8
  187. package/dist/lib/output/themes/default/partials/comment.d.ts +6 -4
  188. package/dist/lib/output/themes/default/partials/comment.js +52 -29
  189. package/dist/lib/output/themes/default/partials/footer.d.ts +2 -2
  190. package/dist/lib/output/themes/default/partials/footer.js +11 -14
  191. package/dist/lib/output/themes/default/partials/header.d.ts +4 -4
  192. package/dist/lib/output/themes/default/partials/header.js +9 -13
  193. package/dist/lib/output/themes/default/partials/hierarchy.d.ts +4 -4
  194. package/dist/lib/output/themes/default/partials/hierarchy.js +12 -15
  195. package/dist/lib/output/themes/default/partials/icon.d.ts +4 -4
  196. package/dist/lib/output/themes/default/partials/icon.js +78 -73
  197. package/dist/lib/output/themes/default/partials/index.d.ts +3 -3
  198. package/dist/lib/output/themes/default/partials/index.js +19 -22
  199. package/dist/lib/output/themes/default/partials/member.d.ts +3 -3
  200. package/dist/lib/output/themes/default/partials/member.declaration.d.ts +3 -3
  201. package/dist/lib/output/themes/default/partials/member.declaration.js +18 -61
  202. package/dist/lib/output/themes/default/partials/member.getterSetter.d.ts +3 -3
  203. package/dist/lib/output/themes/default/partials/member.getterSetter.js +10 -26
  204. package/dist/lib/output/themes/default/partials/member.js +19 -24
  205. package/dist/lib/output/themes/default/partials/member.signature.body.d.ts +3 -3
  206. package/dist/lib/output/themes/default/partials/member.signature.body.js +17 -21
  207. package/dist/lib/output/themes/default/partials/member.signature.title.d.ts +4 -7
  208. package/dist/lib/output/themes/default/partials/member.signature.title.js +8 -35
  209. package/dist/lib/output/themes/default/partials/member.signatures.d.ts +3 -3
  210. package/dist/lib/output/themes/default/partials/member.signatures.js +9 -13
  211. package/dist/lib/output/themes/default/partials/member.sources.d.ts +3 -3
  212. package/dist/lib/output/themes/default/partials/member.sources.js +13 -17
  213. package/dist/lib/output/themes/default/partials/members.d.ts +3 -3
  214. package/dist/lib/output/themes/default/partials/members.js +10 -42
  215. package/dist/lib/output/themes/default/partials/moduleReflection.d.ts +5 -0
  216. package/dist/lib/output/themes/default/partials/moduleReflection.js +62 -0
  217. package/dist/lib/output/themes/default/partials/navigation.d.ts +4 -4
  218. package/dist/lib/output/themes/default/partials/navigation.js +51 -62
  219. package/dist/lib/output/themes/default/partials/reflectionPreview.d.ts +3 -3
  220. package/dist/lib/output/themes/default/partials/reflectionPreview.js +12 -15
  221. package/dist/lib/output/themes/default/partials/toolbar.d.ts +4 -4
  222. package/dist/lib/output/themes/default/partials/toolbar.js +16 -20
  223. package/dist/lib/output/themes/default/partials/type.d.ts +4 -6
  224. package/dist/lib/output/themes/default/partials/type.js +8 -388
  225. package/dist/lib/output/themes/default/partials/typeAndParent.d.ts +3 -3
  226. package/dist/lib/output/themes/default/partials/typeAndParent.js +11 -15
  227. package/dist/lib/output/themes/default/partials/typeDetails.d.ts +8 -0
  228. package/dist/lib/output/themes/default/partials/typeDetails.js +222 -0
  229. package/dist/lib/output/themes/default/partials/typeParameters.d.ts +3 -3
  230. package/dist/lib/output/themes/default/partials/typeParameters.js +14 -17
  231. package/dist/lib/output/themes/default/templates/document.d.ts +4 -4
  232. package/dist/lib/output/themes/default/templates/document.js +3 -7
  233. package/dist/lib/output/themes/default/templates/hierarchy.d.ts +4 -4
  234. package/dist/lib/output/themes/default/templates/hierarchy.js +24 -22
  235. package/dist/lib/output/themes/default/templates/index.d.ts +4 -4
  236. package/dist/lib/output/themes/default/templates/index.js +3 -7
  237. package/dist/lib/output/themes/default/templates/reflection.d.ts +4 -4
  238. package/dist/lib/output/themes/default/templates/reflection.js +32 -34
  239. package/dist/lib/output/themes/lib.d.ts +17 -3
  240. package/dist/lib/output/themes/lib.js +118 -50
  241. package/dist/lib/serialization/components.d.ts +2 -5
  242. package/dist/lib/serialization/components.js +1 -2
  243. package/dist/lib/serialization/deserializer.d.ts +21 -7
  244. package/dist/lib/serialization/deserializer.js +138 -123
  245. package/dist/lib/serialization/events.d.ts +2 -2
  246. package/dist/lib/serialization/events.js +6 -5
  247. package/dist/lib/serialization/index.d.ts +5 -5
  248. package/dist/lib/serialization/index.js +4 -33
  249. package/dist/lib/serialization/schema.d.ts +8 -2
  250. package/dist/lib/serialization/schema.js +2 -2
  251. package/dist/lib/serialization/serializer.d.ts +11 -5
  252. package/dist/lib/serialization/serializer.js +32 -25
  253. package/dist/lib/utils/array.d.ts +3 -0
  254. package/dist/lib/utils/array.js +26 -27
  255. package/dist/lib/utils/component.d.ts +2 -44
  256. package/dist/lib/utils/component.js +10 -102
  257. package/dist/lib/utils/entry-point.d.ts +3 -4
  258. package/dist/lib/utils/entry-point.js +114 -85
  259. package/dist/lib/utils/enum.js +6 -14
  260. package/dist/lib/utils/events.js +6 -12
  261. package/dist/lib/utils/fs.js +50 -91
  262. package/dist/lib/utils/general.d.ts +2 -1
  263. package/dist/lib/utils/general.js +50 -40
  264. package/dist/lib/utils/highlighter.js +30 -57
  265. package/dist/lib/utils/hooks.js +7 -13
  266. package/dist/lib/utils/html-entities.d.ts +8926 -0
  267. package/dist/lib/utils/html-entities.js +2329 -0
  268. package/dist/lib/utils/html.d.ts +8 -0
  269. package/dist/lib/utils/html.js +81 -34
  270. package/dist/lib/utils/index.d.ts +22 -22
  271. package/dist/lib/utils/index.js +20 -91
  272. package/dist/lib/utils/jsx.d.ts +12 -6
  273. package/dist/lib/utils/jsx.elements.d.ts +1 -1
  274. package/dist/lib/utils/jsx.elements.js +3 -4
  275. package/dist/lib/utils/jsx.js +82 -52
  276. package/dist/lib/utils/loggers.d.ts +3 -3
  277. package/dist/lib/utils/loggers.js +36 -46
  278. package/dist/lib/utils/map.js +6 -13
  279. package/dist/lib/utils/minimalSourceFile.js +5 -7
  280. package/dist/lib/utils/options/declaration.d.ts +35 -7
  281. package/dist/lib/utils/options/declaration.js +20 -22
  282. package/dist/lib/utils/options/defaults.d.ts +3 -2
  283. package/dist/lib/utils/options/defaults.js +18 -38
  284. package/dist/lib/utils/options/help.d.ts +2 -2
  285. package/dist/lib/utils/options/help.js +7 -10
  286. package/dist/lib/utils/options/index.d.ts +6 -6
  287. package/dist/lib/utils/options/index.js +4 -18
  288. package/dist/lib/utils/options/options.d.ts +8 -5
  289. package/dist/lib/utils/options/options.js +47 -71
  290. package/dist/lib/utils/options/readers/arguments.d.ts +2 -2
  291. package/dist/lib/utils/options/readers/arguments.js +15 -17
  292. package/dist/lib/utils/options/readers/index.d.ts +4 -4
  293. package/dist/lib/utils/options/readers/index.js +4 -11
  294. package/dist/lib/utils/options/readers/package-json.d.ts +3 -3
  295. package/dist/lib/utils/options/readers/package-json.js +15 -21
  296. package/dist/lib/utils/options/readers/tsconfig.d.ts +2 -2
  297. package/dist/lib/utils/options/readers/tsconfig.js +54 -63
  298. package/dist/lib/utils/options/readers/typedoc.d.ts +3 -3
  299. package/dist/lib/utils/options/readers/typedoc.js +44 -76
  300. package/dist/lib/utils/options/sources/index.d.ts +1 -1
  301. package/dist/lib/utils/options/sources/index.js +1 -5
  302. package/dist/lib/utils/options/sources/typedoc.d.ts +1 -1
  303. package/dist/lib/utils/options/sources/typedoc.js +232 -196
  304. package/dist/lib/utils/options/tsdoc-defaults.d.ts +3 -3
  305. package/dist/lib/utils/options/tsdoc-defaults.js +16 -12
  306. package/dist/lib/utils/package-manifest.d.ts +1 -1
  307. package/dist/lib/utils/package-manifest.js +15 -19
  308. package/dist/lib/utils/paths.js +9 -15
  309. package/dist/lib/utils/perf.js +6 -11
  310. package/dist/lib/utils/plugins.d.ts +1 -1
  311. package/dist/lib/utils/plugins.js +7 -10
  312. package/dist/lib/utils/reflections.d.ts +1 -1
  313. package/dist/lib/utils/reflections.js +9 -12
  314. package/dist/lib/utils/set.js +2 -6
  315. package/dist/lib/utils/sort.d.ts +3 -3
  316. package/dist/lib/utils/sort.js +20 -24
  317. package/dist/lib/utils/tsconfig.d.ts +1 -1
  318. package/dist/lib/utils/tsconfig.js +13 -21
  319. package/dist/lib/utils/tsutils.d.ts +1 -1
  320. package/dist/lib/utils/tsutils.js +3 -30
  321. package/dist/lib/utils/validation.js +6 -12
  322. package/dist/lib/validation/documentation.d.ts +2 -2
  323. package/dist/lib/validation/documentation.js +26 -29
  324. package/dist/lib/validation/exports.d.ts +2 -2
  325. package/dist/lib/validation/exports.js +9 -11
  326. package/dist/lib/validation/links.d.ts +2 -2
  327. package/dist/lib/validation/links.js +4 -7
  328. package/dist/lib/validation/unusedMergeModuleWith.d.ts +3 -0
  329. package/dist/lib/validation/unusedMergeModuleWith.js +11 -0
  330. package/package.json +17 -14
  331. package/static/main.js +4 -4
  332. package/static/style.css +109 -17
  333. package/tsdoc.json +30 -0
  334. package/dist/lib/output/themes/default/partials/member.reference.d.ts +0 -4
  335. package/dist/lib/output/themes/default/partials/member.reference.js +0 -30
  336. package/dist/lib/output/themes/default/partials/parameter.d.ts +0 -4
  337. package/dist/lib/output/themes/default/partials/parameter.js +0 -79
  338. package/dist/lib/utils/html-entities.json +0 -2326
@@ -1,24 +1,42 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Internationalization = void 0;
4
- const assert_1 = require("assert");
5
- const utils_1 = require("../utils");
6
- const translatable_1 = require("./translatable");
7
- const fs_1 = require("fs");
8
- const path_1 = require("path");
9
- const kind_1 = require("../models/reflections/kind");
10
- const models_1 = require("../models");
11
- // If we're running in ts-node, then we need the TS source rather than
12
- // the compiled file.
13
- const ext = process[Symbol.for("ts-node.register.instance")]
14
- ? "cts"
15
- : "cjs";
1
+ import { ok } from "assert";
2
+ import { DefaultMap, unique } from "../utils/index.js";
3
+ import { readdirSync } from "fs";
4
+ import { join } from "path";
5
+ import { ReflectionKind } from "../models/reflections/kind.js";
6
+ import { ReflectionFlag } from "../models/index.js";
7
+ import {} from "./translatable.js";
8
+ import translatable from "./locales/en.cjs";
9
+ import { createRequire } from "node:module";
10
+ import { fileURLToPath } from "node:url";
16
11
  /**
17
12
  * Simple internationalization module which supports placeholders.
18
13
  * See {@link TranslatableStrings} for a description of how this module works and how
19
14
  * plugins should add translations.
20
15
  */
21
- class Internationalization {
16
+ export class Internationalization {
17
+ application;
18
+ allTranslations = new DefaultMap((lang) => {
19
+ const req = createRequire(fileURLToPath(import.meta.url));
20
+ // Make sure this isn't abused to load some random file by mistake
21
+ ok(/^[A-Za-z-]+$/.test(lang), "Locale names may only contain letters and dashes");
22
+ try {
23
+ return new Map(Object.entries(req(`./locales/${lang}.cjs`)));
24
+ }
25
+ catch {
26
+ return new Map();
27
+ }
28
+ });
29
+ /**
30
+ * Proxy object which supports dynamically translating
31
+ * all supported keys. This is generally used rather than the translate
32
+ * method so that renaming a key on the `translatable` object that contains
33
+ * all of the default translations will automatically update usage locations.
34
+ */
35
+ proxy = new Proxy(this, {
36
+ get(internationalization, key) {
37
+ return (...args) => internationalization.translate(key, ...args);
38
+ },
39
+ });
22
40
  /**
23
41
  * If constructed without an application, will use the default language.
24
42
  * Intended for use in unit tests only.
@@ -26,29 +44,6 @@ class Internationalization {
26
44
  */
27
45
  constructor(application) {
28
46
  this.application = application;
29
- this.allTranslations = new utils_1.DefaultMap((lang) => {
30
- // Make sure this isn't abused to load some random file by mistake
31
- (0, assert_1.ok)(/^[A-Za-z-]+$/.test(lang), "Locale names may only contain letters and dashes");
32
- try {
33
- return new Map(
34
- // eslint-disable-next-line @typescript-eslint/no-require-imports
35
- Object.entries(require(`./locales/${lang}.${ext}`)));
36
- }
37
- catch {
38
- return new Map();
39
- }
40
- });
41
- /**
42
- * Proxy object which supports dynamically translating
43
- * all supported keys. This is generally used rather than the translate
44
- * method so that renaming a key on the `translatable` object that contains
45
- * all of the default translations will automatically update usage locations.
46
- */
47
- this.proxy = new Proxy(this, {
48
- get(internationalization, key) {
49
- return (...args) => internationalization.translate(key, ...args);
50
- },
51
- });
52
47
  }
53
48
  /**
54
49
  * Get the translation of the specified key, replacing placeholders
@@ -56,139 +51,139 @@ class Internationalization {
56
51
  */
57
52
  translate(key, ...args) {
58
53
  return (this.allTranslations.get(this.application?.lang ?? "en").get(key) ??
59
- translatable_1.translatable[key]).replace(/\{(\d+)\}/g, (_, index) => {
54
+ translatable[key]).replace(/\{(\d+)\}/g, (_, index) => {
60
55
  return args[+index] ?? "(no placeholder)";
61
56
  });
62
57
  }
63
58
  kindSingularString(kind) {
64
59
  switch (kind) {
65
- case kind_1.ReflectionKind.Project:
60
+ case ReflectionKind.Project:
66
61
  return this.proxy.kind_project();
67
- case kind_1.ReflectionKind.Module:
62
+ case ReflectionKind.Module:
68
63
  return this.proxy.kind_module();
69
- case kind_1.ReflectionKind.Namespace:
64
+ case ReflectionKind.Namespace:
70
65
  return this.proxy.kind_namespace();
71
- case kind_1.ReflectionKind.Enum:
66
+ case ReflectionKind.Enum:
72
67
  return this.proxy.kind_enum();
73
- case kind_1.ReflectionKind.EnumMember:
68
+ case ReflectionKind.EnumMember:
74
69
  return this.proxy.kind_enum_member();
75
- case kind_1.ReflectionKind.Variable:
70
+ case ReflectionKind.Variable:
76
71
  return this.proxy.kind_variable();
77
- case kind_1.ReflectionKind.Function:
72
+ case ReflectionKind.Function:
78
73
  return this.proxy.kind_function();
79
- case kind_1.ReflectionKind.Class:
74
+ case ReflectionKind.Class:
80
75
  return this.proxy.kind_class();
81
- case kind_1.ReflectionKind.Interface:
76
+ case ReflectionKind.Interface:
82
77
  return this.proxy.kind_interface();
83
- case kind_1.ReflectionKind.Constructor:
78
+ case ReflectionKind.Constructor:
84
79
  return this.proxy.kind_constructor();
85
- case kind_1.ReflectionKind.Property:
80
+ case ReflectionKind.Property:
86
81
  return this.proxy.kind_property();
87
- case kind_1.ReflectionKind.Method:
82
+ case ReflectionKind.Method:
88
83
  return this.proxy.kind_method();
89
- case kind_1.ReflectionKind.CallSignature:
84
+ case ReflectionKind.CallSignature:
90
85
  return this.proxy.kind_call_signature();
91
- case kind_1.ReflectionKind.IndexSignature:
86
+ case ReflectionKind.IndexSignature:
92
87
  return this.proxy.kind_index_signature();
93
- case kind_1.ReflectionKind.ConstructorSignature:
88
+ case ReflectionKind.ConstructorSignature:
94
89
  return this.proxy.kind_constructor_signature();
95
- case kind_1.ReflectionKind.Parameter:
90
+ case ReflectionKind.Parameter:
96
91
  return this.proxy.kind_parameter();
97
- case kind_1.ReflectionKind.TypeLiteral:
92
+ case ReflectionKind.TypeLiteral:
98
93
  return this.proxy.kind_type_literal();
99
- case kind_1.ReflectionKind.TypeParameter:
94
+ case ReflectionKind.TypeParameter:
100
95
  return this.proxy.kind_type_parameter();
101
- case kind_1.ReflectionKind.Accessor:
96
+ case ReflectionKind.Accessor:
102
97
  return this.proxy.kind_accessor();
103
- case kind_1.ReflectionKind.GetSignature:
98
+ case ReflectionKind.GetSignature:
104
99
  return this.proxy.kind_get_signature();
105
- case kind_1.ReflectionKind.SetSignature:
100
+ case ReflectionKind.SetSignature:
106
101
  return this.proxy.kind_set_signature();
107
- case kind_1.ReflectionKind.TypeAlias:
102
+ case ReflectionKind.TypeAlias:
108
103
  return this.proxy.kind_type_alias();
109
- case kind_1.ReflectionKind.Reference:
104
+ case ReflectionKind.Reference:
110
105
  return this.proxy.kind_reference();
111
- case kind_1.ReflectionKind.Document:
106
+ case ReflectionKind.Document:
112
107
  return this.proxy.kind_document();
113
108
  }
114
109
  }
115
110
  kindPluralString(kind) {
116
111
  switch (kind) {
117
- case kind_1.ReflectionKind.Project:
112
+ case ReflectionKind.Project:
118
113
  return this.proxy.kind_plural_project();
119
- case kind_1.ReflectionKind.Module:
114
+ case ReflectionKind.Module:
120
115
  return this.proxy.kind_plural_module();
121
- case kind_1.ReflectionKind.Namespace:
116
+ case ReflectionKind.Namespace:
122
117
  return this.proxy.kind_plural_namespace();
123
- case kind_1.ReflectionKind.Enum:
118
+ case ReflectionKind.Enum:
124
119
  return this.proxy.kind_plural_enum();
125
- case kind_1.ReflectionKind.EnumMember:
120
+ case ReflectionKind.EnumMember:
126
121
  return this.proxy.kind_plural_enum_member();
127
- case kind_1.ReflectionKind.Variable:
122
+ case ReflectionKind.Variable:
128
123
  return this.proxy.kind_plural_variable();
129
- case kind_1.ReflectionKind.Function:
124
+ case ReflectionKind.Function:
130
125
  return this.proxy.kind_plural_function();
131
- case kind_1.ReflectionKind.Class:
126
+ case ReflectionKind.Class:
132
127
  return this.proxy.kind_plural_class();
133
- case kind_1.ReflectionKind.Interface:
128
+ case ReflectionKind.Interface:
134
129
  return this.proxy.kind_plural_interface();
135
- case kind_1.ReflectionKind.Constructor:
130
+ case ReflectionKind.Constructor:
136
131
  return this.proxy.kind_plural_constructor();
137
- case kind_1.ReflectionKind.Property:
132
+ case ReflectionKind.Property:
138
133
  return this.proxy.kind_plural_property();
139
- case kind_1.ReflectionKind.Method:
134
+ case ReflectionKind.Method:
140
135
  return this.proxy.kind_plural_method();
141
- case kind_1.ReflectionKind.CallSignature:
136
+ case ReflectionKind.CallSignature:
142
137
  return this.proxy.kind_plural_call_signature();
143
- case kind_1.ReflectionKind.IndexSignature:
138
+ case ReflectionKind.IndexSignature:
144
139
  return this.proxy.kind_plural_index_signature();
145
- case kind_1.ReflectionKind.ConstructorSignature:
140
+ case ReflectionKind.ConstructorSignature:
146
141
  return this.proxy.kind_plural_constructor_signature();
147
- case kind_1.ReflectionKind.Parameter:
142
+ case ReflectionKind.Parameter:
148
143
  return this.proxy.kind_plural_parameter();
149
- case kind_1.ReflectionKind.TypeLiteral:
144
+ case ReflectionKind.TypeLiteral:
150
145
  return this.proxy.kind_plural_type_literal();
151
- case kind_1.ReflectionKind.TypeParameter:
146
+ case ReflectionKind.TypeParameter:
152
147
  return this.proxy.kind_plural_type_parameter();
153
- case kind_1.ReflectionKind.Accessor:
148
+ case ReflectionKind.Accessor:
154
149
  return this.proxy.kind_plural_accessor();
155
- case kind_1.ReflectionKind.GetSignature:
150
+ case ReflectionKind.GetSignature:
156
151
  return this.proxy.kind_plural_get_signature();
157
- case kind_1.ReflectionKind.SetSignature:
152
+ case ReflectionKind.SetSignature:
158
153
  return this.proxy.kind_plural_set_signature();
159
- case kind_1.ReflectionKind.TypeAlias:
154
+ case ReflectionKind.TypeAlias:
160
155
  return this.proxy.kind_plural_type_alias();
161
- case kind_1.ReflectionKind.Reference:
156
+ case ReflectionKind.Reference:
162
157
  return this.proxy.kind_plural_reference();
163
- case kind_1.ReflectionKind.Document:
158
+ case ReflectionKind.Document:
164
159
  return this.proxy.kind_plural_document();
165
160
  }
166
161
  }
167
162
  flagString(flag) {
168
163
  switch (flag) {
169
- case models_1.ReflectionFlag.None:
164
+ case ReflectionFlag.None:
170
165
  throw new Error("Should be unreachable");
171
- case models_1.ReflectionFlag.Private:
166
+ case ReflectionFlag.Private:
172
167
  return this.proxy.flag_private();
173
- case models_1.ReflectionFlag.Protected:
168
+ case ReflectionFlag.Protected:
174
169
  return this.proxy.flag_protected();
175
- case models_1.ReflectionFlag.Public:
170
+ case ReflectionFlag.Public:
176
171
  return this.proxy.flag_public();
177
- case models_1.ReflectionFlag.Static:
172
+ case ReflectionFlag.Static:
178
173
  return this.proxy.flag_static();
179
- case models_1.ReflectionFlag.External:
174
+ case ReflectionFlag.External:
180
175
  return this.proxy.flag_external();
181
- case models_1.ReflectionFlag.Optional:
176
+ case ReflectionFlag.Optional:
182
177
  return this.proxy.flag_optional();
183
- case models_1.ReflectionFlag.Rest:
178
+ case ReflectionFlag.Rest:
184
179
  return this.proxy.flag_rest();
185
- case models_1.ReflectionFlag.Abstract:
180
+ case ReflectionFlag.Abstract:
186
181
  return this.proxy.flag_abstract();
187
- case models_1.ReflectionFlag.Const:
182
+ case ReflectionFlag.Const:
188
183
  return this.proxy.flag_const();
189
- case models_1.ReflectionFlag.Readonly:
184
+ case ReflectionFlag.Readonly:
190
185
  return this.proxy.flag_readonly();
191
- case models_1.ReflectionFlag.Inherited:
186
+ case ReflectionFlag.Inherited:
192
187
  return this.proxy.flag_inherited();
193
188
  }
194
189
  }
@@ -226,10 +221,9 @@ class Internationalization {
226
221
  * Gets a list of all languages with at least one translation.
227
222
  */
228
223
  getSupportedLanguages() {
229
- return (0, utils_1.unique)([
230
- ...(0, fs_1.readdirSync)((0, path_1.join)(__dirname, "locales")).map((x) => x.substring(0, x.indexOf("."))),
224
+ return unique([
225
+ ...readdirSync(join(fileURLToPath(import.meta.url), "../locales")).map((x) => x.substring(0, x.indexOf("."))),
231
226
  ...this.allTranslations.keys(),
232
227
  ]).sort();
233
228
  }
234
229
  }
235
- exports.Internationalization = Internationalization;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ function buildTranslation(translations) {
3
+ return translations;
4
+ }
5
+ function buildIncompleteTranslation(translations) {
6
+ return translations;
7
+ }
8
+ module.exports = { buildTranslation, buildIncompleteTranslation };
@@ -0,0 +1,8 @@
1
+ import type { BuiltinTranslatableStringConstraints } from "./translatable.js" with { "resolution-mode": "import" };
2
+ declare function buildTranslation<T extends BuiltinTranslatableStringConstraints>(translations: T): T;
3
+ declare function buildIncompleteTranslation<T extends Partial<BuiltinTranslatableStringConstraints>>(translations: T): T;
4
+ declare const _default: {
5
+ buildTranslation: typeof buildTranslation;
6
+ buildIncompleteTranslation: typeof buildIncompleteTranslation;
7
+ };
8
+ export = _default;