areRangesOverlapping static method
Know if two ranges of dates overlaps
Implementation
static bool areRangesOverlapping(
DateTime initialRangeStartDate,
DateTime initialRangeEndDate,
DateTime comparedRangeStartDate,
DateTime comparedRangeEndDate,
) {
if (initialRangeStartDate.isAfter(initialRangeEndDate)) {
throw RangeError('Not valid initial range');
}
if (comparedRangeStartDate.isAfter(comparedRangeEndDate)) {
throw RangeError('Not valid compareRange range');
}
final initial = Interval(initialRangeStartDate, initialRangeEndDate);
final compared = Interval(comparedRangeStartDate, comparedRangeEndDate);
return initial.cross(compared) || compared.cross(initial);
}