Struct TagToken

Source
pub struct TagToken<'a> { /* private fields */ }
Expand description

An interface to access tokens inside a tag.

Implementations§

Source§

impl<'a> TagToken<'a>

Source

pub fn raise_error(self) -> Error

Raises an error from this TagToken.

The error message will be based on the expected tokens, which this structure tracks when using the methods starting with ‘expect’.

For example, if one calls expect_value and that function fails to give an Ok value, calling this would show Expected Value on the error message.

Source

pub fn raise_custom_error(self, msg: &str) -> Error

Raises an error from this TagToken.

The error will have the given error message.

Source

pub fn expect_filter_chain( self, options: &Language, ) -> TryMatchToken<'a, FilterChain>

Tries to obtain a FilterChain from this token.

Source

pub fn expect_value(self) -> TryMatchToken<'a, Expression>

Tries to obtain a value from this token.

Do not confuse this value with liquid-value’s Value. In this context, value refers to either a literal value or a variable.

Source

pub fn expect_variable(self) -> TryMatchToken<'a, Variable>

Tries to obtain a Variable from this token.

Source

pub fn expect_identifier(self) -> TryMatchToken<'a, &'a str>

Tries to obtain an identifier from this token.

The identifier is returned as a str.

Source

pub fn expect_literal(self) -> TryMatchToken<'a, Value>

Tries to obtain a literal value from this token.

The value is returned as a Value.

Source

pub fn expect_range(self) -> TryMatchToken<'a, (Expression, Expression)>

Tries to obtain a range from this token.

The range is returned as a pair (Expression, Expression).

Source

pub fn expect_str(self, expected: &str) -> TryMatchToken<'a, ()>

Returns Ok if and only if the tokens’ str is equal to the given str.

Source

pub fn as_str(&self) -> &str

Returns token as a str.

Trait Implementations§

Source§

impl<'a> From<Pair<'a, Rule>> for TagToken<'a>

Source§

fn from(token: Pair<'a, Rule>) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl<'a> Freeze for TagToken<'a>

§

impl<'a> RefUnwindSafe for TagToken<'a>

§

impl<'a> !Send for TagToken<'a>

§

impl<'a> !Sync for TagToken<'a>

§

impl<'a> Unpin for TagToken<'a>

§

impl<'a> UnwindSafe for TagToken<'a>

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> 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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. 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.
Source§

impl<T> Any for T
where T: Any,