Skip to main content

parse_size

Function parse_size 

Source
pub fn parse_size(spec: &str) -> Result<SizeCmp, String>
Expand description

Parse a --size spec [+|-]N[k|m|g|b] into a SizeCmp.

+N is “larger than”, -N is “smaller than”, a bare N is “at least N”; a trailing k/m/g multiplies by 1024/1024²/1024³.

§Examples

use coding_tools::walk::{parse_size, size_matches, SizeCmp};

let cmp = parse_size("+4k").unwrap();        // larger than 4 KiB
assert!(matches!(cmp, SizeCmp::Gt(4096)));
assert!(size_matches(&cmp, 5000));
assert!(!size_matches(&cmp, 4096));

assert!(matches!(parse_size("10").unwrap(), SizeCmp::Ge(10)));
assert!(parse_size("+x").is_err());