限制或指定接口中键的可能值

时间:2019-02-11 10:23:16

标签: typescript

我需要定义一个接口,其中键可以是某个值范围内的值。

所以我有这样的东西

interface ComparisonOperator {
  [operator: string]: [string, string | number];
}

密钥可以是> >= !=之类的值,等等

因此应该有可能建立类似这样的东西:

{'>', ['field bla', 5]}

但是我想指定\限制可能的键值,这可能吗?

谢谢

1 个答案:

答案 0 :(得分:0)

是的,您可以这样简单地完成

type ComparisonOperatorType = [string, string | number];

interface ComparisonOperator {
    '>': ComparisonOperatorType;
    '==': ComparisonOperatorType;
    '>=': ComparisonOperatorType;
}

否则,不可能是"An index signature parameter type cannot be a union type"