typescript/no-invalid-void-type 制限
何をしますか
戻り値の型や設定されたジェネリックコンテキスト以外で void 型を使用することを禁止します。
なぜ問題ですか?
TypeScript において、void は主に戻り値の位置で意味を持ちます。他の型の場所(パラメータ、プロパティ、エイリアス、およびほとんどのユニオン)で void を使用することは、通常混乱を招き、誤った型設計を示していることが多いです。
例
このルールに対して誤りなコードの例:
ts
function takeVoid(arg: void) {}
type Alias = void;
type Union = string | void;このルールに対して正しいコードの例:
ts
function f(): void {}
type P = Promise<void>;
type U = void | never;設定
このルールは次のプロパティを持つ設定オブジェクトを受け入れます:
allowAsThisParameter
type: boolean
default: false
関数の this パラメータが void であっても許可するかどうか。
allowInGenericTypeArguments
type: array | boolean
allowInGenericTypeArguments[n]
type: string
使い方
このルールを設定ファイルまたは CLI で有効化するには、次のように使用できます:
json
{
"rules": {
"typescript/no-invalid-void-type": "error"
}
}bash
oxlint --deny typescript/no-invalid-void-type