| 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; | |
| }; | |