Crate strval

Source
Expand description

strval is collection of types that keep values that can all be set from a string value. It can be thought of as a generalized version of the FromStr trait.

use strval::{
  StrVal, Bool, BinU64Count, BinU64Size, DecU64Count, DecU64Size
};

let v: Bool = "true".parse().unwrap();
assert!(v.get());
assert_eq!(v.val_str(), Some(String::from("true")));

// "count" variant is assumed to not count bytes
let v: BinU64Count = "64k".parse().unwrap();
assert_eq!(v.get(), 65536);
assert_eq!(v.val_str(), Some(String::from("65536")));

// "size" variant is assumed to be a byte size
let v: BinU64Size = "64kb".parse().unwrap();
assert_eq!(v.get(), 65536);
assert_eq!(v.val_str(), Some(String::from("65536")));

// "count" variant is assumed to not count bytes
let v: DecU64Count = "64k".parse().unwrap();
assert_eq!(v.get(), 64000);
assert_eq!(v.val_str(), Some(String::from("64000")));

// "size" variant is assumed to be a byte size
let v: DecU64Size = "64kb".parse().unwrap();
assert_eq!(v.get(), 64000);
assert_eq!(v.val_str(), Some(String::from("64000")));

§Features

FeatureFunction
rusqliteImplement ToSql/FromSql support for value types.

Structs§

AnyU64
Accept any u64.
AnyUsize
Accept any usize.
BinU64Count
A u64 value that supports suffixes, like 1k, 2.5k, etc.
BinU64Size
A u64 value that supports suffixes, like 1kb, 2.5kb, etc.
BinUsizeCount
A usize value that supports suffixes, like 1k, 2.5k, etc.
BinUsizeSize
A usize value that supports suffixes, like 1kb, 2.5kb, etc.
Bool
A boolean value.
DecU64Count
A u64 value that supports suffixes, like 1k, 2.5k, etc.
DecU64Size
A u64 value that supports suffixes, like 1kb, 2.5kb, etc.
DecUsizeCount
A usize value that supports suffixes, like 1k, 2.5k, etc.
DecUsizeSize
A usize value that supports suffixes, like 1kb, 2.5kb, etc.
Dur
A string representation of a duration.
Percent
Specify a percentage, converted to a f32 betwwen 0.0 and 1.0.
RelAbsLim
A relative or absolute limit.
Select
Select one element from a set.
Str
A plain text string.

Enums§

Error
Crate-specific errors.

Traits§

Controller
Define a default (string) value and provide a value validator.
StrVal
Traits for values that can be set from strings.