Struct liquid_core::parser::TagBlock
source · pub struct TagBlock<'a: 'b, 'b> { /* private fields */ }
Expand description
An interface to access elements inside a block.
Implementations§
source§impl<'a, 'b> TagBlock<'a, 'b>
impl<'a, 'b> TagBlock<'a, 'b>
sourcepub fn next(&mut self) -> Result<Option<BlockElement<'a>>>
pub fn next(&mut self) -> Result<Option<BlockElement<'a>>>
Returns the next element of the block, if any, similarly to an iterator.
However, if the input text reaches its end and the block is not closed, an error is returned instead.
sourcepub fn escape_liquid(&mut self, allow_nesting: bool) -> Result<&'a str>
pub fn escape_liquid(&mut self, allow_nesting: bool) -> Result<&'a str>
Retrieves all the content of this block as a String, regardless of being valid liquid or not.
Do not use this method in a block you already called .next()
on.
Set the parameter allow_nesting
of this function to true if you
still want these tags to nest (so the number of {% name %}
must
be equal to the number of {% endname %}
) of false if you don’t
(only the first {% name %}
is parsed, a single {% endname %}
will always close the tag).
Panics
Will panic if used in a closed block.
sourcepub fn parse_all(
&mut self,
options: &Language
) -> Result<Vec<Box<dyn Renderable>>>
pub fn parse_all( &mut self, options: &Language ) -> Result<Vec<Box<dyn Renderable>>>
A convenient method that parses every element remaining in the block.
sourcepub fn parse_next(
&mut self,
options: &Language
) -> Result<Option<Box<dyn Renderable>>>
pub fn parse_next( &mut self, options: &Language ) -> Result<Option<Box<dyn Renderable>>>
Parses the next element in the block just as if it weren’t inside any block.
Returns none if no element is left and raises the same errors as next()
.
sourcepub fn assert_empty(self)
pub fn assert_empty(self)
Checks whether the block was fully parsed its elements.
This must be added at the end of every block right before returning, so as to ensure that it doesn’t leave any unparsed element by accident.