我正在试图弄清楚如何正确输入一个棘手的案例。用例是我们有一个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'
};
问题在于通用匹配器将始终匹配所有内容。
除了string
之外,还有告诉流量允许所有"date"
吗?或者我目前的做法可能是错的?