Improvement/hoc react functional modules #355
Closed
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
Solution in relevant pull request complements one of previous fixes related to the React functional components: #219
Related Issues
Fix that included in mentioned above PR resolves issue about cognitive complexity score redundancy when using React functional components with additional score for nested if else condition inside of functional component methods. It works as expected, but the problem comes up when we are wrapping our functional component with HOC - in my case it was memoization function which are often used inline - this leaded to same issue with redundant +1 score for nested conditions in methods.
For fixing that, I've decided to look for a parent node name with additionally considering if we are returning JSX element/fragment to properly check is that a functional component or not.
Tests
I added the following test in cognitive complexity rule tester:
Test Suites: 34 passed, 34 total
Tests: 561 passed, 561 total
Snapshots: 0 total
Time: 6.116 s