Estoy tratando de agregar escritura al método de reducción. Así que estoy viendo algo como esto:
interface tmp { foo: string; bar: string; } const a: tmp = { bar: 'value', foo: 'value2', } const b: tmp = Object.keys(a).reduce((acc,key: string) => { acc[key] = key; return acc; }, {})El problema es que me sale este error:
Al tipo '{}' le faltan las siguientes propiedades del tipo 'tmp': foo, bar
Lo cual es cierto, pero no realmente. ¿Cómo puedo hacer que esta configuración funcione?
Intenté hacer esto:
type keysType = { [key in keyof typeof ParameterLabels]: string }; export const ParameterNames: ParameterInputs = Object.keys(ParameterLabels).reduce( (acc, key) => { acc[key] = key; return acc; }, {}, );
Pero ahora estoy recibiendo este error:
El argumento de tipo '{}' no se puede asignar al parámetro de tipo 'keysType'. Al tipo '{}' le faltan las siguientes propiedades del tipo 'keysType': tipo de parámetro, tipo, nombre, valor mínimo y 6 más.
al pasar el acumulador.