import { NodeType } from "jsonc-parser"; import { calculateNodeSize } from "src/lib/utils/graph/calculateNodeSize"; import { Graph } from "src/lib/utils/json/jsonParser"; type Props = { graph: Graph; text: string | [string, string][]; isEmpty?: boolean; type?: NodeType; }; export const addNodeToGraph = ({ graph, text, type = "null", isEmpty = false }: Props) => { const id = String(graph.nodes.length + 1); const isParent = type === "array" || type === "object"; const { width, height } = calculateNodeSize(text, isParent); const node = { id, text, width, height, data: { type, isParent, isEmpty, childrenCount: isParent ? 1 : 0, }, }; graph.nodes.push(node); return id; };