Tengo la siguiente interfaz/tipo como se muestra a continuación:
export interface Bar { title?: string; [key: string]: string; } export type Foo = { name: string; } & { [key: string]: Bar; };Y cuando intento declarar una variable así:
const someObject: Foo = { name: 'John', city: { a: 'something', }, };Me da el error:
Escriba '{ nombre: cadena; ciudad: {a: cadena; }; }' no es asignable para escribir 'Foo'. Escriba '{ nombre: cadena; ciudad: {a: cadena; }; }' no se puede asignar al tipo '{ [clave: cadena]: Bar ; }'. El 'título' de la propiedad es incompatible con la firma del índice. El tipo 'cadena' no se puede asignar al tipo 'Bar'.
Pregunta :
Cómo crear una interfaz para satisfacer un objeto como:
const someObject: Foo = { name: 'John', randomProperty1: { a: 'a' }, randomProperty2: { b: 'b' }, // any number of 'Bar' };