Skip to content

noConstantMathMinMaxClamp (since v1.7.0)

Diagnostic Category: lint/nursery/noConstantMathMinMaxClamp

Sources:

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));
nursery/noConstantMathMinMaxClamp.js:1:1 lint/nursery/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));
nursery/noConstantMathMinMaxClamp.js:1:1 lint/nursery/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));