Скажем, у меня очень простая функция, которая просто принимает аргумент любого типа и обертывает его в массив.Как я могу аннотировать Я хочу, чтобы какой-либо тип вводился, но что-то типа того же типа, что и вывод с потоком?
function wrap (anything) {
return [anything]
}
Это было бы очень легко описано в (что я понимаю, чтобы быть) Хиндли-Милнера аннотацию, как это:
// wrap :: a -> [a]
Как бы я идти об использовании Flow «S аннотацию типа, чтобы показать это то же самое, т. е. что я хочу, чтобы какой-либо тип вводился, и массив того же типа, что и вывод?
Следующая не работает:
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