Skip to content

Commit ea528c4

Browse files
authored
fix: tm function should accept DefineLocaleMessage key type (#2014)
1 parent cea7cb4 commit ea528c4

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

packages/vue-i18n/src/vue.d.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import type {
88
NumberOptions,
99
IsNever,
1010
IsEmptyObject,
11-
PickupKeys,
1211
PickupFormatPathKeys
1312
} from '@intlify/core-base'
1413
import type {
@@ -1107,8 +1106,14 @@ declare module 'vue' {
11071106
*/
11081107
$tm<
11091108
Key extends string,
1110-
Messages extends object = {},
1111-
ResourceKeys extends PickupKeys<Messages> = PickupKeys<Messages>
1109+
DefinedLocaleMessage extends
1110+
RemovedIndexResources<DefineLocaleMessage> = RemovedIndexResources<DefineLocaleMessage>,
1111+
Keys = IsEmptyObject<DefinedLocaleMessage> extends false
1112+
? JsonPaths<{
1113+
[K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K]
1114+
}>
1115+
: never,
1116+
ResourceKeys extends Keys = IsNever<Keys> extends false ? Keys : never
11121117
>(
11131118
key: Key | ResourceKeys
11141119
): LocaleMessageValue<VueMessageType> | {}

0 commit comments

Comments
 (0)