parse_frequency/
clap.rs

1use crate::{Error, Frequency};
2
3impl clap::builder::TypedValueParser for Frequency {
4    type Value = Self;
5
6    fn parse_ref(
7        &self,
8        _cmd: &clap::Command,
9        _arg: Option<&clap::Arg>,
10        value: &std::ffi::OsStr,
11    ) -> std::result::Result<Frequency, clap::error::Error> {
12        let value = value.to_str().ok_or_else(|| {
13            clap::Error::raw(clap::error::ErrorKind::InvalidUtf8, "Invalid UTF-8")
14        })?;
15        value
16            .parse()
17            .map_err(|e: Error| clap::Error::raw(clap::error::ErrorKind::InvalidValue, e))
18    }
19}