pub struct Vdf<'a> {
pub key: Key<'a>,
pub value: Value<'a>,
}
Expand description
A loosely typed representation of VDF text
Vdf
is represented as a single Key
mapped to a single Value
§Parse
Vdf
s will generally be created through the use of Vdf::parse()
which takes a string
representing VDF text and attempts to parse it to a Vdf
representation.
§Mutate
From there you can manipulate/extract from the representation as desired by using the standard
conventions on the internal types (plain old BTreeMap
s, Vec
s, and Cow
s all the way down)
§Render
The Vdf
can also be rendered back to its text form through its Display
implementation
§Example
use keyvalues_parser::Vdf;
// Parse
let vdf_text = r#"
"Outer Key"
{
"Inner Key" "Inner Value"
"Inner Key"
{
}
}
"#;
let mut parsed = Vdf::parse(vdf_text)?;
// Mutate: i.e. remove the last "Inner Key" pair
parsed
.value
.get_mut_obj()
.unwrap()
.get_mut("Inner Key")
.unwrap()
.pop();
// Render: prints
// "Outer Key"
// {
// "Inner Key" "Inner Value"
// }
println!("{}", parsed);
Fields§
§key: Key<'a>
§value: Value<'a>
Implementations§
Trait Implementations§
Source§impl<'a> From<PartialVdf<'a>> for Vdf<'a>
impl<'a> From<PartialVdf<'a>> for Vdf<'a>
Source§fn from(partial: PartialVdf<'a>) -> Self
fn from(partial: PartialVdf<'a>) -> Self
Converts to this type from the input type.
Source§impl<'a> Ord for Vdf<'a>
impl<'a> Ord for Vdf<'a>
Source§impl<'a> PartialOrd for Vdf<'a>
impl<'a> PartialOrd for Vdf<'a>
impl<'a> Eq for Vdf<'a>
impl<'a> StructuralPartialEq for Vdf<'a>
Auto Trait Implementations§
impl<'a> Freeze for Vdf<'a>
impl<'a> RefUnwindSafe for Vdf<'a>
impl<'a> Send for Vdf<'a>
impl<'a> Sync for Vdf<'a>
impl<'a> Unpin for Vdf<'a>
impl<'a> UnwindSafe for Vdf<'a>
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