SchematicEdgeData.fromJson constructor
Create a new SchematicEdgeData from JSON data.
Implementation
factory SchematicEdgeData.fromJson(Map<String, dynamic> json) {
final pointList = <SchematicPoint>[];
if (json['points'] is List) {
for (final p in json['points'] as List) {
if (p is Map<String, dynamic>) {
pointList.add(SchematicPoint.fromJson(p));
}
}
}
List<SchematicPoint>? junctionList;
if (json['junctionPoints'] is List) {
junctionList = <SchematicPoint>[];
for (final jp in json['junctionPoints'] as List) {
if (jp is Map<String, dynamic>) {
junctionList.add(SchematicPoint.fromJson(jp));
}
}
}
List<SchematicPoint>? dotsList;
if (json['dots'] is List) {
dotsList = <SchematicPoint>[];
for (final dot in json['dots'] as List) {
if (dot is Map<String, dynamic>) {
dotsList.add(SchematicPoint.fromJson(dot));
}
}
}
return SchematicEdgeData(
id: json['id']?.toString() ?? '',
source: json['source']?.toString(),
sourcePort: json['sourcePort']?.toString(),
target: json['target']?.toString(),
targetPort: json['targetPort']?.toString(),
points: pointList,
junctionPoints: junctionList,
dots: dotsList,
name: json['name']?.toString() ?? '',
parentId: json['parentId']?.toString(),
parentName: json['parentName']?.toString() ?? '',
cssClass: json['cssClass']?.toString() ?? '',
signalWidth: (json['signalWidth'] as num?)?.toInt() ?? 1,
scopeHierarchyPath: json['scopeHierarchyPath']?.toString(),
);
}