From 18a22e6f4c04eb47e2912d0648460575fd167cc9 Mon Sep 17 00:00:00 2001 From: Peter Date: Thu, 5 Oct 2023 12:10:35 +0200 Subject: [PATCH] refactor(xyflow) improved performance of getConnectedEdgesBase --- packages/system/src/utils/graph.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/system/src/utils/graph.ts b/packages/system/src/utils/graph.ts index fb7d74c2..dca0dacc 100644 --- a/packages/system/src/utils/graph.ts +++ b/packages/system/src/utils/graph.ts @@ -161,9 +161,12 @@ export const getConnectedEdgesBase = { - const nodeIds = nodes.map((node) => node.id); + const nodeIds = new Set(); + nodes.forEach((node) => { + nodeIds.add(node.id); + }); - return edges.filter((edge) => nodeIds.includes(edge.source) || nodeIds.includes(edge.target)); + return edges.filter((edge) => nodeIds.has(edge.source) || nodeIds.has(edge.target)); }; export function fitView, Options extends FitViewOptionsBase>(