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

3.0.1 • Public • Published

@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

Dependencies (0)

    Dev Dependencies (6)

    Package Sidebar

    Install

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

    Weekly Downloads

    2,013

    Version

    3.0.1

    License

    MIT

    Unpacked Size

    5.67 kB

    Total Files

    6

    Last publish

    Collaborators

    • coderaiser