Skip to content

Rule proposal: no-implicit-coercion using a negative/minus (-) symbol #7076

Closed
@NotWoods

Description

@NotWoods

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

My proposal is suitable for this project

  • My proposal specifically checks TypeScript syntax, or it proposes a check that requires type information to be accurate.
  • My proposal is not a "formatting rule"; meaning it does not just enforce how code is formatted (whitespace, brace placement, etc).
  • I believe my proposal would be useful to the broader TypeScript community (meaning it is not a niche proposal).

Description

ESLint's no-implicit-coercion rule can't check for casting a string to a number by using - because it would disallow negating a regular number. By using type information, we can provide additional coercion checks.

Fail Cases

const foo = '32px'
var n = -foo;

Pass Cases

const bar = 32
var n = -bar;
var n = -Number(foo);
var n = -parseFloat(foo);
var n = -parseInt(foo, 10);

Additional Info

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    accepting prsGo ahead, send a pull request that resolves this issueenhancement: new plugin ruleNew rule request for eslint-pluginpackage: 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