typescript/no-duplicate-type-constituents 正しさ
何を行うか
このルールは、ユニオン型またはインターセクション型の重複する要素を禁止します。
なぜ悪いのか
ユニオン型およびインターセクション型内の重複する要素は目的がなく、コードの読みづらさを増す可能性があります。これは誤りである可能性が高いです。
例
このルールに対して 不適切 なコードの例:
ts
type T1 = "A" | "A";
type T2 = A | A | B;
type T3 = { a: string } & { a: string };
type T4 = [A, A];
type T5 = "foo" | "bar" | "foo";このルールに対して 適切 なコードの例:
ts
type T1 = "A" | "B";
type T2 = A | B | C;
type T3 = { a: string } & { b: string };
type T4 = [A, B];
type T5 = "foo" | "bar" | "baz";設定
このルールは、次のプロパティを持つ設定オブジェクトを受け入れます。
ignoreIntersections
type: boolean
default: false
インターセクション型内の重複する型を無視するかどうか。 true にすると、type T = A & A を許可します。
ignoreUnions
type: boolean
default: false
ユニオン型内の重複する型を無視するかどうか。 true にすると、type T = A | A を許可します。
使用方法
設定ファイルまたは CLI でこのルールを 有効化 するには、次のように使用できます:
json
{
"rules": {
"typescript/no-duplicate-type-constituents": "error"
}
}bash
oxlint --type-aware --deny typescript/no-duplicate-type-constituents