【问题标题】:Can I use JSDoc annotations with Flow to enforce typing on a per-file basis?我可以在 Flow 中使用 JSDoc 注释来强制按文件输入吗?
【发布时间】:2021-02-02 01:15:52
【问题描述】:

我想要的是 Flow 理解 JSDoc 语法,不需要任何转译。

例子:

// @flow
/**
 * @param {string} str
 * @return {string}
 */
function foo(str) {
  return str + str;
}
foo(1);  // Flow shows error

然后使用flow check-contents < foo.js 得到错误。

有可能吗?最好不使用 Babel 或任何其他转译器。 (更重要的是 - 当已经有标准可用时,为什么 Flow 会选择发明自己的语法?这基本上会迫使我们选择 TypeScript 而不是 Flow。)

相关问题:Include Flow Types into JSDoc

【问题讨论】:

  • 其实Typescript支持对带有JSDoc注解的javascript文件进行类型检查typescriptlang.org/docs/handbook/…
  • @Aleksey L. 谢谢。是的,我认为我们将不得不选择 TypeScript。
  • 现在这不是很难的决定????

标签: flowtype


【解决方案1】:

不,但您可以使用如下所述的内联类型声明:https://flow.org/en/docs/types/comments/

例子:

// @flow

/*::
type MyAlias = {
  foo: number,
  bar: boolean,
  baz: string,
};
*/

function method(value /*: MyAlias */) /*: boolean */ {
  return value.bar;
}

method({ foo: 1, bar: true, baz: ["oops"] });

【讨论】:

    猜你喜欢
    • 2016-10-17
    • 2015-06-02
    • 2018-11-03
    • 2021-06-07
    • 1970-01-01
    • 1970-01-01
    • 2016-10-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多