QoL changes
All checks were successful
All checks were successful
This commit is contained in:
@@ -397,3 +397,56 @@ class TripDetail {
|
||||
[],
|
||||
);
|
||||
}
|
||||
|
||||
class TripLocoStat {
|
||||
final String locoClass;
|
||||
final String number;
|
||||
final String? name;
|
||||
final bool won;
|
||||
|
||||
TripLocoStat({
|
||||
required this.locoClass,
|
||||
required this.number,
|
||||
required this.won,
|
||||
this.name,
|
||||
});
|
||||
|
||||
factory TripLocoStat.fromJson(Map<String, dynamic> json) => TripLocoStat(
|
||||
locoClass: json['loco_class'] ?? json['class'] ?? '',
|
||||
number: json['loco_number'] ?? json['number'] ?? '',
|
||||
name: json['loco_name'] ?? json['name'],
|
||||
won: json['won'] == 1 ||
|
||||
json['won'] == true ||
|
||||
(json['won'] is String && json['won'].toString() == '1'),
|
||||
);
|
||||
}
|
||||
|
||||
class EventField {
|
||||
final String name;
|
||||
final String display;
|
||||
final String? type;
|
||||
final List<String>? enumValues;
|
||||
|
||||
const EventField({
|
||||
required this.name,
|
||||
required this.display,
|
||||
this.type,
|
||||
this.enumValues,
|
||||
});
|
||||
|
||||
factory EventField.fromJson(Map<String, dynamic> json) {
|
||||
final enumList = json['enum'];
|
||||
List<String>? enumValues;
|
||||
if (enumList is List) {
|
||||
enumValues = enumList.map((e) => e.toString()).toList();
|
||||
}
|
||||
final baseName = json['name']?.toString() ?? json['field']?.toString() ?? '';
|
||||
final display = json['field']?.toString() ?? baseName;
|
||||
return EventField(
|
||||
name: baseName,
|
||||
display: display,
|
||||
type: json['type']?.toString(),
|
||||
enumValues: enumValues,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user