假设我有一个非常简单的函数,只需要接受任何类型的参数并将其包装在数组中。
function wrap (anything) {
return [anything]
}
这很容易在(我理解的)Hindley-Milner注释中描述,像这样:
// wrap :: a -> [a]
我如何使用Flow的类型注释来显示同样的事情,即我想要任何类型作为输入,以及与输出相同类型的数组?
以下不起作用:
function wrap (anything: a): Array<a> {
return [anything]
}
它抛出了这个错误:
ERROR in src/wrap.js:1
1: function wrap(x: a): Array<a> {
^ identifier `a`. Could not resolve name