Skip to content
← Back to rules

jsdoc/require-yields 正确性

它做了什么

要求对 yield 语句进行文档注释。 如果存在多个 @yields 标签,也会发出警告。

为什么这是不好的?

该规则旨在防止在必要时遗漏 @yields 标签。

示例

此规则的 错误 示例:

javascript
function* quux(foo) {
  yield foo;
}

/**
 * @yields {undefined}
 * @yields {void}
 */
function* quux(foo) {}

此规则的 正确 示例:

javascript
/** * @yields Foo */
function* quux(foo) {
  yield foo;
}

配置

此规则接受一个配置对象,包含以下属性:

exemptedBy

type: string[]

default: ["inheritdoc"]

带有这些标签的函数将被豁免于该检查规则。

forceRequireYields

type: boolean

default: false

当为 true 时,所有生成器函数都必须有 @yields 标签,即使它们不返回值或主体为空。

withGeneratorTag

type: boolean

default: false

当为 true 时,若存在 @generator 标签,则必须提供 @yields 标签。

如何使用

通过配置文件或 CLI 启用此规则,可以使用:

json
{
  "plugins": ["jsdoc"],
  "rules": {
    "jsdoc/require-yields": "error"
  }
}
bash
oxlint --deny jsdoc/require-yields --jsdoc-plugin

参考资料