dailyCounts function

Map<DateTime, int> dailyCounts(
  1. Iterable<DateTime> events
)

Counts how many events fall on each calendar date, keyed by date-only local midnight (the time of day is ignored).

Example:

dailyCounts(<DateTime>[DateTime(2026, 3, 1, 9), DateTime(2026, 3, 1, 23)]);
// { 2026-03-01: 2 }

Audited: 2026-06-12 11:26 EDT

Implementation

Map<DateTime, int> dailyCounts(Iterable<DateTime> events) {
  final Map<DateTime, int> counts = <DateTime, int>{};
  // Collapse each event to its date key so same-day events accumulate together.
  for (final DateTime event in events) {
    final DateTime key = _dateOnly(event);
    counts[key] = (counts[key] ?? 0) + 1;
  }
  return counts;
}