( nodeIndex: number | undefined, byIndex: Map<number, SnapshotNode>, )
| 209 | } |
| 210 | |
| 211 | function findNearestScrollableAncestor( |
| 212 | nodeIndex: number | undefined, |
| 213 | byIndex: Map<number, SnapshotNode>, |
| 214 | ): SnapshotNode | null { |
| 215 | if (nodeIndex === undefined) { |
| 216 | return null; |
| 217 | } |
| 218 | let node = byIndex.get(nodeIndex); |
| 219 | while (node) { |
| 220 | if (isScrollableNodeLike(node) && isUsableRect(node.rect)) { |
| 221 | return node; |
| 222 | } |
| 223 | node = node.parentIndex === undefined ? undefined : byIndex.get(node.parentIndex); |
| 224 | } |
| 225 | return null; |
| 226 | } |
| 227 | |
| 228 | function collectSubtreeNodes(nodes: SnapshotNode[], rootIndex: number): SnapshotNode[] { |
| 229 | const byIndex = new Map(nodes.map((node) => [node.index, node])); |
no test coverage detected
searching dependent graphs…