pub enum ParseResult {
Named(HashMap<String, Value>),
Positioning(Vec<Value>),
}Expand description
Represents the result of parsing.
Variants§
Named(HashMap<String, Value>)
Named parsing result.
Positioning(Vec<Value>)
Positional parsing result.
Implementations§
Source§impl ParseResult
impl ParseResult
Sourcepub fn into_vec(self) -> Vec<Value>
pub fn into_vec(self) -> Vec<Value>
Converts the parsing result into a vector of values.
use collection_tools ::HashMap;
use willbe ::query :: { ParseResult, Value };
let params = HashMap ::from( [ ( "v1".to_string(), Value ::Int( 1 ) ), ( "v2".to_string(), Value ::Int( 2 ) ), ( "v3".to_string(), Value ::Int( 3 ) ) ] );
let result = ParseResult ::Named( params ).into_vec();
assert!( result.contains( &Value ::Int( 1 ) ) );
assert!( result.contains( &Value ::Int( 2 ) ) );
assert!( result.contains( &Value ::Int( 3 ) ) );Sourcepub fn into_map(self, names: Vec<String>) -> HashMap<String, Value>
pub fn into_map(self, names: Vec<String>) -> HashMap<String, Value>
Converts the parsing result into a hashmap, using a vector of names as keys.
use collection_tools ::HashMap;
use willbe ::query :: { ParseResult, Value };
let params = vec![ Value ::Int( 1 ), Value ::Int( 2 ), Value ::Int( 3 ) ];
let result = ParseResult ::Positioning( params );
let named_map = result.clone().into_map( vec![ "var0".into(), "var1".into(),"var2".into() ] );
let unnamed_map = result.clone().into_map( vec![] );
let mixed_map = result.clone().into_map( vec![ "var0".into() ] );
let vec = result.into_vec();
assert_eq!( HashMap ::from( [ ( "var0".to_string(), Value ::Int( 1 ) ), ( "var1".to_string(),Value ::Int( 2 ) ), ( "var2".to_string(),Value ::Int( 3 ) ) ] ), named_map );
assert_eq!( HashMap ::from( [ ( "1".to_string(), Value ::Int( 1 ) ), ( "2".to_string(),Value ::Int( 2 ) ), ( "3".to_string(),Value ::Int( 3 ) ) ] ), unnamed_map );
assert_eq!( HashMap ::from( [ ( "var0".to_string(), Value ::Int( 1 ) ), ( "1".to_string(),Value ::Int( 2 ) ), ( "2".to_string(),Value ::Int( 3 ) ) ] ), mixed_map );Trait Implementations§
Source§impl Clone for ParseResult
impl Clone for ParseResult
Source§fn clone(&self) -> ParseResult
fn clone(&self) -> ParseResult
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ParseResult
impl RefUnwindSafe for ParseResult
impl Send for ParseResult
impl Sync for ParseResult
impl Unpin for ParseResult
impl UnwindSafe for ParseResult
Blanket Implementations§
Source§impl<S> AssignWithType for S
impl<S> AssignWithType for S
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<C, E> EntryToVal<C> for Ewhere
C: Collection<Entry = E>,
impl<C, E> EntryToVal<C> for Ewhere
C: Collection<Entry = E>,
Source§type Val = <C as Collection>::Val
type Val = <C as Collection>::Val
The type of values stored in the collection. This might be distinct from
Entry in complex collections.
For example, in a HashMap, while Entry might be a ( key, value ) tuple, Val might only be the value part.Source§fn entry_to_val(self) -> <E as EntryToVal<C>>::Val
fn entry_to_val(self) -> <E as EntryToVal<C>>::Val
Converts an entry into a value representation specific to the type of collection. This conversion is crucial
for handling operations on entries, especially when they need to be treated or accessed as individual values,
such as retrieving the value part from a key-value pair in a hash map.
Source§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
type Err = Infallible
fn into_result(self) -> Result<T, <T as IntoResult<T>>::Err>
Source§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
type Err = Infallible
fn into_result(self) -> Result<T, <T as IntoResult<T>>::Err>
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<Initial, Error, Final> TransitiveTryFrom<Error, Initial> for Final
impl<Initial, Error, Final> TransitiveTryFrom<Error, Initial> for Final
Source§impl<Error, Final, Initial> TransitiveTryInto<Error, Final> for Initial
impl<Error, Final, Initial> TransitiveTryInto<Error, Final> for Initial
Source§impl<C, Val> ValToEntry<C> for Valwhere
C: CollectionValToEntry<Val>,
impl<C, Val> ValToEntry<C> for Valwhere
C: CollectionValToEntry<Val>,
Source§fn val_to_entry(self) -> <C as CollectionValToEntry<Val>>::Entry
fn val_to_entry(self) -> <C as CollectionValToEntry<Val>>::Entry
Invokes the val_to_entry function of the CollectionValToEntry trait to convert the value to an entry.
Source§type Entry = <C as CollectionValToEntry<Val>>::Entry
type Entry = <C as CollectionValToEntry<Val>>::Entry
Represents the type of entry that corresponds to the value within the collection.
Type
Entry is defined by the Collection trait.