getHistoryEvents method
Implementation
List<HistoryEvent> getHistoryEvents() {
return this!
.factSchema
.dates!
.where((date) => date.isHistorical == true)
.mapNotNull((metaDate) {
final result = metaDate.isFlexible == true
? this!.getFlexiDate(metaDate)
: this!.getDate(metaDate, sunnyLocalization.userLocation!);
if (result == null) {
return null;
}
if (result is FlexiDate) {
return HistoryEvent.ofFlexiDate(
sourceFact: this!, metaDate: metaDate, flexiDate: result);
} else if (result is DateTime) {
return HistoryEvent.ofDateTime(
sourceFact: this!, metaDate: metaDate, date: result);
} else {
return illegalState<HistoryEvent>(
"Expected FlexiDate or DateTime, but was ${result.runtimeType}");
}
}).toList();
}