Я хочу создать объект, используя значения по умолчанию для интерфейса, но на
В то же время меняется структура объекта. Например, для этого интерфейса:
interface IPerson {
name: string
age: number
}
Я хочу создать объект, подобный этому:
const person: IPerson = {
name: {
type: String,
required: true
},
age: {
type: Number,
required: true
}
}
Единственный способ, который я нашел, - это добавить тип объекта к name
и age
из
интерфейс IPerson
, например:
interface IPerson {
name: string | IProp
age: number | IProp
}
interface IProp {
type: any
required?: boolean
// ...
}
Я не хочу менять оригинальный интерфейс IPerson
. Так я был
думая о чем-то вроде этого:
const person: IProperties<IPerson> = {
// use properties of IPerson to determine which key/value pairs are valid in this object
}