возможно ли в typescript основоваясь на дженерике вернуть тот или иной вариант интерфейса
возможно ли реализовать что то такое?
export type TD<U = null> = U ? {
x: number;
} : {
x?: number;
}
в данном случее мне конкретно интересует опциональная (?) зависишая от дженерика (передан или нет)
PC: когда кидал вопрос забыл про Required каторый в принципе решает вопрос, но если есть возможность реализовать вот что то такое, буду рад узнать.
для этого нужно Было.
export namespace NCash {
export interface IInitialState {
cash: number;
}
export type TAdd = Required<IAction<ECashActions.ADD_CASH, IInitialState['cash']>>;
export type TGet = Required<IAction<ECashActions.GET_CASH, IInitialState['cash']>>;
export type TActions = TAdd | TGet;
}
export interface IAction<T, U = never> extends Action<T> {
payload?: U;
}
Источник: Stack Overflow на русском