У меня есть тип, который состоит из 3 перечислений.
enum TextItem {
BOOK = "inventory.book",
PAGE = "inventory.page"
}
enum FoodItem {
BURGER = "food.burger",
LETTUCE = "food.lettuce",
}
enum DrinkItem {
WATER = "drinks.water",
COLA = "drinks.cola",
}
type Item = TextItem | FoodItem | DrinkItem;
const getEnumValue(item: Item) {
// What to do here?
}
Перечисление типа Item
передается в функции getEnumValue
. Что это за вещь, я не буду знать. Но он наверняка имеет тип Item
(например, DrinkItem.WATER
).
При передаче элемента в функцию getEnumValue
, как определить соответствующее строковое значение?
Я былдумая вместо предметов я бы сказал keyof Item
. Но затем Typescript начинает жаловаться на то, что элемент не имеет типа.