Enum Value

Source
pub enum Value {
    Single(String),
    Array(Vec<String>),
}
Expand description

A single value or a list of values declared in the output of the alpm-pkgbuild-bridge script.

Both parser functions ensure that at least one value exists.

Variants§

§

Single(String)

A single value.

§

Array(Vec<String>)

An array of values.

Implementations§

Source§

impl Value

Source

pub fn as_vec(&self) -> Vec<&String>

Returns the values of &self in vector representation.

This is useful for values that may be available as both single values and arrays.

Source

pub fn as_owned_vec(self) -> Vec<String>

Returns the values of self in vector representation.

This is useful for values that may be available as both single values and arrays.

Source

pub fn has_value(&self) -> bool

Checks whether this holds a value.

Returns true if self is Value::Single (they always have a value set by definition), or if self is Value::Array and contains at least one element. Returns false in all other cases.

Source

fn single_till_newline(input: &mut &str) -> ModalResult<Self>

Recognizes a Value::Single in a string slice while handling the surroundings.

Consumes leading and trailing spaces while also consuming newlines. Also allows variables at the end of the file where no newline is found. Calls Value::parse_next_value for variable parsing.

§Errors

Returns an error if no Value::Single can be recognized in input.

Source

fn list_till_newline(input: &mut &str) -> ModalResult<Self>

Recognizes a Value::Array in a string slice while handling the surroundings.

Consumes leading and trailing spaces while also consuming newlines. Also allows variables at the end of the file where no newline is found. Calls Self::parse_next_value for variable parsing.

§Errors

Returns an error if no Value::Array is found in input.

Source

pub fn parse_next_value(input: &mut &str) -> ModalResult<String>

Recognizes a Value::Single in a string slice.

Calls Value::variable_character to handle escaped characters in input.

§Examples
"This is a string value\" with escaped \\ characters"
§Errors

Returns an error if no Value::Single is found in input.

Source

pub fn variable_character(input: &mut &str) -> ModalResult<char>

Recognizes a single char in a string slice.

This allows for detecting escaped characters, such as \" or \\.

Consumes a single character and returns afterwards.

§Errors

Returns an error if a stand-alone " or \ is encountered.

Trait Implementations§

Source§

impl Clone for Value

Source§

fn clone(&self) -> Value

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Value

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Value

§

impl RefUnwindSafe for Value

§

impl Send for Value

§

impl Sync for Value

§

impl Unpin for Value

§

impl UnwindSafe for Value

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> ErasedDestructor for T
where T: 'static,