Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

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

coderaiser6.7kMIT3.0.1

🐊Putout plugin adds ability to remove useless type conversion

putout, putout-plugin, putout-plugin-remove, plugin, type-conversion, useless

readme

@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

Linter Rule Fix
🐊 Putout remove-useless-type-conversion
ESLint no-implicit-coercion

License

MIT