Files: 3f073ea11fb89ac588e03450eec129c825ff6fcb / lib / walk.js
355 bytesRaw
1 | module.exports = function walk (node, fn) { |
2 | var current = node |
3 | while (current) { |
4 | fn(current) |
5 | current = nextNode(current, node) |
6 | } |
7 | } |
8 | |
9 | function nextNode (current, root) { |
10 | var result = current.firstChild |
11 | while (current && !result && current !== root) { |
12 | result = current.nextSibling |
13 | current = current.parentNode |
14 | } |
15 | return result |
16 | } |
17 |
Built with git-ssb-web