Fix feature-dependent config
expressions
#13453
Open
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 aims to fix #13452.
Some remarks:
A more roboust alternative to
typeEquals
would be to ensure that the type constants maintain their identity across thepostMessage
boundary, but that would be a more involved refactor than what I could do.An alternative to the
featureConstant
flag inConfig
would be to store the config expression itself in the instance, and defer toeachChild
for determining whether it's feature constant, however I'm not sure that'd work (can the value of a config option change between parsing and evaluating the["config"]
expression)?Launch Checklist
@mapbox/map-design-team
@mapbox/static-apis
if this PR includes style spec API or visual changes.@mapbox/gl-native
if this PR includes shader changes or needs a native port.