refactor: extract shared code for linting if-else chains #821
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The rules
early-return
,indent-error-flow
andsuperfluous-else
have a similar structure. This moves the common logic for classifying if-else chains to a common package.A few side benefits:
Motivation: preliminary refactor to make #816 easier to implement. Tidying up code I added to
early-return
rule previously.I added tests wherever I noticed a change in behaviour (noted above).
I added the new package at
internal/ifelse
. If there's a better home, let me know.