From 188f59c582b647d973cf720640c65ef77ad281ee Mon Sep 17 00:00:00 2001 From: joshunrau Date: Tue, 4 Aug 2026 12:25:06 -0400 Subject: [PATCH] fix: namespace augmentation for Language --- src/i18n/types.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/i18n/types.ts b/src/i18n/types.ts index dd357fc..d2848ff 100644 --- a/src/i18n/types.ts +++ b/src/i18n/types.ts @@ -2,7 +2,7 @@ /* eslint-disable @typescript-eslint/consistent-type-definitions */ /* eslint-disable @typescript-eslint/no-namespace */ -import type { OmitIndexSignature, Primitive, Simplify } from 'type-fest'; +import type { Merge, OmitIndexSignature, Primitive, Simplify } from 'type-fest'; import type libuiTranslations from './translations/libui.json'; @@ -10,6 +10,12 @@ interface TranslationsLike { [key: string]: TranslationsLike | { [L in Language]?: string }; } +interface DefaultLanguageOptions { + en: true; + es: true; + fr: true; +} + export declare namespace UserConfig { interface LanguageOptions { [key: string]: boolean; @@ -17,11 +23,7 @@ export declare namespace UserConfig { interface Translations extends TranslationsLike {} } -export type LanguageOptions = UserConfig.LanguageOptions & { - en: true; - es: true; - fr: true; -}; +export type LanguageOptions = OmitIndexSignature>; export type Language = keyof { [L in keyof LanguageOptions as LanguageOptions[L] extends true ? L : never]: any };