fix(no_successive_maps): prevent failing on nested maps #372
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.
Description
I just added the option:
traverse => all
to the rule because when I investigated the problem with the provided example, I realized that theelvis_code:find
does not go deep into this nested map, because the zippers can go deeper only if anode
is abranch
. A node is identified as abranch
if it has something in itscontent
field(if the traverse is set tocontent
). So we need to changetraverse
toall
so theelvis_code
can use thenode_attrs
as the children of the node.In this example, the rule fails because a
map_field_assoc
type node contains no content, preventing the functionelvis_code:find
from going deeper; it only returns that one map.Closes #339.