задавался вопросом, есть ли способ для машинописи реализовать тип объекта, извлекая его из базовых потомков управления
interface Config {
name: string;
}
interface Input extends Config {
placeholder?: string;
}
interface Select extends Config {
options: Array<Option>;
}
const fields: Array<Config> = [
{ name: 'a', placeholder: 'a'}, // placeholder does not exist in type 'config'
{ name: 'b', options: []} // options does not exist in type 'config'
]
также пытался сделать что-то вроде
interface Config<T> {
name: string;
fieldType: T
}
interface Input extends Config<'input'> {
placeholder?: string;
}
canкто-нибудь перенаправил?