From ce8b04b7026f97546491b9ebee26aa1d4034c825 Mon Sep 17 00:00:00 2001 From: braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Tue, 18 Oct 2022 09:24:02 +0200 Subject: [PATCH] refactor(core): add generics to isNode/isEdge fn --- packages/core/src/utils/graph.ts | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/core/src/utils/graph.ts b/packages/core/src/utils/graph.ts index c478f588..5f70254f 100644 --- a/packages/core/src/utils/graph.ts +++ b/packages/core/src/utils/graph.ts @@ -6,6 +6,7 @@ import type { Dimensions, Edge, EdgeMarkerType, + ElementData, Elements, FlowElement, Getters, @@ -40,13 +41,18 @@ export const getHostForElement = (element: HTMLElement): Document => { } type MaybeElement = Node | Edge | Connection | FlowElement -export const isEdge = (element: MaybeElement): element is Edge => + +export const isEdge = (element: MaybeElement): element is Edge => element && 'id' in element && 'source' in element && 'target' in element -export const isGraphEdge = (element: MaybeElement): element is GraphEdge => + +export const isGraphEdge = (element: MaybeElement): element is GraphEdge => isEdge(element) && 'sourceNode' in element && 'targetNode' in element -export const isNode = (element: MaybeElement): element is Node => element && 'id' in element && !isEdge(element) -export const isGraphNode = (element: MaybeElement): element is GraphNode => isNode(element) && 'computedPosition' in element +export const isNode = (element: MaybeElement): element is Node => + element && 'id' in element && !isEdge(element) + +export const isGraphNode = (element: MaybeElement): element is GraphNode => + isNode(element) && 'computedPosition' in element export const parseNode = (node: Node, nodeExtent: CoordinateExtent, defaults?: Partial): GraphNode => { let defaultValues = defaults