import {JsonSerializer} from "./JsonSerializer.js"; import Node from "../../../graph/node/Node.js"; import Edge from "../../../graph/edge/Edge.js"; import Graph from "../../../graph/Graph.js"; import {DZWFData} from "../../dzwf/DZWFData.js"; import SerializerError from "../../../errors/SerializerError.js"; export default class DzwfJsonSerializer implements JsonSerializer<{ dzwfData: DZWFData, graph: Graph> }> { serialize(data: { dzwfData: DZWFData, graph: Graph> }): string { const { dzwfData, graph } = data; for(const element of dzwfData.elements) { const node = graph.getNode(element.id); if(!node) throw new SerializerError(`Can't find node with id ${element.id} in result graph`); element.diagram.position.x = node.getX(); element.diagram.position.y = node.getY(); } return JSON.stringify(dzwfData); } }