EnsembleTestReportDetails.fromJson constructor

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

Implementation

factory EnsembleTestReportDetails.fromJson(Map<String, dynamic> json) {
  final screensMap = <String, Map<String, dynamic>>{};
  if (json['screens'] is Map) {
    (json['screens'] as Map).forEach((k, v) {
      if (v is Map) {
        screensMap[k.toString()] = Map<String, dynamic>.from(v);
      }
    });
  }
  return EnsembleTestReportDetails(
    startScreen: json['startScreen']?.toString() ?? '(unknown)',
    endScreen: json['endScreen']?.toString(),
    session: json['session']?.toString(),
    screensVisited: (json['screensVisited'] as List<dynamic>? ?? const [])
        .map((value) => value.toString())
        .toList(),
    stepsOutline: (json['stepsOutline'] as List<dynamic>? ?? const [])
        .map((value) => value.toString())
        .toList(),
    stepDurationsMs: (json['stepDurationsMs'] as List<dynamic>? ?? const [])
        .map((value) => value is int ? value : int.tryParse('$value') ?? 0)
        .toList(),
    stepStartTimes: (json['stepStartTimes'] as List<dynamic>? ?? const [])
        .map((value) => value.toString())
        .toList(),
    screens: screensMap,
  );
}