NodeData.fromJson constructor

NodeData.fromJson(
  1. Map<String, dynamic> json
)

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