Open
Description
Do not allow number literals to be used instead of enums. I could think of three places that this can happen:
- Function arguments
- Binary expressions
- Assignment expressions
enum Foo {
ONE,
TWO
}
function getFoo(f: Foo) {
if (f === Foo.ONE) { // Good
}
if (f === 1) { // Bad
}
let ff: Foo;
ff = Foo.TWO // Good
ff = 1 // Bad
}
getFoo(Foo.ONE) // Good
getFoo(1) // Bad
Rule name
I need help with naming it according to conventions
Options
I don't think this rule needs any options. I don't see why anyone wants to use number literals for enums.