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 にすると、値を yield しない場合や本体が空の関数であっても、すべてのジェネレータ関数に @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

参照