Skip to content
← Back to rules

promise/param-names スタイル

何をするか

Promise コンストラクタの標準的なパラメータ名を強制します。

なぜ問題なのか

new Promise() を初期化する際に、resolvereject というパラメータ名を使用することで、順序が rejectresolve のように混同されるのを避けることができます。Promise コンストラクタは、RevealingConstructor パターンを使用しています。言語仕様と同一のパラメータ名を使用することで、コードの一貫性が向上し、理解しやすくなります。

このルールに違反する不正なコードの例:

javascript
new Promise(function (reject, resolve) {
  /* ... */
}); // オーダーが不正
new Promise(function (ok, fail) {
  /* ... */
}); // 標準外のパラメータ名

このルールに従う正しいコードの例:

javascript
new Promise(function (resolve, reject) {});

設定

このルールは、以下のプロパティを持つ設定オブジェクトを受け入れます。

rejectPattern

type: string

reject パラメータ名の検証に使用される正規表現パターン。指定された場合、デフォルトの ^_?reject$ チェックの代わりにこのパターンが使用されます。

resolvePattern

type: string

resolve パラメータ名の検証に使用される正規表現パターン。指定された場合、デフォルトの ^_?resolve$ チェックの代わりにこのパターンが使用されます。

使用方法

設定ファイルまたは CLI でこのルールを有効化するには、次のようにします:

json
{
  "plugins": ["promise"],
  "rules": {
    "promise/param-names": "error"
  }
}
bash
oxlint --deny promise/param-names --promise-plugin

参考資料