Мне нужно вывести структуру и свойства объекта из результата, возвращаемого функцией.
Когда функция возвращается, мне нужна та же структура, которую я добавил, но свойства этих ключей должны быть определенных type
или interface
.
interface Validated{
error:boolean
missing:boolean
validated:boolean
}
interface Result<T>{
error:boolean,
struct:T
}
const testObj ={
d1:{
d2:{
name:'jack'
}
}
}
function test<T>(obj:T):Result<T>{
return {
error: false,
struct: {
d1: {
d2: {
name: {
error: false,
missing: false,
validated: true
}
}
}
}
};
}
const result = test(testObj)
//result.struct.d1.d2.name // works
// result.struct.d1.d1.name.validated // does not work
Когда функция возвращает результат, я могу просмотреть структуру, которую передал функции result.d1.d2.name
Однако мне нужно, чтобы свойство name
выводилось как Validated
интерфейс result.d1.d2.name.validated
Итак, вопрос в том, как подключить интерфейс Validated
к свойству name
, независимо от глубины свойства.