sz-cli 0.1.0

Disk usage CLI.
use crate::Args;
use crate::item::Item;

pub enum SortOpt {
    Asc,
    Desc,
    Def,
}

impl SortOpt {
    pub fn from_args(args: &Args) -> SortOpt {
        if args.sort_files_asc {
            return SortOpt::Asc;
        } else if args.sort_files_desc {
            return SortOpt::Desc;
        } else {
            return SortOpt::Def;
        }
    }

    pub fn sort_items(&self, items: &mut Vec<Item>) -> () {
        match self {
            SortOpt::Asc => items.sort_by(|a, b| a.bytes().partial_cmp(&b.bytes()).unwrap()),
            SortOpt::Desc => items.sort_by(|a, b| b.bytes().partial_cmp(&a.bytes()).unwrap()),
            SortOpt::Def => (),
        }
    }
}