T extends Product.Bread ? BreadSorts
: T extends Product.Juice ? Juices
: never;
function f<T, P>(product: T, param: TParam<P>) : any {
// ...
}
Сразу скажу что discriminated union не работают с conditional types
Обсуждают сегодня