Version 1
[yaffs-website] / node_modules / dom-walk / index.js
diff --git a/node_modules/dom-walk/index.js b/node_modules/dom-walk/index.js
new file mode 100644 (file)
index 0000000..9c2402d
--- /dev/null
@@ -0,0 +1,24 @@
+var slice = Array.prototype.slice
+
+module.exports = iterativelyWalk
+
+function iterativelyWalk(nodes, cb) {
+    if (!('length' in nodes)) {
+        nodes = [nodes]
+    }
+    
+    nodes = slice.call(nodes)
+
+    while(nodes.length) {
+        var node = nodes.shift(),
+            ret = cb(node)
+
+        if (ret) {
+            return ret
+        }
+
+        if (node.childNodes && node.childNodes.length) {
+            nodes = slice.call(node.childNodes).concat(nodes)
+        }
+    }
+}