Javascript flowtype-函数参数只能是对象的属性值之一

Javascript flowtype-函数参数只能是对象的属性值之一,javascript,flowtype,Javascript,Flowtype,我正在尝试在我的函数上使用flowtype。我举了以下例子: const operations = { create: 'create', update: 'update', remove: 'remove' } foo('create') or foo('update') or foo('remove') function foo(op) { console.log(op) } op只能是操作对象中的值之一 如何更改foo函数以使用所需的流类型您可以创建

我正在尝试在我的函数上使用flowtype。我举了以下例子:

const operations = {
    create: 'create',
    update: 'update',
    remove: 'remove'
}

foo('create') or foo('update') or foo('remove')

function foo(op) {
    console.log(op)
}
op
只能是
操作
对象中的
值之一

如何更改
foo
函数以使用所需的流类型

您可以创建

编辑

如果
操作中的键始终与您可以执行的值匹配

function foo(op: $Enum<typeof operations>) {
  // ...
}
函数foo(op:$Enum){ // ... }

我希望有一种方法可以在向对象添加新属性时进行缩放,并避免使用并集
function foo(op: $Enum<typeof operations>) {
  // ...
}