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}