isBeforeNullable method
Checks if this nullable DateTime is before another nullable DateTime for sorting purposes.
Null DateTimes are considered to be before non-null DateTimes. Two null DateTimes are considered equal.
Returns:
true
if this nullable DateTime is considered before theother
nullable DateTime.false
otherwise.
Example Usage:
DateTime? dt1 = DateTime.now();
DateTime? dt2 = dt1.add(Duration(days: 1));
DateTime? dt3 = null;
dt1.isBeforeNullable(dt2); // true
dt2.isBeforeNullable(dt1); // false
dt1.isBeforeNullable(dt1); // false (not strictly before, but not considered before for sorting)
dt3.isBeforeNullable(dt1); // true (null is considered before non-null)
dt1.isBeforeNullable(dt3); // false (non-null is not before null)
dt3.isBeforeNullable(null); // false (not strictly before, but not considered before for sorting)
Implementation
bool isBeforeNullable(DateTime? other) {
if (this == null) {
return other != null; // null is before non-null, null is not before null
}
if (other == null) {
return false; // non-null is not before null
}
return this!.isBefore(other);
}