refactor: reduces duplication in sort-union-types
and sort-intersection-types
#439
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.
Description
The differences between the source code of
sort-union-types
andsort-intersection-types
are minimal (https://www.diffchecker.com/NZ9LSvo7/). Outside meta-related information (rule name, error IDs, etc), the only logic-related differences areWhen this rule is triggered (on union types vs on intersection types).
Partition by comment:
tokenValueToIgnoreBefore
eslint-plugin-perfectionist/rules/sort-union-types.ts
Line 206 in 0df348f
VS
eslint-plugin-perfectionist/rules/sort-intersection-types.ts
Line 206 in 0df348f
This PR creates a
sortUnionOrIntersectionTypes
function that puts all of this logic in common to greatly reduce code duplication.No test impacted.
What is the purpose of this pull request?