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