(defNodes: Node[])
| 1803 | : ''; |
| 1804 | |
| 1805 | const impactOf = (defNodes: Node[]) => { |
| 1806 | const mergedNodes = new Map<string, Node>(); |
| 1807 | const mergedEdges: Edge[] = []; |
| 1808 | const seenEdges = new Set<string>(); |
| 1809 | for (const node of defNodes) { |
| 1810 | const impact = cg.getImpactRadius(node.id, depth); |
| 1811 | for (const [id, n] of impact.nodes) { |
| 1812 | mergedNodes.set(id, n); |
| 1813 | } |
| 1814 | for (const e of impact.edges) { |
| 1815 | const key = `${e.source}->${e.target}:${e.kind}`; |
| 1816 | if (!seenEdges.has(key)) { |
| 1817 | seenEdges.add(key); |
| 1818 | mergedEdges.push(e); |
| 1819 | } |
| 1820 | } |
| 1821 | } |
| 1822 | return { nodes: mergedNodes, edges: mergedEdges, roots: defNodes.map((n) => n.id) }; |
| 1823 | }; |
| 1824 | |
| 1825 | // Single definition (or same-file overloads): the familiar merged report. |
| 1826 | if (groups.length === 1) { |
nothing calls this directly
no test coverage detected