Skip to content

Commit aaf1069

Browse files
committed
fix(core): avoid adding invalid edges (like null or undefined)
1 parent 04658b2 commit aaf1069

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

packages/core/src/store/actions.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -448,14 +448,14 @@ export function useActions(
448448
nextEdges = Array.isArray(nextEdges) ? nextEdges : [nextEdges]
449449

450450
const validEdges = state.isValidConnection
451-
? nextEdges.filter((edge) =>
452-
state.isValidConnection!(edge, {
451+
? nextEdges.filter((edge) => {
452+
return state.isValidConnection?.(edge, {
453453
edges: state.edges,
454454
nodes: state.nodes,
455455
sourceNode: findNode(edge.source)!,
456456
targetNode: findNode(edge.target)!,
457-
}),
458-
)
457+
})
458+
})
459459
: nextEdges
460460

461461
const changes = validEdges.reduce((edgeChanges, connection) => {

packages/core/src/utils/store.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ export function addEdgeToStore(
1616
triggerError: State['hooks']['error']['trigger'],
1717
defaultEdgeOptions?: DefaultEdgeOptions,
1818
): GraphEdge | false {
19-
if (!edgeParams.source || !edgeParams.target) {
20-
triggerError(new VueFlowError(ErrorCode.EDGE_INVALID, (edgeParams as Edge).id))
19+
if (!edgeParams || !edgeParams.source || !edgeParams.target) {
20+
triggerError(new VueFlowError(ErrorCode.EDGE_INVALID, (edgeParams as undefined | Edge)?.id ?? `[ID UNKNOWN]`))
2121
return false
2222
}
2323

0 commit comments

Comments
 (0)