-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reduce cognitive complexity in Card Builder component #4859
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This comment was marked as outdated.
This comment was marked as outdated.
Merge conflicts addressed. |
This comment was marked as outdated.
This comment was marked as outdated.
thornbill
reviewed
Oct 27, 2023
Kudos, SonarCloud Quality Gate passed! 0 Bugs No Coverage information |
Cloudflare Pages deployment
|
thornbill
approved these changes
Oct 27, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
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.
This PR partially addresses gh-4842 — cognitive complexity is lowered but not fully eliminated. Since there are a number of changes, it is best to review the changes thus far, and hopefully merge in what has been addressed to this point.
Issue gh-4842 should be kept open when/if this PR is merged. I will continue working on the issue.
Changes
jsdom
to dev dependencies to allow for testing functionality globally infused with objects such aswindow
ordom
.cardBuilderUtils.js
to Typescript for stronger typing, bubbling up potential issues early.cardBuilder.js
:isResizable
tocardBuilderUtils
— added test cases.getDefaultBackgroundClass
tocardBuilderUtils
— added test cases.isUsingLiveTvNaming
tocardBuilderUtils
— added test cases.getDefaultColorIndex
tocardBuilderUtils
— added test cases.buildCard
function to reduce cognitive complexity:resolveAction
determines the action of the card (play, pause, etc.) — added test cases.resolveMixedShapeByAspectRatio
determines the type of mixed shape to use based on aspect ratio — added test cases.resolveCardImageContainerCssClasses
determines Card Image container CSS classes — added test cases.resolveCardBoxCssClasses
determines Card Box CSS classes — added test cases.resolveCardCssClasses
determines Card CSS classes — added test cases.Issues
Continues work on gh-4842