Revise special case handling for fill-outline-color #6242
Merged
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 prior code in
FillStyleLayer#recalculate
handled the case wherefill-outline-color
was currently undefined, but not the case where it was transitioning from an undefined value to a defined value. In order to handle that case, we must modify the special casing inDataDrivenProperty<T>#interpolate
so that it returns aPossiblyEvaluatedPropertyValue
containingundefined
, rather than a bareundefined
value. This makes the return value consistent with the "default value" forfill-outline-color
(the one contained inPossiblyEvaluated#_values
's prototype), and then both cases can be handled with one conditional inFillStyleLayer#recalculate
.Fixes #6238.
Launch Checklist