All files / app/codeCharta/ui/codeMap/arrow/utils setEdgeVisibility.ts

100% Statements 14/14
100% Branches 8/8
100% Functions 1/1
100% Lines 13/13

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2116x   16x 17x 14x   14x 4x 4x   4x 1x 3x 1x 2x 1x          
import { Edge, EdgeVisibility } from "../../../../codeCharta.model"
 
export const setEdgeVisibility = (edgePreviewNodes: Set<string>, edges: Edge[], edgeMetric: string) => {
    for (const edge of edges) {
        edge.visible = EdgeVisibility.none
 
        if (edge.attributes[edgeMetric] !== undefined) {
            const hasFromNodeEdgePreview = edgePreviewNodes.has(edge.fromNodeName)
            const hasToNodeEdgePreview = edgePreviewNodes.has(edge.toNodeName)
 
            if (hasFromNodeEdgePreview && hasToNodeEdgePreview) {
                edge.visible = EdgeVisibility.both
            } else if (hasFromNodeEdgePreview) {
                edge.visible = EdgeVisibility.from
            } else if (hasToNodeEdgePreview) {
                edge.visible = EdgeVisibility.to
            }
        }
    }
}