TypeScript inferir tipo de las claves de un objeto dinámicamente
Cómo crear una interfaz para verificar el tipo de un objeto basado en las claves ingresadas en otro objeto.
Por ejemplo:
const myObject = {
colors: {
black: '#000',
white: '#fff'
},
palette: {
primary: 'black',
secondary: 'orange' // <- should give an error because orange does not exist in colors object
}
};
Respuesta #1
Aquí hay una manera
const colors = {
black: '#000',
white: '#fff'
};
const palette: Record<string, keyof typeof colors> = {
primary: 'black',
secondary: 'white'
};
const myObject = {
colors,
palette
};
