我在尝试创建一个简单的打字程序,
其约束对象匹配给定的接口数据类型。
例如,我有一个接口Config
和一个模式对象
我希望abc.value
被限制为字符串,而xyz.value
被限制为number
:
interface Config {
abc: string
xyz: number
}
const schema: XXX = {
abc: {
value: '',
},
xyz: {
value: 0,
},
}
我尝试使用infer
关键字,但无法让它正常工作。
const schema: Record<T extends keyof Config ? infer keyof Config : any, any> = {
abc: {
value: '',
},
xyz: {
value: 0,
},
}
我做错了什么?任何帮助都将不胜感激
谢谢你。
1条答案
按热度按时间ifmq2ha21#
请使用mapped types:
Playground