Skip to content

Enhancement: [no-unsafe-enum-comparison] Suggestion fixer to switch to enum value #7643

Closed
@JoshuaKGoldberg

Description

@JoshuaKGoldberg

Before You File a Proposal Please Confirm You Have Done The Following...

My proposal is suitable for this project

  • I believe my proposal would be useful to the broader TypeScript community (meaning it is not a niche proposal).

Link to the rule's documentation

https://typescript-eslint.io/rules/no-unsafe-enum-comparison

Description

If the rule detects an unsafe enum<>literal comparison that happens to match with a member of the enum's type, the rule report could include a suggestion to switch the literal to that literal value.

- fruit === "apple";
+ fruit === Fruit.Apple;

Fail

enum Fruit {
  Apple = 'apple',
}

declare let fruit: Fruit;

fruit === "apple";

Pass

enum Fruit {
  Apple = 'apple',
}

declare let fruit: Fruit;

fruit === Fruit.Apple;

Additional Info

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    accepting prsGo ahead, send a pull request that resolves this issueenhancement: plugin rule optionNew rule option for an existing eslint-plugin rulepackage: eslint-pluginIssues related to @typescript-eslint/eslint-plugin

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions