【发布时间】:2019-11-14 01:33:44
【问题描述】:
我正在尝试输入 HTTP PATCH document structure 并且可以发誓我已经看到基于另一个 prop 值的条件 Typescript 属性,但我不能确定。也可能有一种方法可以通过联合类型来做到这一点......
这是架构:
[
{ "op": "test", "path": "/a/b/c", "value": "foo" },
{ "op": "remove", "path": "/a/b/c" },
{ "op": "add", "path": "/a/b/c", "value": [ "foo", "bar" ] },
{ "op": "replace", "path": "/a/b/c", "value": 42 },
{ "op": "move", "from": "/a/b/c", "path": "/a/b/d" },
{ "op": "copy", "from": "/a/b/d", "path": "/a/b/e" }
]
注意,有一个op 属性,其值可以是"test" | "remove" | "add" | "replace" | "move" | "copy"。 move 和 copy 操作具有 from 属性,并且不包含其他操作(remove 除外)具有的 value 属性。
显然,我可以将 from 和 value 设为可选并继续我的生活,但我失去了验证方面,所以我想知道是否有可能(如果不是很容易)定义遵守的类型架构。
【问题讨论】:
标签: typescript