Tengo una función que toma un objeto como entrada y también devuelve un objeto. Me gustaría definirlo de tal manera que pueda tener cualquier cantidad de claves en la entrada o en el objeto devuelto.
Ahora mismo, lo defino así:
const myFunc: ({}) => ({})¿Hay una buena manera de escribirlo para evitar errores de tipo y al mismo tiempo utilizar las ventajas que ofrece TS?
Puede usar el tipo Record<K, V> de TypeScript para especificar un objeto con claves arbitrarias de tipo K y valores de tipo V :
type MyObj = Record<string, any>;Las claves deben ser cadenas, números o símbolos, pero los valores pueden ser de cualquier tipo que especifique. Su función se convertiría entonces en:
const myFunc = (obj: Record<???, ???>): Record<???, ???> => { /* ... */ };