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.
- package/bin/package.json +3 -0
- package/bin/typedoc +1 -1
- package/dist/index.d.ts +23 -13
- package/dist/index.js +22 -81
- package/dist/lib/application-events.js +1 -4
- package/dist/lib/application.d.ts +26 -16
- package/dist/lib/application.js +222 -242
- package/dist/lib/cli.js +3 -40
- package/dist/lib/converter/comments/blockLexer.d.ts +1 -1
- package/dist/lib/converter/comments/blockLexer.js +24 -30
- package/dist/lib/converter/comments/declarationReference.js +10 -21
- package/dist/lib/converter/comments/declarationReferenceResolver.d.ts +2 -2
- package/dist/lib/converter/comments/declarationReferenceResolver.js +40 -36
- package/dist/lib/converter/comments/discovery.d.ts +4 -4
- package/dist/lib/converter/comments/discovery.js +154 -172
- package/dist/lib/converter/comments/index.d.ts +4 -4
- package/dist/lib/converter/comments/index.js +39 -50
- package/dist/lib/converter/comments/lexer.d.ts +1 -1
- package/dist/lib/converter/comments/lexer.js +2 -5
- package/dist/lib/converter/comments/lineLexer.d.ts +1 -1
- package/dist/lib/converter/comments/lineLexer.js +12 -15
- package/dist/lib/converter/comments/linkResolver.d.ts +2 -2
- package/dist/lib/converter/comments/linkResolver.js +14 -21
- package/dist/lib/converter/comments/parser.d.ts +6 -6
- package/dist/lib/converter/comments/parser.js +69 -96
- package/dist/lib/converter/comments/rawLexer.d.ts +1 -1
- package/dist/lib/converter/comments/rawLexer.js +13 -16
- package/dist/lib/converter/comments/tagName.js +1 -4
- package/dist/lib/converter/comments/textParser.d.ts +4 -4
- package/dist/lib/converter/comments/textParser.js +28 -30
- package/dist/lib/converter/components.d.ts +2 -3
- package/dist/lib/converter/components.js +2 -7
- package/dist/lib/converter/context.d.ts +9 -9
- package/dist/lib/converter/context.js +54 -44
- package/dist/lib/converter/convert-expression.js +16 -23
- package/dist/lib/converter/converter-events.d.ts +1 -0
- package/dist/lib/converter/converter-events.js +2 -4
- package/dist/lib/converter/converter.d.ts +16 -13
- package/dist/lib/converter/converter.js +212 -239
- package/dist/lib/converter/factories/index-signature.d.ts +3 -3
- package/dist/lib/converter/factories/index-signature.js +43 -26
- package/dist/lib/converter/factories/signature.d.ts +2 -2
- package/dist/lib/converter/factories/signature.js +95 -106
- package/dist/lib/converter/index.d.ts +6 -7
- package/dist/lib/converter/index.js +3 -11
- package/dist/lib/converter/jsdoc.d.ts +1 -1
- package/dist/lib/converter/jsdoc.js +34 -41
- package/dist/lib/converter/plugins/CategoryPlugin.d.ts +6 -21
- package/dist/lib/converter/plugins/CategoryPlugin.js +57 -139
- package/dist/lib/converter/plugins/CommentPlugin.d.ts +3 -5
- package/dist/lib/converter/plugins/CommentPlugin.js +153 -163
- package/dist/lib/converter/plugins/GroupPlugin.d.ts +10 -9
- package/dist/lib/converter/plugins/GroupPlugin.js +87 -124
- package/dist/lib/converter/plugins/ImplementsPlugin.d.ts +3 -5
- package/dist/lib/converter/plugins/ImplementsPlugin.js +255 -321
- package/dist/lib/converter/plugins/IncludePlugin.d.ts +11 -0
- package/dist/lib/converter/plugins/IncludePlugin.js +72 -0
- package/dist/lib/converter/plugins/InheritDocPlugin.d.ts +4 -3
- package/dist/lib/converter/plugins/InheritDocPlugin.js +41 -72
- package/dist/lib/converter/plugins/LinkResolverPlugin.d.ts +5 -5
- package/dist/lib/converter/plugins/LinkResolverPlugin.js +37 -58
- package/dist/lib/converter/plugins/MergeModuleWithPlugin.d.ts +12 -0
- package/dist/lib/converter/plugins/MergeModuleWithPlugin.js +49 -0
- package/dist/lib/converter/plugins/PackagePlugin.d.ts +4 -3
- package/dist/lib/converter/plugins/PackagePlugin.js +62 -111
- package/dist/lib/converter/plugins/SourcePlugin.d.ts +3 -5
- package/dist/lib/converter/plugins/SourcePlugin.js +69 -110
- package/dist/lib/converter/plugins/TypePlugin.d.ts +4 -6
- package/dist/lib/converter/plugins/TypePlugin.js +95 -158
- package/dist/lib/converter/plugins/index.d.ts +10 -9
- package/dist/lib/converter/plugins/index.js +10 -21
- package/dist/lib/converter/symbols.d.ts +1 -1
- package/dist/lib/converter/symbols.js +234 -227
- package/dist/lib/converter/types.d.ts +2 -2
- package/dist/lib/converter/types.js +252 -237
- package/dist/lib/converter/utils/nodes.js +5 -13
- package/dist/lib/converter/utils/reflections.d.ts +1 -1
- package/dist/lib/converter/utils/reflections.js +4 -7
- package/dist/lib/converter/utils/repository.d.ts +1 -1
- package/dist/lib/converter/utils/repository.js +103 -97
- package/dist/lib/converter/utils/symbols.js +3 -9
- package/dist/lib/internationalization/index.d.ts +3 -4
- package/dist/lib/internationalization/index.js +3 -8
- package/dist/lib/internationalization/internationalization.d.ts +5 -4
- package/dist/lib/internationalization/internationalization.js +97 -103
- package/dist/lib/internationalization/locale-utils.cjs +8 -0
- package/dist/lib/internationalization/locale-utils.d.cts +8 -0
- package/dist/lib/internationalization/locales/en.cjs +372 -2
- package/dist/lib/internationalization/locales/en.d.cts +343 -2
- package/dist/lib/internationalization/locales/jp.cjs +13 -14
- package/dist/lib/internationalization/locales/jp.d.cts +307 -1
- package/dist/lib/internationalization/locales/ko.cjs +12 -11
- package/dist/lib/internationalization/locales/ko.d.cts +221 -1
- package/dist/lib/internationalization/locales/zh.cjs +43 -19
- package/dist/lib/internationalization/locales/zh.d.cts +409 -1
- package/dist/lib/internationalization/translatable.d.ts +4 -327
- package/dist/lib/internationalization/translatable.js +2 -360
- package/dist/lib/models/FileRegistry.d.ts +20 -9
- package/dist/lib/models/FileRegistry.js +54 -45
- package/dist/lib/models/ReflectionCategory.d.ts +2 -2
- package/dist/lib/models/ReflectionCategory.js +16 -12
- package/dist/lib/models/ReflectionGroup.d.ts +3 -3
- package/dist/lib/models/ReflectionGroup.js +23 -14
- package/dist/lib/models/comments/comment.d.ts +23 -37
- package/dist/lib/models/comments/comment.js +388 -325
- package/dist/lib/models/comments/index.d.ts +2 -2
- package/dist/lib/models/comments/index.js +1 -6
- package/dist/lib/models/index.d.ts +7 -7
- package/dist/lib/models/index.js +7 -23
- package/dist/lib/models/reflections/ReflectionSymbolId.d.ts +2 -2
- package/dist/lib/models/reflections/ReflectionSymbolId.js +42 -34
- package/dist/lib/models/reflections/abstract.d.ts +17 -20
- package/dist/lib/models/reflections/abstract.js +249 -256
- package/dist/lib/models/reflections/container.d.ts +7 -7
- package/dist/lib/models/reflections/container.js +43 -16
- package/dist/lib/models/reflections/declaration.d.ts +15 -12
- package/dist/lib/models/reflections/declaration.js +150 -29
- package/dist/lib/models/reflections/document.d.ts +3 -3
- package/dist/lib/models/reflections/document.js +26 -13
- package/dist/lib/models/reflections/index.d.ts +15 -15
- package/dist/lib/models/reflections/index.js +12 -31
- package/dist/lib/models/reflections/kind.d.ts +1 -1
- package/dist/lib/models/reflections/kind.js +3 -6
- package/dist/lib/models/reflections/parameter.d.ts +5 -4
- package/dist/lib/models/reflections/parameter.js +11 -13
- package/dist/lib/models/reflections/project.d.ts +14 -9
- package/dist/lib/models/reflections/project.js +104 -56
- package/dist/lib/models/reflections/reference.d.ts +3 -3
- package/dist/lib/models/reflections/reference.js +6 -9
- package/dist/lib/models/reflections/signature.d.ts +8 -8
- package/dist/lib/models/reflections/signature.js +35 -14
- package/dist/lib/models/reflections/type-parameter.d.ts +5 -5
- package/dist/lib/models/reflections/type-parameter.js +9 -10
- package/dist/lib/models/reflections/utils.js +1 -4
- package/dist/lib/models/reflections/variant.d.ts +8 -7
- package/dist/lib/models/reflections/variant.js +1 -2
- package/dist/lib/models/sources/file.d.ts +2 -2
- package/dist/lib/models/sources/file.js +22 -5
- package/dist/lib/models/sources/index.d.ts +1 -1
- package/dist/lib/models/sources/index.js +1 -5
- package/dist/lib/models/types.d.ts +29 -16
- package/dist/lib/models/types.js +236 -151
- package/dist/lib/output/components.d.ts +5 -11
- package/dist/lib/output/components.js +84 -125
- package/dist/lib/output/events.d.ts +3 -3
- package/dist/lib/output/events.js +128 -94
- package/dist/lib/output/formatter.d.ts +84 -0
- package/dist/lib/output/formatter.js +624 -0
- package/dist/lib/output/index.d.ts +9 -8
- package/dist/lib/output/index.js +7 -19
- package/dist/lib/output/models/UrlMapping.d.ts +2 -2
- package/dist/lib/output/models/UrlMapping.js +4 -5
- package/dist/lib/output/output.d.ts +14 -0
- package/dist/lib/output/output.js +91 -0
- package/dist/lib/output/plugins/AssetsPlugin.d.ts +9 -8
- package/dist/lib/output/plugins/AssetsPlugin.js +64 -80
- package/dist/lib/output/plugins/HierarchyPlugin.d.ts +7 -0
- package/dist/lib/output/plugins/HierarchyPlugin.js +67 -0
- package/dist/lib/output/plugins/IconsPlugin.d.ts +3 -2
- package/dist/lib/output/plugins/IconsPlugin.js +28 -84
- package/dist/lib/output/plugins/JavascriptIndexPlugin.d.ts +9 -2
- package/dist/lib/output/plugins/JavascriptIndexPlugin.js +90 -96
- package/dist/lib/output/plugins/NavigationPlugin.d.ts +3 -2
- package/dist/lib/output/plugins/NavigationPlugin.js +22 -102
- package/dist/lib/output/plugins/SitemapPlugin.d.ts +3 -2
- package/dist/lib/output/plugins/SitemapPlugin.js +60 -120
- package/dist/lib/output/plugins/index.d.ts +7 -6
- package/dist/lib/output/plugins/index.js +7 -15
- package/dist/lib/output/renderer.d.ts +14 -13
- package/dist/lib/output/renderer.js +130 -185
- package/dist/lib/output/theme.d.ts +9 -5
- package/dist/lib/output/theme.js +14 -62
- package/dist/lib/output/themes/MarkedPlugin.d.ts +8 -9
- package/dist/lib/output/themes/MarkedPlugin.js +152 -117
- package/dist/lib/output/themes/default/DefaultTheme.d.ts +17 -29
- package/dist/lib/output/themes/default/DefaultTheme.js +334 -310
- package/dist/lib/output/themes/default/DefaultThemeRenderContext.d.ts +63 -48
- package/dist/lib/output/themes/default/DefaultThemeRenderContext.js +119 -95
- package/dist/lib/output/themes/default/Slugger.d.ts +13 -0
- package/dist/lib/output/themes/default/Slugger.js +46 -0
- package/dist/lib/output/themes/default/layouts/default.d.ts +5 -5
- package/dist/lib/output/themes/default/layouts/default.js +48 -36
- package/dist/lib/output/themes/default/partials/anchor-icon.d.ts +2 -2
- package/dist/lib/output/themes/default/partials/anchor-icon.js +4 -7
- package/dist/lib/output/themes/default/partials/breadcrumb.d.ts +3 -3
- package/dist/lib/output/themes/default/partials/breadcrumb.js +4 -8
- package/dist/lib/output/themes/default/partials/comment.d.ts +6 -4
- package/dist/lib/output/themes/default/partials/comment.js +52 -29
- package/dist/lib/output/themes/default/partials/footer.d.ts +2 -2
- package/dist/lib/output/themes/default/partials/footer.js +11 -14
- package/dist/lib/output/themes/default/partials/header.d.ts +4 -4
- package/dist/lib/output/themes/default/partials/header.js +9 -13
- package/dist/lib/output/themes/default/partials/hierarchy.d.ts +4 -4
- package/dist/lib/output/themes/default/partials/hierarchy.js +12 -15
- package/dist/lib/output/themes/default/partials/icon.d.ts +4 -4
- package/dist/lib/output/themes/default/partials/icon.js +78 -73
- package/dist/lib/output/themes/default/partials/index.d.ts +3 -3
- package/dist/lib/output/themes/default/partials/index.js +19 -22
- package/dist/lib/output/themes/default/partials/member.d.ts +3 -3
- package/dist/lib/output/themes/default/partials/member.declaration.d.ts +3 -3
- package/dist/lib/output/themes/default/partials/member.declaration.js +18 -61
- package/dist/lib/output/themes/default/partials/member.getterSetter.d.ts +3 -3
- package/dist/lib/output/themes/default/partials/member.getterSetter.js +10 -26
- package/dist/lib/output/themes/default/partials/member.js +19 -24
- package/dist/lib/output/themes/default/partials/member.signature.body.d.ts +3 -3
- package/dist/lib/output/themes/default/partials/member.signature.body.js +17 -21
- package/dist/lib/output/themes/default/partials/member.signature.title.d.ts +4 -7
- package/dist/lib/output/themes/default/partials/member.signature.title.js +8 -35
- package/dist/lib/output/themes/default/partials/member.signatures.d.ts +3 -3
- package/dist/lib/output/themes/default/partials/member.signatures.js +9 -13
- package/dist/lib/output/themes/default/partials/member.sources.d.ts +3 -3
- package/dist/lib/output/themes/default/partials/member.sources.js +13 -17
- package/dist/lib/output/themes/default/partials/members.d.ts +3 -3
- package/dist/lib/output/themes/default/partials/members.js +10 -42
- package/dist/lib/output/themes/default/partials/moduleReflection.d.ts +5 -0
- package/dist/lib/output/themes/default/partials/moduleReflection.js +62 -0
- package/dist/lib/output/themes/default/partials/navigation.d.ts +4 -4
- package/dist/lib/output/themes/default/partials/navigation.js +51 -62
- package/dist/lib/output/themes/default/partials/reflectionPreview.d.ts +3 -3
- package/dist/lib/output/themes/default/partials/reflectionPreview.js +12 -15
- package/dist/lib/output/themes/default/partials/toolbar.d.ts +4 -4
- package/dist/lib/output/themes/default/partials/toolbar.js +16 -20
- package/dist/lib/output/themes/default/partials/type.d.ts +4 -6
- package/dist/lib/output/themes/default/partials/type.js +8 -388
- package/dist/lib/output/themes/default/partials/typeAndParent.d.ts +3 -3
- package/dist/lib/output/themes/default/partials/typeAndParent.js +11 -15
- package/dist/lib/output/themes/default/partials/typeDetails.d.ts +8 -0
- package/dist/lib/output/themes/default/partials/typeDetails.js +222 -0
- package/dist/lib/output/themes/default/partials/typeParameters.d.ts +3 -3
- package/dist/lib/output/themes/default/partials/typeParameters.js +14 -17
- package/dist/lib/output/themes/default/templates/document.d.ts +4 -4
- package/dist/lib/output/themes/default/templates/document.js +3 -7
- package/dist/lib/output/themes/default/templates/hierarchy.d.ts +4 -4
- package/dist/lib/output/themes/default/templates/hierarchy.js +24 -22
- package/dist/lib/output/themes/default/templates/index.d.ts +4 -4
- package/dist/lib/output/themes/default/templates/index.js +3 -7
- package/dist/lib/output/themes/default/templates/reflection.d.ts +4 -4
- package/dist/lib/output/themes/default/templates/reflection.js +32 -34
- package/dist/lib/output/themes/lib.d.ts +17 -3
- package/dist/lib/output/themes/lib.js +118 -50
- package/dist/lib/serialization/components.d.ts +2 -5
- package/dist/lib/serialization/components.js +1 -2
- package/dist/lib/serialization/deserializer.d.ts +21 -7
- package/dist/lib/serialization/deserializer.js +138 -123
- package/dist/lib/serialization/events.d.ts +2 -2
- package/dist/lib/serialization/events.js +6 -5
- package/dist/lib/serialization/index.d.ts +5 -5
- package/dist/lib/serialization/index.js +4 -33
- package/dist/lib/serialization/schema.d.ts +8 -2
- package/dist/lib/serialization/schema.js +2 -2
- package/dist/lib/serialization/serializer.d.ts +11 -5
- package/dist/lib/serialization/serializer.js +32 -25
- package/dist/lib/utils/array.d.ts +3 -0
- package/dist/lib/utils/array.js +26 -27
- package/dist/lib/utils/component.d.ts +2 -44
- package/dist/lib/utils/component.js +10 -102
- package/dist/lib/utils/entry-point.d.ts +3 -4
- package/dist/lib/utils/entry-point.js +114 -85
- package/dist/lib/utils/enum.js +6 -14
- package/dist/lib/utils/events.js +6 -12
- package/dist/lib/utils/fs.js +50 -91
- package/dist/lib/utils/general.d.ts +2 -1
- package/dist/lib/utils/general.js +50 -40
- package/dist/lib/utils/highlighter.js +30 -57
- package/dist/lib/utils/hooks.js +7 -13
- package/dist/lib/utils/html-entities.d.ts +8926 -0
- package/dist/lib/utils/html-entities.js +2329 -0
- package/dist/lib/utils/html.d.ts +8 -0
- package/dist/lib/utils/html.js +81 -34
- package/dist/lib/utils/index.d.ts +22 -22
- package/dist/lib/utils/index.js +20 -91
- package/dist/lib/utils/jsx.d.ts +12 -6
- package/dist/lib/utils/jsx.elements.d.ts +1 -1
- package/dist/lib/utils/jsx.elements.js +3 -4
- package/dist/lib/utils/jsx.js +82 -52
- package/dist/lib/utils/loggers.d.ts +3 -3
- package/dist/lib/utils/loggers.js +36 -46
- package/dist/lib/utils/map.js +6 -13
- package/dist/lib/utils/minimalSourceFile.js +5 -7
- package/dist/lib/utils/options/declaration.d.ts +35 -7
- package/dist/lib/utils/options/declaration.js +20 -22
- package/dist/lib/utils/options/defaults.d.ts +3 -2
- package/dist/lib/utils/options/defaults.js +18 -38
- package/dist/lib/utils/options/help.d.ts +2 -2
- package/dist/lib/utils/options/help.js +7 -10
- package/dist/lib/utils/options/index.d.ts +6 -6
- package/dist/lib/utils/options/index.js +4 -18
- package/dist/lib/utils/options/options.d.ts +8 -5
- package/dist/lib/utils/options/options.js +47 -71
- package/dist/lib/utils/options/readers/arguments.d.ts +2 -2
- package/dist/lib/utils/options/readers/arguments.js +15 -17
- package/dist/lib/utils/options/readers/index.d.ts +4 -4
- package/dist/lib/utils/options/readers/index.js +4 -11
- package/dist/lib/utils/options/readers/package-json.d.ts +3 -3
- package/dist/lib/utils/options/readers/package-json.js +15 -21
- package/dist/lib/utils/options/readers/tsconfig.d.ts +2 -2
- package/dist/lib/utils/options/readers/tsconfig.js +54 -63
- package/dist/lib/utils/options/readers/typedoc.d.ts +3 -3
- package/dist/lib/utils/options/readers/typedoc.js +44 -76
- package/dist/lib/utils/options/sources/index.d.ts +1 -1
- package/dist/lib/utils/options/sources/index.js +1 -5
- package/dist/lib/utils/options/sources/typedoc.d.ts +1 -1
- package/dist/lib/utils/options/sources/typedoc.js +232 -196
- package/dist/lib/utils/options/tsdoc-defaults.d.ts +3 -3
- package/dist/lib/utils/options/tsdoc-defaults.js +16 -12
- package/dist/lib/utils/package-manifest.d.ts +1 -1
- package/dist/lib/utils/package-manifest.js +15 -19
- package/dist/lib/utils/paths.js +9 -15
- package/dist/lib/utils/perf.js +6 -11
- package/dist/lib/utils/plugins.d.ts +1 -1
- package/dist/lib/utils/plugins.js +7 -10
- package/dist/lib/utils/reflections.d.ts +1 -1
- package/dist/lib/utils/reflections.js +9 -12
- package/dist/lib/utils/set.js +2 -6
- package/dist/lib/utils/sort.d.ts +3 -3
- package/dist/lib/utils/sort.js +20 -24
- package/dist/lib/utils/tsconfig.d.ts +1 -1
- package/dist/lib/utils/tsconfig.js +13 -21
- package/dist/lib/utils/tsutils.d.ts +1 -1
- package/dist/lib/utils/tsutils.js +3 -30
- package/dist/lib/utils/validation.js +6 -12
- package/dist/lib/validation/documentation.d.ts +2 -2
- package/dist/lib/validation/documentation.js +26 -29
- package/dist/lib/validation/exports.d.ts +2 -2
- package/dist/lib/validation/exports.js +9 -11
- package/dist/lib/validation/links.d.ts +2 -2
- package/dist/lib/validation/links.js +4 -7
- package/dist/lib/validation/unusedMergeModuleWith.d.ts +3 -0
- package/dist/lib/validation/unusedMergeModuleWith.js +11 -0
- package/package.json +17 -14
- package/static/main.js +4 -4
- package/static/style.css +109 -17
- package/tsdoc.json +30 -0
- package/dist/lib/output/themes/default/partials/member.reference.d.ts +0 -4
- package/dist/lib/output/themes/default/partials/member.reference.js +0 -30
- package/dist/lib/output/themes/default/partials/parameter.d.ts +0 -4
- package/dist/lib/output/themes/default/partials/parameter.js +0 -79
- package/dist/lib/utils/html-entities.json +0 -2326
|
@@ -1,24 +1,42 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
-
|
|
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
|
|
60
|
+
case ReflectionKind.Project:
|
|
66
61
|
return this.proxy.kind_project();
|
|
67
|
-
case
|
|
62
|
+
case ReflectionKind.Module:
|
|
68
63
|
return this.proxy.kind_module();
|
|
69
|
-
case
|
|
64
|
+
case ReflectionKind.Namespace:
|
|
70
65
|
return this.proxy.kind_namespace();
|
|
71
|
-
case
|
|
66
|
+
case ReflectionKind.Enum:
|
|
72
67
|
return this.proxy.kind_enum();
|
|
73
|
-
case
|
|
68
|
+
case ReflectionKind.EnumMember:
|
|
74
69
|
return this.proxy.kind_enum_member();
|
|
75
|
-
case
|
|
70
|
+
case ReflectionKind.Variable:
|
|
76
71
|
return this.proxy.kind_variable();
|
|
77
|
-
case
|
|
72
|
+
case ReflectionKind.Function:
|
|
78
73
|
return this.proxy.kind_function();
|
|
79
|
-
case
|
|
74
|
+
case ReflectionKind.Class:
|
|
80
75
|
return this.proxy.kind_class();
|
|
81
|
-
case
|
|
76
|
+
case ReflectionKind.Interface:
|
|
82
77
|
return this.proxy.kind_interface();
|
|
83
|
-
case
|
|
78
|
+
case ReflectionKind.Constructor:
|
|
84
79
|
return this.proxy.kind_constructor();
|
|
85
|
-
case
|
|
80
|
+
case ReflectionKind.Property:
|
|
86
81
|
return this.proxy.kind_property();
|
|
87
|
-
case
|
|
82
|
+
case ReflectionKind.Method:
|
|
88
83
|
return this.proxy.kind_method();
|
|
89
|
-
case
|
|
84
|
+
case ReflectionKind.CallSignature:
|
|
90
85
|
return this.proxy.kind_call_signature();
|
|
91
|
-
case
|
|
86
|
+
case ReflectionKind.IndexSignature:
|
|
92
87
|
return this.proxy.kind_index_signature();
|
|
93
|
-
case
|
|
88
|
+
case ReflectionKind.ConstructorSignature:
|
|
94
89
|
return this.proxy.kind_constructor_signature();
|
|
95
|
-
case
|
|
90
|
+
case ReflectionKind.Parameter:
|
|
96
91
|
return this.proxy.kind_parameter();
|
|
97
|
-
case
|
|
92
|
+
case ReflectionKind.TypeLiteral:
|
|
98
93
|
return this.proxy.kind_type_literal();
|
|
99
|
-
case
|
|
94
|
+
case ReflectionKind.TypeParameter:
|
|
100
95
|
return this.proxy.kind_type_parameter();
|
|
101
|
-
case
|
|
96
|
+
case ReflectionKind.Accessor:
|
|
102
97
|
return this.proxy.kind_accessor();
|
|
103
|
-
case
|
|
98
|
+
case ReflectionKind.GetSignature:
|
|
104
99
|
return this.proxy.kind_get_signature();
|
|
105
|
-
case
|
|
100
|
+
case ReflectionKind.SetSignature:
|
|
106
101
|
return this.proxy.kind_set_signature();
|
|
107
|
-
case
|
|
102
|
+
case ReflectionKind.TypeAlias:
|
|
108
103
|
return this.proxy.kind_type_alias();
|
|
109
|
-
case
|
|
104
|
+
case ReflectionKind.Reference:
|
|
110
105
|
return this.proxy.kind_reference();
|
|
111
|
-
case
|
|
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
|
|
112
|
+
case ReflectionKind.Project:
|
|
118
113
|
return this.proxy.kind_plural_project();
|
|
119
|
-
case
|
|
114
|
+
case ReflectionKind.Module:
|
|
120
115
|
return this.proxy.kind_plural_module();
|
|
121
|
-
case
|
|
116
|
+
case ReflectionKind.Namespace:
|
|
122
117
|
return this.proxy.kind_plural_namespace();
|
|
123
|
-
case
|
|
118
|
+
case ReflectionKind.Enum:
|
|
124
119
|
return this.proxy.kind_plural_enum();
|
|
125
|
-
case
|
|
120
|
+
case ReflectionKind.EnumMember:
|
|
126
121
|
return this.proxy.kind_plural_enum_member();
|
|
127
|
-
case
|
|
122
|
+
case ReflectionKind.Variable:
|
|
128
123
|
return this.proxy.kind_plural_variable();
|
|
129
|
-
case
|
|
124
|
+
case ReflectionKind.Function:
|
|
130
125
|
return this.proxy.kind_plural_function();
|
|
131
|
-
case
|
|
126
|
+
case ReflectionKind.Class:
|
|
132
127
|
return this.proxy.kind_plural_class();
|
|
133
|
-
case
|
|
128
|
+
case ReflectionKind.Interface:
|
|
134
129
|
return this.proxy.kind_plural_interface();
|
|
135
|
-
case
|
|
130
|
+
case ReflectionKind.Constructor:
|
|
136
131
|
return this.proxy.kind_plural_constructor();
|
|
137
|
-
case
|
|
132
|
+
case ReflectionKind.Property:
|
|
138
133
|
return this.proxy.kind_plural_property();
|
|
139
|
-
case
|
|
134
|
+
case ReflectionKind.Method:
|
|
140
135
|
return this.proxy.kind_plural_method();
|
|
141
|
-
case
|
|
136
|
+
case ReflectionKind.CallSignature:
|
|
142
137
|
return this.proxy.kind_plural_call_signature();
|
|
143
|
-
case
|
|
138
|
+
case ReflectionKind.IndexSignature:
|
|
144
139
|
return this.proxy.kind_plural_index_signature();
|
|
145
|
-
case
|
|
140
|
+
case ReflectionKind.ConstructorSignature:
|
|
146
141
|
return this.proxy.kind_plural_constructor_signature();
|
|
147
|
-
case
|
|
142
|
+
case ReflectionKind.Parameter:
|
|
148
143
|
return this.proxy.kind_plural_parameter();
|
|
149
|
-
case
|
|
144
|
+
case ReflectionKind.TypeLiteral:
|
|
150
145
|
return this.proxy.kind_plural_type_literal();
|
|
151
|
-
case
|
|
146
|
+
case ReflectionKind.TypeParameter:
|
|
152
147
|
return this.proxy.kind_plural_type_parameter();
|
|
153
|
-
case
|
|
148
|
+
case ReflectionKind.Accessor:
|
|
154
149
|
return this.proxy.kind_plural_accessor();
|
|
155
|
-
case
|
|
150
|
+
case ReflectionKind.GetSignature:
|
|
156
151
|
return this.proxy.kind_plural_get_signature();
|
|
157
|
-
case
|
|
152
|
+
case ReflectionKind.SetSignature:
|
|
158
153
|
return this.proxy.kind_plural_set_signature();
|
|
159
|
-
case
|
|
154
|
+
case ReflectionKind.TypeAlias:
|
|
160
155
|
return this.proxy.kind_plural_type_alias();
|
|
161
|
-
case
|
|
156
|
+
case ReflectionKind.Reference:
|
|
162
157
|
return this.proxy.kind_plural_reference();
|
|
163
|
-
case
|
|
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
|
|
164
|
+
case ReflectionFlag.None:
|
|
170
165
|
throw new Error("Should be unreachable");
|
|
171
|
-
case
|
|
166
|
+
case ReflectionFlag.Private:
|
|
172
167
|
return this.proxy.flag_private();
|
|
173
|
-
case
|
|
168
|
+
case ReflectionFlag.Protected:
|
|
174
169
|
return this.proxy.flag_protected();
|
|
175
|
-
case
|
|
170
|
+
case ReflectionFlag.Public:
|
|
176
171
|
return this.proxy.flag_public();
|
|
177
|
-
case
|
|
172
|
+
case ReflectionFlag.Static:
|
|
178
173
|
return this.proxy.flag_static();
|
|
179
|
-
case
|
|
174
|
+
case ReflectionFlag.External:
|
|
180
175
|
return this.proxy.flag_external();
|
|
181
|
-
case
|
|
176
|
+
case ReflectionFlag.Optional:
|
|
182
177
|
return this.proxy.flag_optional();
|
|
183
|
-
case
|
|
178
|
+
case ReflectionFlag.Rest:
|
|
184
179
|
return this.proxy.flag_rest();
|
|
185
|
-
case
|
|
180
|
+
case ReflectionFlag.Abstract:
|
|
186
181
|
return this.proxy.flag_abstract();
|
|
187
|
-
case
|
|
182
|
+
case ReflectionFlag.Const:
|
|
188
183
|
return this.proxy.flag_const();
|
|
189
|
-
case
|
|
184
|
+
case ReflectionFlag.Readonly:
|
|
190
185
|
return this.proxy.flag_readonly();
|
|
191
|
-
case
|
|
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
|
|
230
|
-
...
|
|
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
|
+
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;
|