File size: 395 Bytes
bc20498
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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)
    }
  }
}