parseDateTimeOptional method
Parses an optional SQLite value (epoch integer or ISO-8601 string) into a Dart DateTime.
Implementation
DateTime? parseDateTimeOptional(String key) {
return parseOptional<DateTime, Object>(key, (dbVal) {
if (dbVal is int) {
return DateTime.fromMillisecondsSinceEpoch(dbVal);
}
if (dbVal is String) {
return DateTime.parse(dbVal);
}
throw StateError(
'DB Type Mismatch: Expected int or String for "$key", got ${dbVal.runtimeType}.');
});
}