(tree, callback)
| 1478 | } |
| 1479 | |
| 1480 | static filter(tree, callback) { |
| 1481 | const selected = []; |
| 1482 | |
| 1483 | function traverse(node) { |
| 1484 | if (callback(node)) |
| 1485 | selected.push(node); |
| 1486 | |
| 1487 | for (const child of Object.values(node.children)) |
| 1488 | traverse(child); |
| 1489 | } |
| 1490 | |
| 1491 | for (const node of Object.values(tree.nodes)) |
| 1492 | traverse(node); |
| 1493 | |
| 1494 | return selected; |
| 1495 | } |
| 1496 | } |
no test coverage detected