P1B: Refactor (packages/ui/src/theme/color.ts): Complex binary expression - #183
Open
TiffanyLiu2029 wants to merge 2 commits into
Open
P1B: Refactor (packages/ui/src/theme/color.ts): Complex binary expression#183TiffanyLiu2029 wants to merge 2 commits into
TiffanyLiu2029 wants to merge 2 commits into
Conversation
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Issue for this PR
Closes #180
Type of change
What does this PR do?
This PR refactors the complex binary expression in
fitOklchinpackages/ui/src/theme/color.ts.Previously, the code checked whether all three RGB values were between 0 and 1 using one long conditional expression. I split these checks into
redInRange,greenInRange, andblueInRangevariables and then check those variables together. This keeps the same behavior while making the condition easier to read and removing the targeted Qlty smell.I also added tests for
fitOklchto verify that an in-gamut color remains unchanged and that an out-of-gamut color has its chroma reduced.How did you verify your code works?
I ran the tests for the UI package and confirmed that both new tests pass.
bun test src/theme/color.test.tsResult:
I also ran coverage and confirmed that the changed portion of
fitOklchis executed by the tests.Qlty also no longer reports the targeted complex binary expression at the original line 120.
Screenshots / recordings
Before Qlty:
After Qlty:
Targeted lint for the changed file:
Test and coverage results:
Checklist