@gunshi/plugin-i18n 0.27.0-beta.6 → 0.27.3
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/lib/index.d.ts +20 -20
- package/package.json +10 -10
package/lib/index.d.ts
CHANGED
|
@@ -500,7 +500,7 @@ type RemovedIndex<T> = RemoveIndexSignature<{ [K in keyof T]: T[K] }>;
|
|
|
500
500
|
/**
|
|
501
501
|
* Resolve a key on {@link Args}.
|
|
502
502
|
*/
|
|
503
|
-
type KeyOfArgs<A
|
|
503
|
+
type KeyOfArgs<A extends Args$1> = keyof A | { [K in keyof A]: A[K]['type'] extends 'boolean' ? A[K]['negatable'] extends true ? `no-${Extract<K, string>}` : never : never }[keyof A];
|
|
504
504
|
/**
|
|
505
505
|
* Generate a namespaced key.
|
|
506
506
|
*/
|
|
@@ -525,19 +525,19 @@ type CommandBuiltinKeys = GenerateNamespacedKey<BuiltinResourceKeys>;
|
|
|
525
525
|
* Command i18n option keys.
|
|
526
526
|
* The command i18n option keys are used by the i18n plugin for translation.
|
|
527
527
|
*/
|
|
528
|
-
type CommandArgKeys<A
|
|
528
|
+
type CommandArgKeys<A extends Args$1, C = {}, K$1 extends string = GenerateNamespacedKey<Extract<KeyOfArgs<RemovedIndex<A>>, string>, typeof ARG_PREFIX>> = C extends {
|
|
529
529
|
name: infer N;
|
|
530
530
|
} ? (N extends string ? GenerateNamespacedKey<K$1, N> : K$1) : K$1;
|
|
531
531
|
/**
|
|
532
532
|
* Resolve translation keys for command context.
|
|
533
533
|
*/
|
|
534
|
-
type ResolveTranslationKeys<A
|
|
534
|
+
type ResolveTranslationKeys<A extends Args$1, C = {},
|
|
535
535
|
// for CommandContext
|
|
536
|
-
E
|
|
536
|
+
E extends Record<string, string> = {},
|
|
537
537
|
// for extended resources
|
|
538
|
-
R extends string = keyof RemovedIndex<E
|
|
538
|
+
R extends string = keyof RemovedIndex<E>, T extends string = (C extends {
|
|
539
539
|
name: infer N;
|
|
540
|
-
} ? N extends string ? GenerateNamespacedKey<R, N> : R : R | CommandBuiltinKeys), O = CommandArgKeys<A
|
|
540
|
+
} ? N extends string ? GenerateNamespacedKey<R, N> : R : R | CommandBuiltinKeys), O = CommandArgKeys<A, C>> = CommandBuiltinKeys | O | T;
|
|
541
541
|
//#endregion
|
|
542
542
|
//#region ../shared/src/utils.d.ts
|
|
543
543
|
/**
|
|
@@ -563,7 +563,7 @@ declare function resolveBuiltInKey<K$1 extends string = CommandBuiltinResourceKe
|
|
|
563
563
|
* @param name - The command name.
|
|
564
564
|
* @returns Prefixed argument key.
|
|
565
565
|
*/
|
|
566
|
-
declare function resolveArgKey<A
|
|
566
|
+
declare function resolveArgKey<A extends Args$1 = DefaultGunshiParams$1['args'], K$1 extends string = KeyOfArgs<RemovedIndex<A>>>(key: K$1, name?: string): string;
|
|
567
567
|
/**
|
|
568
568
|
* Resolve a namespaced key for non-built-in resources.
|
|
569
569
|
*
|
|
@@ -610,11 +610,11 @@ interface I18nExtension<G extends GunshiParams<any> = DefaultGunshiParams> {
|
|
|
610
610
|
* - For custom keys: returns an empty string ('')
|
|
611
611
|
* - For built-in keys (prefixed with '_:'): returns the key itself
|
|
612
612
|
*/
|
|
613
|
-
translate: <A
|
|
613
|
+
translate: <A extends Args = G['args'], C = {},
|
|
614
614
|
// for CommandContext
|
|
615
|
-
E
|
|
615
|
+
E extends Record<string, string> = {},
|
|
616
616
|
// for extended resources
|
|
617
|
-
K$1 = ResolveTranslationKeys<A
|
|
617
|
+
K$1 = ResolveTranslationKeys<A, C, E>>(key: K$1, values?: Record<string, unknown>) => string;
|
|
618
618
|
/**
|
|
619
619
|
* Load command resources.
|
|
620
620
|
*
|
|
@@ -799,18 +799,18 @@ type WithI18nResourceResult<G extends GunshiParamsConstraint = DefaultGunshiPara
|
|
|
799
799
|
* @param definition - A {@link I18nCommand | command} definition with i18n support
|
|
800
800
|
* @returns A defined {@link I18nCommand | command} with compatible {@linkcode Command} type
|
|
801
801
|
*/
|
|
802
|
-
declare function defineI18n<G extends GunshiParamsConstraint = DefaultGunshiParams, A
|
|
803
|
-
args?: A
|
|
802
|
+
declare function defineI18n<G extends GunshiParamsConstraint = DefaultGunshiParams, A extends Args = ExtractArgs<G>, C = {}>(definition: C & {
|
|
803
|
+
args?: A;
|
|
804
804
|
} & Omit<I18nCommand<{
|
|
805
|
-
args: A
|
|
805
|
+
args: A;
|
|
806
806
|
extensions: ExtractExtensions<G>;
|
|
807
807
|
}>, 'resource' | 'args'> & {
|
|
808
808
|
resource?: CommandResourceFetcher<{
|
|
809
|
-
args: A
|
|
809
|
+
args: A;
|
|
810
810
|
extensions: ExtractExtensions<G>;
|
|
811
811
|
}>;
|
|
812
812
|
}): I18nCommandDefinitionResult<{
|
|
813
|
-
args: A
|
|
813
|
+
args: A;
|
|
814
814
|
extensions: ExtractExtensions<G>;
|
|
815
815
|
}, C>;
|
|
816
816
|
/**
|
|
@@ -821,18 +821,18 @@ declare function defineI18n<G extends GunshiParamsConstraint = DefaultGunshiPara
|
|
|
821
821
|
*
|
|
822
822
|
* @internal
|
|
823
823
|
*/
|
|
824
|
-
type DefineI18nWithTypesReturn<DefaultExtensions extends ExtendContext, DefaultArgs extends Args> = <A
|
|
825
|
-
args?: A
|
|
824
|
+
type DefineI18nWithTypesReturn<DefaultExtensions extends ExtendContext, DefaultArgs extends Args> = <A extends DefaultArgs = DefaultArgs, C = {}>(definition: C & {
|
|
825
|
+
args?: A;
|
|
826
826
|
} & Omit<I18nCommand<{
|
|
827
|
-
args: A
|
|
827
|
+
args: A;
|
|
828
828
|
extensions: DefaultExtensions;
|
|
829
829
|
}>, 'resource' | 'args'> & {
|
|
830
830
|
resource?: CommandResourceFetcher<{
|
|
831
|
-
args: A
|
|
831
|
+
args: A;
|
|
832
832
|
extensions: DefaultExtensions;
|
|
833
833
|
}>;
|
|
834
834
|
}) => I18nCommandDefinitionResult<{
|
|
835
|
-
args: A
|
|
835
|
+
args: A;
|
|
836
836
|
extensions: DefaultExtensions;
|
|
837
837
|
}, C>;
|
|
838
838
|
/**
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gunshi/plugin-i18n",
|
|
3
3
|
"description": "internationalization plugin for gunshi",
|
|
4
|
-
"version": "0.27.
|
|
4
|
+
"version": "0.27.3",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "kazuya kawaguchi",
|
|
7
7
|
"email": "kawakazu80@gmail.com"
|
|
@@ -53,10 +53,10 @@
|
|
|
53
53
|
}
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@gunshi/plugin": "0.27.
|
|
56
|
+
"@gunshi/plugin": "0.27.3"
|
|
57
57
|
},
|
|
58
58
|
"peerDependencies": {
|
|
59
|
-
"@gunshi/plugin-global": "0.27.
|
|
59
|
+
"@gunshi/plugin-global": "0.27.3"
|
|
60
60
|
},
|
|
61
61
|
"peerDependenciesMeta": {
|
|
62
62
|
"@gunshi/plugin-global": {
|
|
@@ -69,16 +69,16 @@
|
|
|
69
69
|
"jsr": "^0.13.5",
|
|
70
70
|
"jsr-exports-lint": "^0.4.1",
|
|
71
71
|
"messageformat": "4.0.0",
|
|
72
|
-
"publint": "^0.3.
|
|
72
|
+
"publint": "^0.3.16",
|
|
73
73
|
"tsdown": "0.15.12",
|
|
74
74
|
"typedoc": "^0.28.15",
|
|
75
75
|
"typedoc-plugin-markdown": "^4.9.0",
|
|
76
|
-
"@gunshi/
|
|
77
|
-
"@gunshi/
|
|
78
|
-
"@gunshi/
|
|
79
|
-
"@gunshi/
|
|
80
|
-
"
|
|
81
|
-
"gunshi": "0.27.
|
|
76
|
+
"@gunshi/plugin-renderer": "0.27.3",
|
|
77
|
+
"@gunshi/bone": "0.27.3",
|
|
78
|
+
"@gunshi/resources": "0.27.3",
|
|
79
|
+
"@gunshi/shared": "0.27.3",
|
|
80
|
+
"gunshi": "0.27.3",
|
|
81
|
+
"@gunshi/plugin-global": "0.27.3"
|
|
82
82
|
},
|
|
83
83
|
"scripts": {
|
|
84
84
|
"build": "tsdown",
|