dailyCounts function
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;
}