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 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | 2x 2x 2x 7x 7x 7x 14x 13x 20x 20x 20x 8x 16x 12x 7x | import { getUpdatedPath } from "../../../../util/nodePathHelper"
import { CCFile, Edge } from "../../../../codeCharta.model"
import { clone } from "../../../../util/clone"
export function getMergedEdges(inputFiles: CCFile[], withUpdatedPath: boolean) {
const edges: Map<string, Edge> = new Map()
Iif (inputFiles.length === 1) {
return inputFiles[0].settings.fileSettings.edges
}
for (const inputFile of inputFiles) {
if (inputFile.settings.fileSettings.edges) {
for (const oldEdge of inputFile.settings.fileSettings.edges) {
const edge: Edge = {
fromNodeName: withUpdatedPath
? getUpdatedPath(inputFile.fileMeta.fileName, oldEdge.fromNodeName)
: oldEdge.fromNodeName,
toNodeName: withUpdatedPath ? getUpdatedPath(inputFile.fileMeta.fileName, oldEdge.toNodeName) : oldEdge.toNodeName,
attributes: clone(oldEdge.attributes),
visible: oldEdge.visible
}
const equalEdgeItem = edges.get(`${edge.fromNodeName}|${edge.toNodeName}`)
if (equalEdgeItem !== undefined) {
for (const key of Object.keys(edge.attributes)) {
equalEdgeItem.attributes[key] = edge.attributes[key]
}
} else {
edges.set(`${edge.fromNodeName}|${edge.toNodeName}`, edge)
}
}
}
}
return [...edges.values()]
}
|