Поток ошибок аннотации отсутствующего типа js

Я использую поток js для проверки статического типа в моем проекте. Я получаю ошибки при проверке типа.

Вот шаги, которые я выполнил при настройке потока в проекте.

npm i flow-bin -SD

Добавлены команды в project.json:

"scripts": {
  "flow": "flow",
  "flow:check": "flow check ./src/"
}

Теперь при запуске npm run flow:check я получаю эту ошибку.

Missing type annotation for fn.

   6| module.exports = function( ds, schema, fn ) {
                                             ^^

person nevihs    schedule 07.03.2018    source источник


Ответы (1)


Потому что Flow нужно, чтобы вы сообщили ему сигнатуру типа этой функции.

Теперь, если это код, который вы не контролируете (например, код внутри node_modules), я предлагаю исключить его из проверки типов Flow; большинство библиотек не поставляют/не объединяют определения типов для Flow (они могут быть в репозитории flow-typed) .

Если это код, которым вы управляете (это часть кода вашего приложения), просто добавьте типы. Например (это случайные типы, вы должны заменить их на правильные):

module.exports = function( ds: string, schema: number, fn: (string) => boolean ): boolean {
    // ...
};

В этом примере параметр ds должен быть строкой, schema должен быть числом, а параметр fn должен быть функцией, которая принимает строку в качестве единственного параметра и возвращает логическое значение при вызове. И тип результата экспортируемой функции также является логическим.

person Armando Pérez Marqués    schedule 12.04.2018