function dateShallowIntersectsDate(date1, date2) {
  if (date1.isDate)
    return date2.isDate
      ? date1.dateTime === date2.dateTime
      : dateShallowIncludesDate(date2, date1);
  if (date2.isDate) return dateShallowIncludesDate(date1, date2);
  // Both ranges
  if (date1.start && date2.end && date1.start > date2.end) return false;
  if (date1.end && date2.start && date1.end < date2.start) return false;
  return true;
}
function dateShallowIntersectsDate(date1, date2) {
  if (date1.isDate)
    return date2.isDate
      ? date1.dateTime === date2.dateTime
      : dateShallowIncludesDate(date2, date1);
  if (date2.isDate) return dateShallowIncludesDate(date1, date2);
  
  if (date1.start && date2.end && date1.start > date2.end) return false;
  if (date1.end && date2.start && date1.end < date2.start) return false;
  return true;
}
function dateShallowIntersectsDate ( date1 , date2 ) { if ( date1 . isDate ) return date2 . isDate ? date1 . dateTime === date2 . dateTime : dateShallowIncludesDate ( date2 , date1 ) ; if ( date2 . isDate ) return dateShallowIncludesDate ( date1 , date2 ) ; // Both ranges if ( date1 . start && date2 . end && date1 . start > date2 . end ) return false ; if ( date1 . end && date2 . start && date1 . end < date2 . start ) return false ; return true ; }
======================================================== Determines if first date partially intersects second date NOTE: This is a shallow test (no patterns tested)
======================================================== Determines if first date partially intersects second date NOTE : This is a shallow test ( no patterns tested )