Skip to content

noConstantMathMinMaxClamp (JavaScript)

Language JavaScript (and super languages)
biome.json
{
"linter": {
"rules": {
"correctness": {
"noConstantMathMinMaxClamp": "error"
}
}
}
}

Disallow the use of Math.min and Math.max to clamp a value where the result itself is constant.

Math.min(0, Math.max(100, x));
code-block.js:1:1 lint/correctness/noConstantMathMinMaxClamp  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

✖ This Math.min/Math.max combination leads to a constant result.

> 1 │ Math.min(0, Math.max(100, x));
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 │

ℹ It always evaluates to 0.

> 1 │ Math.min(0, Math.max(100, x));
│ ^
2 │

ℹ Unsafe fix: Swap 0 with 100.

1 │ - Math.min(0,·Math.max(100,·x));
1 │ + Math.min(100,·Math.max(0,·x));
2 2 │

Math.max(100, Math.min(0, x));
code-block.js:1:1 lint/correctness/noConstantMathMinMaxClamp  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

✖ This Math.min/Math.max combination leads to a constant result.

> 1 │ Math.max(100, Math.min(0, x));
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 │

ℹ It always evaluates to 100.

> 1 │ Math.max(100, Math.min(0, x));
│ ^^^
2 │

ℹ Unsafe fix: Swap 100 with 0.

1 │ - Math.max(100,·Math.min(0,·x));
1 │ + Math.max(0,·Math.min(100,·x));
2 2 │

Math.min(100, Math.max(0, x));