@delove/reaflow
Version:
Node-based Visualizations for React
53 lines (52 loc) • 1.7 kB
TypeScript
import { EdgeData, NodeData, PortData } from '../types';
/**
* Helper function for upserting a node in a edge.
*/
export declare function upsertNode(nodes: NodeData[], edges: EdgeData[], edge: EdgeData, newNode: NodeData): {
nodes: NodeData<any>[];
edges: EdgeData<any>[];
};
/**
* Helper function for removing a node between edges and
* linking the children.
*/
export declare function removeAndUpsertNodes(nodes: NodeData[], edges: EdgeData[], removeNodes: NodeData | NodeData[], onNodeLinkCheck?: (newNodes: NodeData[], newEdges: EdgeData[], from: NodeData, to: NodeData, port?: PortData) => undefined | boolean): {
edges: EdgeData<any>[];
nodes: NodeData<any>[];
};
/**
* Helper function to remove a node and its related edges.
*/
export declare function removeNode(nodes: NodeData[], edges: EdgeData[], removeNodes: string | string[]): {
nodes: any[];
edges: any[];
};
/**
* Helper function to remove a node's related edges.
*/
export declare function removeEdgesFromNode(nodeId: string, edges: EdgeData[]): EdgeData<any>[];
/**
* Remove edge(s)
*/
export declare function removeEdge(edges: EdgeData[], edge: EdgeData | EdgeData[]): EdgeData<any>[];
/**
* Create an edge given 2 nodes.
*/
export declare function createEdgeFromNodes(fromNode: NodeData, toNode: NodeData): {
id: string;
from: string;
to: string;
parent: string;
};
/**
* Add a node and optional edge.
*/
export declare function addNodeAndEdge(nodes: NodeData[], edges: EdgeData[], node: NodeData, toNode?: NodeData): {
nodes: NodeData<any>[];
edges: (EdgeData<any> | {
id: string;
from: string;
to: string;
parent: string;
})[];
};