Skip to main content

track_core/
task_sort.rs

1use crate::types::Task;
2
3pub fn sort_tasks(tasks: &[Task]) -> Vec<Task> {
4    let mut sorted = tasks.to_vec();
5    sorted.sort_by(|left, right| {
6        left.status
7            .cmp(&right.status)
8            .then_with(|| left.priority.cmp(&right.priority))
9            .then_with(|| right.created_at.cmp(&left.created_at))
10    });
11    sorted
12}