|
|
@@ -1,30 +0,0 @@
|
|
|
-import { writeFileSync } from "node:fs";
|
|
|
-import Edge from "../../../graph/edge/Edge.js";
|
|
|
-import Graph from "../../../graph/Graph.js";
|
|
|
-import Node from "../../../graph/node/Node.js";
|
|
|
-import Serializer from "../Serializer.js";
|
|
|
-import { DZWFData } from "../../dzwf/DZWFData.js";
|
|
|
-
|
|
|
-export default class DZWFJsonSerializer implements Serializer<Graph<Node, Edge<Node>>, void> {
|
|
|
- private readonly _dzwfData: DZWFData & unknown;
|
|
|
- private readonly _dzwfFileName: string;
|
|
|
-
|
|
|
- public constructor(dzwfData: DZWFData & unknown, dzwfFileName: string = "result.dzwf") {
|
|
|
- this._dzwfData = dzwfData;
|
|
|
- this._dzwfFileName = dzwfFileName;
|
|
|
- }
|
|
|
-
|
|
|
- serialize(data: Graph<Node, Edge<Node>>): void {
|
|
|
- this._dzwfData.elements.forEach((element) => {
|
|
|
- const { id } = element;
|
|
|
-
|
|
|
- const node = data.getNode(id);
|
|
|
- if(!node)
|
|
|
- return;
|
|
|
-
|
|
|
- element.diagram.position = { x: node.x, y: node.y };
|
|
|
- });
|
|
|
-
|
|
|
- writeFileSync(this._dzwfFileName, JSON.stringify(this._dzwfData));
|
|
|
- }
|
|
|
-}
|