export function handleEdgeCreate()

in src/state/edge/edgeActionDispatcher.ts [70:84]


export function handleEdgeCreate<NodeType, EdgeType>(
  store: Store<DiagramMakerData<NodeType, EdgeType>>,
  src: string | undefined,
  dest: string | undefined
) {
  if (src && dest) {
    const state = store.getState();
    const edgeIds = Object.keys(state.edges);
    const duplicate = edgeIds.filter(edgeId => state.edges[edgeId].src === src && state.edges[edgeId].dest === dest);
    if (!!state.nodes[src] && !!state.nodes[dest] && duplicate.length === 0) {
      const id = `dm-edge-${uuid()}`;
      store.dispatch(createNewEdgeAction(id, src, dest));
    }
  }
}