mirror of
				https://git.proxmox.com/git/pve-eslint
				synced 2025-11-04 04:48:24 +00:00 
			
		
		
		
	includes a (minimal) working wrapper Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
		
			
				
	
	
	
		
			1.7 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			1.7 KiB
		
	
	
	
	
	
	
	
Disallow arrow functions where they could be confused with comparisons (no-confusing-arrow)
Arrow functions (=>) are similar in syntax to some comparison operators (>, <, <=, and >=). This rule warns against using the arrow function syntax in places where it could be confused with a comparison operator.
Here's an example where the usage of => could be confusing:
// The intent is not clear
var x = a => 1 ? 2 : 3;
// Did the author mean this
var x = function (a) { return 1 ? 2 : 3 };
// Or this
var x = a <= 1 ? 2 : 3;
Rule Details
Examples of incorrect code for this rule:
/*eslint no-confusing-arrow: "error"*/
/*eslint-env es6*/
var x = a => 1 ? 2 : 3;
var x = (a) => 1 ? 2 : 3;
Examples of correct code for this rule:
/*eslint no-confusing-arrow: "error"*/
/*eslint-env es6*/
var x = a => (1 ? 2 : 3);
var x = (a) => (1 ? 2 : 3);
var x = a => { return 1 ? 2 : 3; };
var x = (a) => { return 1 ? 2 : 3; };
Options
This rule accepts a single options argument with the following defaults:
{
    "rules": {
        "no-confusing-arrow": ["error", {"allowParens": true}]
    }
}
allowParens is a boolean setting that can be true(default) or false:
truerelaxes the rule and accepts parenthesis as a valid "confusion-preventing" syntax.falsewarns even if the expression is wrapped in parenthesis
Examples of incorrect code for this rule with the {"allowParens": false} option:
/*eslint no-confusing-arrow: ["error", {"allowParens": false}]*/
/*eslint-env es6*/
var x = a => (1 ? 2 : 3);
var x = (a) => (1 ? 2 : 3);