У меня есть два типа моделей:
type ModelA = { type: 'ModelA' }
type ModelB = { type: 'ModelB' }
type Model = ModelA | ModelB
Теперь у меня есть функция делегата executeCommand
:
function executeCommand(model: Model, command)
Допустимые команды для ModelA
: read
и update
и действительными командами для ModelB
являются add
и delete
.
Теперь я хочу создать обобщенный тип c для command
, чтобы я мог ограничить command
s, передаваемых executeCommand
функция, основанная на типе model
.
Я не хочу использовать интерфейсы или классы.