feat(core): allow passing node ids as string to getConnectedEdges

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
This commit is contained in:
braks
2023-04-11 20:28:02 +02:00
committed by Braks
parent c1fc2b1e79
commit b3addf63d2
+8 -5
View File
@@ -364,25 +364,28 @@ export function getNodesInside(
})
}
export function getConnectedEdges<N extends Node | { id: string }, E extends Edge>(nodes: N[], edges: E[]) {
const nodeIds = nodes.map((node) => node.id)
export function getConnectedEdges<N extends Node | { id: string } | string, E extends Edge>(nodes: N[], edges: E[]) {
const nodeIds = nodes.map((node) => (isString(node) ? node : node.id))
return edges.filter((edge) => nodeIds.includes(edge.source) || nodeIds.includes(edge.target))
}
export function getConnectedNodes<N extends Node | { id: string }, E extends Edge>(nodes: N[], edges: E[]) {
const nodeIds = nodes.map((node) => node.id)
export function getConnectedNodes<N extends Node | { id: string } | string, E extends Edge>(nodes: N[], edges: E[]) {
const nodeIds = nodes.map((node) => (isString(node) ? node : node.id))
const connectedNodeIds = edges.reduce((acc, edge) => {
if (nodeIds.includes(edge.source)) {
acc.add(edge.target)
}
if (nodeIds.includes(edge.target)) {
acc.add(edge.source)
}
return acc
}, new Set<string>())
return nodes.filter((node) => connectedNodeIds.has(node.id))
return nodes.filter((node) => connectedNodeIds.has(isString(node) ? node : node.id))
}
export function getTransformForBounds(