ignored: key extends 'space' ? TSpace.ISpace : key extends 'project' ? TProject.IProject : TBoard.IBoard
} - можно как то динамически подставить тип, типа свича как в js
Паттерн матчинг, который мы заслужили {[key in 'space' | 'project' | 'board']: { ignored: { 'space': TSpace['ISpace'], 'project': TProject['IProject'], 'board': TBoard['IBoard'] }[key] }}
Можно даже вынести повторение: ```ts type TypeMap = { 'space': TSpace['ISpace'], 'project': TProject['IProject'], 'board': TBoard['IBoard'] }; type MappedType = {[key in keyof TypeMap]: { ignored: TypeMap[key] }} ```
Обсуждают сегодня