TerminusTrain.fromJson constructor
Creates a TerminusTrain from JSON data.
Implementation
factory TerminusTrain.fromJson(Map<String, dynamic> json) {
final String timeStr = json[ApiFields.time] ?? '';
late final Time time;
if (timeStr.isEmpty) {
time = emptyTime;
} else {
if (!RegExp(r'\d{2}:\d{2}').hasMatch(timeStr)) {
time = emptyTime;
} else {
final String hourStr = timeStr.substring(0, 2);
final String minuteStr = timeStr.substring(3);
final int hour = int.parse(hourStr);
final int minute = int.parse(minuteStr);
time = Time(hour, minute);
}
}
return TerminusTrain(
time: time,
destination: json[ApiFields.destinationStation],
);
}