pub enum FlagValue {
String(String),
Bool(bool),
Int(i64),
Float(f64),
StringSlice(Vec<String>),
}Expand description
Represents the value of a parsed flag
FlagValue is an enum that can hold different types of values
that flags can have. This allows for type-safe access to flag values.
§Examples
use flag_rs::flag::{FlagValue, FlagType, Flag};
// Parse different types of values
let string_flag = Flag::new("name").value_type(FlagType::String);
let value = string_flag.parse_value("John").unwrap();
assert_eq!(value.as_string().unwrap(), "John");
let bool_flag = Flag::new("verbose").value_type(FlagType::Bool);
let value = bool_flag.parse_value("true").unwrap();
assert!(value.as_bool().unwrap());Variants§
String(String)
A string value
Bool(bool)
A boolean value
Int(i64)
An integer value
Float(f64)
A floating-point value
StringSlice(Vec<String>)
A slice of strings (for repeated flags)
Implementations§
Source§impl FlagValue
impl FlagValue
Sourcepub fn as_string(&self) -> Result<&String>
pub fn as_string(&self) -> Result<&String>
Returns the value as a string reference
§Errors
Returns Error::FlagParsing if the value is not a string
§Examples
use flag_rs::flag::FlagValue;
let value = FlagValue::String("hello".to_string());
assert_eq!(value.as_string().unwrap(), "hello");
let value = FlagValue::Bool(true);
assert!(value.as_string().is_err());Trait Implementations§
impl StructuralPartialEq for FlagValue
Auto Trait Implementations§
impl Freeze for FlagValue
impl RefUnwindSafe for FlagValue
impl Send for FlagValue
impl Sync for FlagValue
impl Unpin for FlagValue
impl UnsafeUnpin for FlagValue
impl UnwindSafe for FlagValue
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more