NodeGraph<T>.fromJson constructor

NodeGraph<T>.fromJson(
  1. Map<String, dynamic> json,
  2. T fromJsonT(
    1. Object? json
    )
)

Implementation

factory NodeGraph.fromJson(
  Map<String, dynamic> json,
  T Function(Object? json) fromJsonT,
) {
  final nodesJson = json['nodes'] as List<dynamic>? ?? [];
  final nodes = nodesJson
      .map((e) => Node<T>.fromJson(e as Map<String, dynamic>, fromJsonT))
      .toList();

  final connectionsJson = json['connections'] as List<dynamic>? ?? [];
  final connections = connectionsJson
      .map((e) => Connection.fromJson(e as Map<String, dynamic>))
      .toList();

  final annotationsJson = json['annotations'] as List<dynamic>? ?? [];
  final annotations = annotationsJson
      .map((e) => Annotation.fromJsonByType(e as Map<String, dynamic>))
      .toList();

  final viewport = json['viewport'] != null
      ? GraphViewport.fromJson(json['viewport'] as Map<String, dynamic>)
      : GraphViewport();

  return NodeGraph<T>(
    nodes: nodes,
    connections: connections,
    annotations: annotations,
    viewport: viewport,
    metadata: json['metadata'] as Map<String, dynamic>? ?? {},
  );
}