( node: FileTree, cache: Map<FolderNode, CoverageStats>, )
| 138 | } |
| 139 | |
| 140 | function getNodeCoverageStats( |
| 141 | node: FileTree, |
| 142 | cache: Map<FolderNode, CoverageStats>, |
| 143 | ): CoverageStats { |
| 144 | if (!('children' in node)) { |
| 145 | return node; |
| 146 | } |
| 147 | const cached = cache.get(node); |
| 148 | if (cached) { |
| 149 | return cached; |
| 150 | } |
| 151 | const stats = aggregateChildCoverage(node.children, cache); |
| 152 | cache.set(node, stats); |
| 153 | return stats; |
| 154 | } |
| 155 | |
| 156 | function sortCoverageTree(root: CoverageTreeNode): CoverageTreeNode { |
| 157 | if (!root.children?.length) { |
no test coverage detected