Fix properties mapping utility function handling of overlapping keys #266
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 Arduino project configuration fields have an odd usage of the
properties.Map
format. Dots may sometimes indicate nested keys, but in other cases they are merely a character in the key string. Previously, the utility function used to recursively map to a configurable depth was not correctly handling this situation due to using the same code both for the recursive mapping to subkeys as well as for the flat mapping at the final depth. The fix for the bug also makes the function more efficient by avoiding callingSubTree()
when it's already known there is no subtree.