Select Git revision
game_player.dart
-
Benoît Harrault authoredBenoît Harrault authored
timeline.dart 1.26 KiB
import 'dart:convert';
class TimelineDataValue {
final int counts;
final int eclecticism;
const TimelineDataValue({required this.counts, required this.eclecticism});
factory TimelineDataValue.fromJson(Map<String, dynamic> json) {
return TimelineDataValue(
counts: json['counts'] as int,
eclecticism: json['eclecticism'] as int,
);
}
}
class TimelineData {
final Map<String, TimelineDataValue> data;
const TimelineData({
required this.data,
});
factory TimelineData.fromJson(Map<String, dynamic> json) {
Map<String, TimelineDataValue> data = {};
json.keys.forEach((date) {
TimelineDataValue value = TimelineDataValue(
counts: json[date]['counts'] as int,
eclecticism: json[date]['eclecticism'] as int,
);
data[date] = value;
});
return TimelineData(data: data);
}
factory TimelineData.createEmpty() {
return TimelineData.fromJson({});
}
String toString() {
Map<String, Map<String, int>> map = {};
this.data.keys.forEach((element) {
TimelineDataValue? item = this.data[element];
map[element] = {
'counts': item != null ? item.counts : 0,
'eclecticism': item != null ? item.eclecticism : 0,
};
});
return jsonEncode(map);
}
}