Total Complexity | 1 |
Complexity/F | 1 |
Lines of Code | 14 |
Function Count | 1 |
Duplicated Lines | 0 |
Ratio | 0 % |
Changes | 0 |
1 | export type Locales = "en" | "fr"; |
||
2 | type LocalizeableModel<T> = Record<Locales, T>; |
||
3 | type StringFields<T> = { |
||
4 | [K in keyof T]: T[K] extends string | null ? K : never; |
||
5 | }[keyof T]; |
||
6 | |||
7 | export function localizeField<T>( |
||
8 | locale: Locales, |
||
9 | model: LocalizeableModel<T>, |
||
10 | field: StringFields<T>, |
||
11 | ) { |
||
12 | return model[locale][field]; |
||
13 | } |
||
14 |