Мы добавляем некоторые константы в наше приложение для возможных возвращаемых значений для определенных свойств при вызовах API, и я хотел бы найти лучший способ обработки значений, которые могут иметь несколько возможных значений.
Чтобы лучше проиллюстрировать что я имею в виду, рассмотрим код ниже:
export class PlayerNameConstants {
public static readonly LEBRON = 'Lebron James';
public static readonly SHAQ = 'Shaq';
// I know this isn't valid typescript
public static readonly JORDAN = 'Michael Jordan' | 'MJ';
}
// In some other file
apiCallToReturnValue()
.then(val => {
if (val.playerName === PlayerNameConstants.JORDAN) {
//DO SOMETHING
}
})
В вышеприведенном коде, что будет лучшим способом зафиксировать в нашей константе, что JORDAN
может быть либо «Michael Jordan», либо «MJ»? Было бы неплохо, если бы я проверял JORDAN
, поддерживая ту же сигнатуру вызова, что и другие константы, а не превращая ее в функцию. Есть ли способ сделать это?