on master help sign in
Debugger: fix flattenNodes() so it doesn't return duplicates.
af37805Laszlo Pandy
runtime/Debugger.js+10−5
@@ -435,13 +435,18 @@ function restoreNodeValues(allNodes, nodeStates) {
435}
435}
436
436
437function flattenNodes(nodes) {
437function flattenNodes(nodes) {
438− var treeReduce = function(prev, cur, i, arr) {
438+ var nodesById = {};
439− var flatKids = cur.kids.reduce(treeReduce, []);
439+
440− flatKids.push(cur);
440+ function addAllToDict(node) {
441− return prev.concat(flatKids);
441+ nodesById[node.id] = node;
442+ node.kids.forEach(addAllToDict);
442 }
443 }
444+ nodes.forEach(addAllToDict);
443
445
444− return nodes.reduce(treeReduce, []);
446+ var allNodes = Object.keys(nodesById).sort().map(function(key) {
447+ return nodesById[key];
448+ });
449+ return allNodes;
445};
450};
446
451
447}());
452}());