Здравствуйте. Подскажите пожалуйста, как мне вернуть ключ от enum, чтобы он соответствовал типу, созданному при помощи keyof typeof:
enum DataInfo{
MyData = 10,
OtherData = 20
}
type DataKeys = keyof typeof DataInfo;
function test(): DataKeys {
return DataInfo[DataInfo.MyData];
}
Данный код возвращает ошибку:
Type 'string' is not assignable to type '"MyData" | "OtherData"'
В моем примере, получается return "MyData"; валидный, а ключи от DataInfo нет.
Но DataInfo[...] это же не просто строка, это его ключ, который всегда будет совпадать с типом DataKeys.
Как обьяснить это ts, без использования as?