Spaces:
Running
Running
module.exports = function walk(nodes, cb, bubble) { | |
var i, max, node, result; | |
for (i = 0, max = nodes.length; i < max; i += 1) { | |
node = nodes[i]; | |
if (!bubble) { | |
result = cb(node, i, nodes); | |
} | |
if ( | |
result !== false && | |
node.type === "function" && | |
Array.isArray(node.nodes) | |
) { | |
walk(node.nodes, cb, bubble); | |
} | |
if (bubble) { | |
cb(node, i, nodes); | |
} | |
} | |
}; | |