Javascript 使用TypeScript静态类型减少嵌套模式

Javascript 使用TypeScript静态类型减少嵌套模式,javascript,typescript,static-typing,Javascript,Typescript,Static Typing,最近我一直在做一项复杂的任务,这几乎是一个挑战。为了解决这个问题,您只需要使用静态类型(TypeScript)对原始数据进行缩减 输入 { schemaName:‘foo’, def:Foo, 结构:{ 字段1:字符串, 字段2:{ objectKey:number, }, 字段3:{ __是的, 模式:{ schemaName:'酒吧', 戴夫:酒吧, 结构:{ 字段4:编号, 字段5:{ __是的, 模式:{ schemaName:“baz”, def:Baz, 结构:{ 字段6:字符串,

最近我一直在做一项复杂的任务,这几乎是一个挑战。为了解决这个问题,您只需要使用静态类型(TypeScript)对原始数据进行缩减

输入
{
schemaName:‘foo’,
def:Foo,
结构:{
字段1:字符串,
字段2:{
objectKey:number,
},
字段3:{
__是的,
模式:{
schemaName:'酒吧',
戴夫:酒吧,
结构:{
字段4:编号,
字段5:{
__是的,
模式:{
schemaName:“baz”,
def:Baz,
结构:{
字段6:字符串,
},
},
},
},
},
},
字段7:{
__是的,
模式:{
schemaName:'qux',
def:Qux,
结构:{
字段8:布尔值,
}
},
},
},
}
输出 任务是将此结构转换为以下内容:

type SchemaReduced={
福:福,
酒吧:酒吧,,
巴兹:巴兹,
qux:qux,
};
我的尝试
type FilterReferences=U扩展{uuuu ref:true}?U:从来没有;

输入ExtractNestedSchema这是一项任务还是一项挑战?)@尤萨林上尉,我希望把这项任务命名为挑战,让它尽快得到解决。这是一项任务还是一项挑战?);()())@尤萨里安上尉,我希望把这项任务命名为挑战,让它尽快解决。