(startingNode, filter)
| 337 | } |
| 338 | |
| 339 | function getRetainingNodes(startingNode, filter) { |
| 340 | const seen = new Set(); |
| 341 | function listNodes(node) { |
| 342 | if (!filter(node) || seen.has(node)) return; |
| 343 | seen.add(node); |
| 344 | for (const edge of node.incomingEdges) { |
| 345 | listNodes(edge.from); |
| 346 | } |
| 347 | } |
| 348 | listNodes(startingNode); |
| 349 | return [...seen]; |
| 350 | } |
| 351 | |
| 352 | module.exports = { |
| 353 | recordState, |
no test coverage detected
searching dependent graphs…