Как типизировать new Map в typescript с разными values?

Подскажите пожалуйста как правильно типизировать new Map из примера:
enum Names {
 user = 'user',
 car = 'car'
}

class User {}

class Car {}

const mymap = new Map<Names, User | Car>()

mymap.set(Names.user, new User());
mymap.set(Names.car, new Car());

const res = mymap.get(Names.user); // как получить по ключу тип User ?


В данном примере сейчас res соответствует типу User | Car | undefined. А как получить тип User если ключ передан Names.user?
Кто нибудь типизировал подобные вещи?
  • Вопрос задан
  • 466 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы