international-types
Advanced tools
Comparing version 0.3.2 to 0.3.3
export declare type LocaleValue = string | number | boolean | null | undefined | Date; | ||
export declare type BaseLocale = Record<string, LocaleValue>; | ||
export declare type LocaleKeys<Locale extends BaseLocale, Scope extends Scopes<Locale> | undefined, Key extends string = Extract<keyof Locale, string>> = Scope extends undefined ? Key : Key extends `${Scope}.${infer Test}` ? Test : never; | ||
export declare type Params<Value extends LocaleValue> = Value extends '' ? [] : Value extends `${infer Head}{${infer Param}}${infer Tail}` ? [Param, ...Params<Tail>] : []; | ||
export declare type Params<Value extends LocaleValue> = Value extends '' ? [] : Value extends `{${infer Param}, ${string}, ${string}}` ? [Param] : Value extends `${string}{${infer Param}}${infer Tail}` ? [Param, ...Params<Tail>] : []; | ||
export declare type ParamsObject<Value extends LocaleValue> = Record<Params<Value>[number], LocaleValue>; | ||
@@ -6,0 +6,0 @@ declare type ExtractScopes<Value extends string, Prev extends string | undefined = undefined> = Value extends `${infer Head}.${infer Tail}` ? [ |
{ | ||
"name": "international-types", | ||
"version": "0.3.2", | ||
"version": "0.3.3", | ||
"description": "Type-safe internationalization (i18n) utility types", | ||
@@ -5,0 +5,0 @@ "types": "dist/index.d.ts", |
4217