From 4ec15002bfc7b7deae0837bb6c45cd2e4e96ca44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Acid=20Chicken=20=28=E7=A1=AB=E9=85=B8=E9=B6=8F=29?= Date: Fri, 19 Jan 2024 01:09:06 +0900 Subject: [PATCH] refactor: hide parameterized locale strings from type data in ts access --- packages/frontend/src/scripts/i18n.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/frontend/src/scripts/i18n.ts b/packages/frontend/src/scripts/i18n.ts index 0e6ab36a30..dd75028b83 100644 --- a/packages/frontend/src/scripts/i18n.ts +++ b/packages/frontend/src/scripts/i18n.ts @@ -25,6 +25,10 @@ type ParametersOf = { + readonly [K in keyof T as T[K] extends ParameterizedString ? never : K]: T[K] extends ILocale ? Ts : string; +}; + export class I18n { constructor(private locale: T) { //#region BIND @@ -32,7 +36,7 @@ export class I18n { //#endregion } - public get ts(): T { + public get ts(): Ts { if (_DEV_) { class Handler implements ProxyHandler { get(target: TTarget, p: string | symbol): unknown {