From 2eebe2378fa479910ec6aca3e3039c89c0c81737 Mon Sep 17 00:00:00 2001 From: Menno van Leeuwen Date: Sat, 22 Mar 2025 12:53:06 +0100 Subject: [PATCH] Add JSON serialization methods to PromptBuilder for improved data handling --- lib/src/prompt_builder.dart | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/lib/src/prompt_builder.dart b/lib/src/prompt_builder.dart index 6c9acc4..c3b9898 100644 --- a/lib/src/prompt_builder.dart +++ b/lib/src/prompt_builder.dart @@ -1,10 +1,31 @@ class PromptBuilder { - final String clientId; + String clientId; final Map _nodes = {}; - final Map> _outputToNode = {}; + final Map> _outputToNode = {}; int _nodeIdCounter = 1; PromptBuilder({required this.clientId}); + Map toJson() { + return { + "nodes": _nodes, + "outputToNode": _outputToNode, + "nodeIdCounter": _nodeIdCounter + }; + } + + void fromJson(Map json) { + _nodes.clear(); + _outputToNode.clear(); + _nodeIdCounter = json["nodeIdCounter"]; + + for (var entry in json["nodes"].entries) { + _nodes[entry.key] = entry.value; + } + + for (var entry in json["outputToNode"].entries) { + _outputToNode[entry.key] = entry.value; + } + } /// Adds a node to the workflow and returns its nodeId String addNode(String classType, Map inputs,