(rows: &mut [UsageSummary], order: &SortOrder, date_fn: F)
| 285 | } |
| 286 | |
| 287 | pub(crate) fn sort_summaries<F>(rows: &mut [UsageSummary], order: &SortOrder, date_fn: F) |
| 288 | where |
| 289 | F: Fn(&UsageSummary) -> &str, |
| 290 | { |
| 291 | rows.sort_by(|a, b| match order { |
| 292 | SortOrder::Asc => date_fn(a).cmp(date_fn(b)), |
| 293 | SortOrder::Desc => date_fn(b).cmp(date_fn(a)), |
| 294 | }); |
| 295 | } |
| 296 | |
| 297 | pub(crate) fn week_start(date: &str, start: WeekDay) -> Option<String> { |
| 298 | let date = parse_iso_date(date)?; |
no outgoing calls
no test coverage detected