Rule: arrow-return-shorthand
Suggests to convert () => { return x; } to () => x.
Rationale
It’s unnecessary to include return and {} brackets in arrow lambdas.
Leaving them out results in simpler and easier to read code.
Notes:
Has Fixer
Config
If multiline is specified, then this will warn even if the function spans multiple lines.
Config examples
"arrow-return-shorthand": true
"arrow-return-shorthand": [true, "multiline"]
Schema
{
"type": "string",
"enum": [
"multiline"
]
}
Code examples:
Enforces usage of the shorthand return syntax when an arrow function's body does not span multiple lines.
"rules": { "arrow-return-shorthand": true }
Passes
const calc = (x: number, y: number) => ({ add: x + y, sub: x - y, mul: x * y });
const calc2 = (x: number, y: number) => {
return { add: x + y, sub: x - y, mul: x * y }
};
Fails
const calc = (x: number, y: number) => { return { add: x + y, sub: x - y, mul: x * y } };
const calc2 = (x: number, y: number) => {
return { add: x + y, sub: x - y, mul: x * y }
};
Enforces usage of the shorthand return syntax even when an arrow function's body spans multiple lines.
"rules": { "arrow-return-shorthand": [true, "multiline"] }
Passes
const calc = (x: number, y: number) => ({ add: x + y, sub: x - y, mul: x * y });
const calc2 = (x: number, y: number) =>
({ add: x + y, sub: x - y, mul: x * y });
Fails
const calc = (x: number, y: number) => { return { add: x + y, sub: x - y, mul: x * y } };
const calc2 = (x: number, y: number) => {
return { add: x + y, sub: x - y, mul: x * y }
};