Joe*_*ina 5 typescript typescript2.0
我希望能够强制 objValidator 与它验证的 obj 具有相同的键。这在 TypeScript 中可能吗?关于如何实现下面这样的东西的任何想法?主要是obj和objValidator必须有相同的key,但是key的值不同。
如果我的 objValidator 没有与 obj 完全相同的键,我希望能够收到警告。
interface obj {
alpha: number
beta: string
}
interface objValidator {
alpha: {
message: string
valid(ALPHA'S TYPE): boolean
}
beta: {
message: string
valid(BETA'S TYPE): boolean
}
}
Run Code Online (Sandbox Code Playgroud)
使用映射类型可能是这样的:
interface Obj {
alpha: number
beta: string
}
type Validator<T> = {
[P in keyof T]: {message: string, valid: boolean};
};
let o: Obj = { alpha: 1, beta: "123" };
let v: Validator<Obj> =
{
alpha: {
message: "ok",
valid: true
},
beta: {
message: "not ok",
valid: false
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1684 次 |
| 最近记录: |