确保字符串是带流的十六进制值

Dan*_*idt 4 flowtype

我想确保我得到的值是一个十六进制字符串。目前我说

type Color = string;
function foo(color: Color){}
Run Code Online (Sandbox Code Playgroud)

但是我想说

type Color = '#' + stringOfLength-3-6-8;
function foo(color: Color){}
Run Code Online (Sandbox Code Playgroud)

有没有办法在流程中表达这样的约束?

Nat*_*ote 6

不,这不是类型系统可以表达的。您可以创建一个类型为文字(例如type Foo = 'foo' | 'bar' | ...)的并集的类型,但是除非可以枚举每个可能的字符串,否则您将无法完成所要查询的内容。