Flowtype允许除特定值之外的任何字符串

时间:2017-11-21 07:22:03

标签: javascript flowtype

我正在试图弄清楚如何正确输入一个棘手的案例。用例是我们有一个API提供了很多通用的细分过滤器(维度+函数组合),但在某些特定情况下(比如日期维度),我们希望限制允许的function值。

这就是我现在所拥有的:

// @flow

type Breakdown =
    | {
          dimension: 'date',
          function: 'day' | 'week' | 'month' | 'year',
      }
    | {
          dimension: string,
          function?: string,
      };

// This should fail
const val: Breakdown = {
    dimension: 'date',
    function: 'foo-bar'
};

演示:https://flow.org/try/#0PTAEAEDMBsHsHcBQiAuBPADgU1AIQE5YCGA1gCYIB2oAvIqA6AD6gDe9jnDZAlgLZZKAZx6xKALlAByMkRRYpAGg5dGkAK6UAxilETpstFObT4WLCWMspfMSgAWV6WmL4lKxgF8PLdqs68AsJ6kkIo+DyUAObK-mqaOnoA-KHhkTEeDJ4A3MggoAAq9jxCoEL2sOrQZKCQRDzQiFpiYaAAbkTQkgTE5FS0bB6BgiJikjJyCrHx2rpj0pCwsAC0AEZEbog5iEA

问题在于通用匹配器将始终匹配所有内容。

除了string之外,还有告诉流量允许所有"date"吗?或者我目前的做法可能是错的?

0 个答案:

没有答案
相关问题