I have this interface where I basically want to have an array of hashes. Something like this (propably not correct):
export interface EntitySpec { originId: EntityType; mandatoryProperties: Array<{ [key: string]: string }>; }
But I want to apply the interface like this:
const spec: EntitySpec = { originId: 1, mandatoryProperties: { 'code': 'sad', 'name': 'this', 'comment': 'here', }, };
But I get this: Type ‘{ code: string; }’ is not assignable to type ‘{ [key: string]: string; }[]’. How would I do this properly?
Advertisement
Answer
It’s because mandatoryProperties
is an Array
of objects. Wrap that into []
and you should be fine:
const spec: EntitySpec = { originId: 1, mandatoryProperties: [ { 'code': 'sad', 'name': 'this', 'comment': 'here', } ] };