3.0.1 β€’ Published 1 year ago

@putout/plugin-remove-useless-type-conversion v3.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

@putout/plugin-remove-useless-type-conversion NPM version

It is possible to use a couple of NOT operators (!!) in series to explicitly force the conversion of any value to the corresponding boolean primitive. The conversion is based on the "truthyness" or "falsyness" of the value.

The same conversion can be done through the Boolean function.

(c) MDN

🐊Putout plugin adds ability to remove useless type conversion. Merged to @putout/plugin-types.

Install

npm i @putout/plugin-remove-useless-type-conversion

Rule

{
    "rules": {
        "remove-useless-type-conversion/named": "on",
        "remove-useless-type-conversion/with-double-negations": "on"
    }
}

named

❌ Example of incorrect code

const a = !![1].includes(1);
const b = Boolean([1].includes(1));

βœ… Example of correct code

const a = [1].includes(1);

with-double-negations

❌ Example of incorrect code

if (!!a) {
    console.log('hi');
}

βœ… Example of correct code

if (a) {
    console.log('hi');
}

Comparison

LinterRuleFix
🐊 Putoutremove-useless-type-conversionβœ…
⏣ ESLintno-implicit-coercionβœ…

License

MIT