NodeData.fromJson constructor
The NodeData.fromJson factory method parses a JSON map to create a NodeData object with
various properties like colors, ports, node type, name, icon, and icon color.
Args:
json (Map String, dynamic ): The fromJson factory method you provided is used to create a
NodeData object from a JSON map. Here is a breakdown of the parameters used in the method:
Returns:
The NodeData object is being returned with the properties initialized using the values
extracted from the provided json map.
Implementation
factory NodeData.fromJson(Map<String, dynamic> json) {
final Color portColor = colorFromJson(json["portColor"]);
final Color selectedPortColor = colorFromJson(json['selectedPortColor']);
final String nodeType = json['nodeType'] as String;
final String nodeName = json['name'] as String;
final Color selectedBorderColor =
colorFromJson(json["selectedBorderColor"]);
final Color iconColor = colorFromJson(json["iconColor"]);
final dynamic iconData = json["icon"];
final IconData icon =
IconData(iconData["codePoint"], fontFamily: iconData["family"]);
final List<Port> inputPorts = (json['inputPorts'] as List)
.map((pJson) => Port.fromJson(pJson as Map<String, dynamic>))
.toList();
final List<Port> outputPorts = (json['outputPorts'] as List)
.map((pJson) => Port.fromJson(pJson as Map<String, dynamic>))
.toList();
return NodeData(
portColor,
selectedPortColor,
inputPorts,
outputPorts,
selectedBorderColor,
nodeName,
nodeType,
icon,
iconColor,
);
}