pub fn try_parse_duration(t: &str) -> Result<Duration, String>Expand description
Parse a duration from a string. This is used for CLI
parameter parsing in programs generated by LFC, specifically,
to parse main parameters with time type, and scheduler
options with time type.
ยงTests
use reactor_rt::try_parse_duration;
use std::time::Duration;
assert_eq!(try_parse_duration("3 ms"), Ok(Duration::from_millis(3)));
assert_eq!(try_parse_duration("3ms"), Ok(Duration::from_millis(3)));
assert_eq!(try_parse_duration("5us"), Ok(Duration::from_micros(5)));
assert_eq!(try_parse_duration("30ns"), Ok(Duration::from_nanos(30)));
assert_eq!(try_parse_duration("30nsec"), Ok(Duration::from_nanos(30)));
assert_eq!(try_parse_duration("30secs"), Ok(Duration::from_secs(30)));
// unit is not required for zero
assert_eq!(try_parse_duration("0"), Ok(Duration::from_secs(0)));
assert_eq!(try_parse_duration(""), Err("cannot parse empty string".into()));
assert_eq!(try_parse_duration("30"), Err("time unit required".into()));
assert_eq!(try_parse_duration("30000000000000000000000ns"), Err("number too large to fit in target type".into()));