Reputation: 357
I'm using TSLint extension for VS Code. I got bunch of [tslint] misplaced 'else' (one-line)
warnings. For example, at the below code sample, linter underlines else word and gives same warning:
Code:
if (user.isAdmin) {
this.uiRouter.stateService.go('app.admin');
}
else {
this.sharedVariables.user = user;
this.navigateByUserType(user);
}
What is the problem with this code?
Upvotes: 9
Views: 16412
Reputation: 317
Always ensure to have the ending if curly bracket and the else statement on the same line.
This is as per TSLint one-line rule documentation.
Upvotes: -1
Reputation: 4151
From the tslint one-line rule documentation
Rule: one-line
Requires the specified tokens to be on the same line as the expression preceding them.
You have a tslint rule enabled called one-line
with a token specified called check-else
. This tells tslint to warn for every else
statement that isn't on the same line as the previous ending curly brace. If you move up the else statement to the same line as the ending curly brace of the if statement the tslint rule should be satisfied.
if (user.isAdmin) {
this.uiRouter.stateService.go('app.admin');
} else {
this.sharedVariables.user = user;
this.navigateByUserType(user);
}
Upvotes: 45