User
А если мы пишем аналогичные функции getUserCountryName и getUserCurrencyCode — тоже в них все 150 возможных ответов перечислять?
enum CountryCodeEnum { US = 'US', // ... RU = 'RU', } enum UserTypeEnum { STANDARD = 'standard', PREMIUM = 'premium', ADMIN = 'admin' } interface IUser { id: number; name: string; age: number; type: UserTypeEnum; country: CountryCodeEnum; } function getCountryCode(user: IUser): CountryCodeEnum { return user.country; }
Тут зависит от ситуации.