fn from_str()

in azure-kusto-data/src/types.rs [91:113]


    fn from_str(s: &str) -> Result<Self, Self::Err> {
        KUSTO_DURATION_REGEX
            .captures(s)
            .map(|captures| {
                let neg = match captures.name("neg") {
                    None => 1,
                    Some(_) => -1,
                };
                let days = parse_regex_segment(&captures, "days");
                let hours = parse_regex_segment(&captures, "hours");
                let minutes = parse_regex_segment(&captures, "minutes");
                let seconds = parse_regex_segment(&captures, "seconds");
                let nanos = parse_regex_segment(&captures, "nanos");
                let duration = neg
                    * (Duration::days(days)
                        + Duration::hours(hours)
                        + Duration::minutes(minutes)
                        + Duration::seconds(seconds)
                        + Duration::nanoseconds(nanos * 100)); // Ticks
                Self(duration)
            })
            .ok_or_else(|| InvalidArgumentError::InvalidDuration(s.to_string()).into())
    }