7.0.0 β€’ Published 4 months ago

@putout/plugin-simplify-ternary v7.0.0

Weekly downloads
2,782
License
MIT
Repository
github
Last release
4 months ago

@putout/plugin-simplify-ternary NPM version

The ternary operator takes three operands: a condition followed by a question mark (?), then an expression to execute if the condition is truthy followed by a colon (:), and finally the expression to execute if the condition is falsy. This operator is frequently used as an alternative to an if...else statement.

(c) MDN

🐊Putout plugin adds ability to simplify ternary to logical expression when first and second operands are the same.

Install

npm i @putout/plugin-simplify-ternary -D

Rule

{
    "rules": {
        "simplify-ternary/value": "on",
        "simplify-ternary/spread": "on"
    }
}

value

Check out in 🐊Putout Editor.

❌ Example of incorrect code

module.exports = fs.copyFileSync ? fs.copyFileSync : copyFileSync;

x = y ? y : z;
x = y ? z : y;
x = y ? z : false;

m = is ? a && b : a && c;

βœ… Example of correct code

module.exports = fs.copyFileSync || copyFileSync;

x = y || z;
x = y && z;

m = a && is ? b : c;

spread

No need to use ternary when you can use logical expression (&&) it behaves in the same way, but simpler.

Check out in 🐊Putout Editor.

❌ Example of incorrect code

const a = {
    ...DEV ? {
        devtool: 'eval',
    } : {},
};

βœ… Example of correct code

const a = {
    ...DEV && {
        devtool: 'eval',
    },
};

Comparison

LinterRuleFix
🐊 Putoutsimplify-ternaryβœ…
⏣ ESLintno-unneeded-ternary⚠️ (partially: no MemberExpression, SpreadElement support)

License

MIT

7.0.0

4 months ago

6.1.0

10 months ago

6.0.0

10 months ago

5.1.0

12 months ago

5.0.1

1 year ago

5.0.0

1 year ago

3.1.0

1 year ago

4.0.0

1 year ago

3.0.0

2 years ago

2.3.0

3 years ago

2.2.1

3 years ago

2.5.0

3 years ago

2.4.0

3 years ago

2.5.2

3 years ago

2.6.0

3 years ago

2.5.1

3 years ago

2.2.0

3 years ago

2.1.0

3 years ago

2.0.0

4 years ago

1.1.0

5 years ago

1.0.0

5 years ago