; | |
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); | |
} | |
} | |
}; | |