pub struct EnclosedTemplateParser<EscapeParser, QueryParser> {
pub config: ParserConfig,
pub escape_parser: EscapeParser,
pub query_parser: QueryParser,
}
Expand description
Parse a template string whose queries are placed between an opening bracket character and a closing bracket character, (such as curly braces).
Fields§
§config: ParserConfig
§escape_parser: EscapeParser
§query_parser: QueryParser
Implementations§
Source§impl<EscapeParser, QueryParser> EnclosedTemplateParser<EscapeParser, QueryParser>
impl<EscapeParser, QueryParser> EnclosedTemplateParser<EscapeParser, QueryParser>
Sourcepub fn with_config(self, config: ParserConfig) -> Self
pub fn with_config(self, config: ParserConfig) -> Self
Replace Parser::config
.
Sourcepub fn with_escape_parser<NewEscapeParser>(
self,
escape_parser: NewEscapeParser,
) -> Parser<NewEscapeParser, QueryParser>
pub fn with_escape_parser<NewEscapeParser>( self, escape_parser: NewEscapeParser, ) -> Parser<NewEscapeParser, QueryParser>
Replace Parser::escape_parser
.
Sourcepub fn with_query_parser<NewQueryParser>(
self,
query_parser: NewQueryParser,
) -> Parser<EscapeParser, NewQueryParser>
pub fn with_query_parser<NewQueryParser>( self, query_parser: NewQueryParser, ) -> Parser<EscapeParser, NewQueryParser>
Replace Parser::query_parser
.
Source§impl EnclosedTemplateParser<(), ()>
impl EnclosedTemplateParser<(), ()>
Sourcepub fn curly_braces() -> Self
pub fn curly_braces() -> Self
Create a builder of an EnclosedTemplateParser
of templates whose queries should be placed between curly braces.
The curly braces can be replaced by replacing the config.
The value returned from this function is not useful immediately. The query parser and the escape parser must be replaced first.
Usage example:
use lazy_template::{
enclosed::{Parser, SimpleEscapeParser, SimpleQuery, SimpleQueryParser},
IntoTemplateSystem,
};
let output = Parser::curly_braces()
.with_escape_parser(SimpleEscapeParser)
.with_query_parser(SimpleQueryParser)
.into_template_system::<SimpleQuery>()
.lazy_parse("{name} is a {age} years old {gender}")
.to_string(|query| match query {
"name" => Ok("Alice"),
"age" => Ok("20"),
"gender" => Ok("girl"),
_ => Err(format!("Can't answer {query:?}")),
})
.unwrap();
assert_eq!(output, "Alice is a 20 years old girl");
Trait Implementations§
Source§impl<EscapeParser: Clone, QueryParser: Clone> Clone for EnclosedTemplateParser<EscapeParser, QueryParser>
impl<EscapeParser: Clone, QueryParser: Clone> Clone for EnclosedTemplateParser<EscapeParser, QueryParser>
Source§fn clone(&self) -> EnclosedTemplateParser<EscapeParser, QueryParser>
fn clone(&self) -> EnclosedTemplateParser<EscapeParser, QueryParser>
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 moreSource§impl<EscapeParser: Debug, QueryParser: Debug> Debug for EnclosedTemplateParser<EscapeParser, QueryParser>
impl<EscapeParser: Debug, QueryParser: Debug> Debug for EnclosedTemplateParser<EscapeParser, QueryParser>
impl<EscapeParser: Copy, QueryParser: Copy> Copy for EnclosedTemplateParser<EscapeParser, QueryParser>
Auto Trait Implementations§
impl<EscapeParser, QueryParser> Freeze for EnclosedTemplateParser<EscapeParser, QueryParser>
impl<EscapeParser, QueryParser> RefUnwindSafe for EnclosedTemplateParser<EscapeParser, QueryParser>where
EscapeParser: RefUnwindSafe,
QueryParser: RefUnwindSafe,
impl<EscapeParser, QueryParser> Send for EnclosedTemplateParser<EscapeParser, QueryParser>
impl<EscapeParser, QueryParser> Sync for EnclosedTemplateParser<EscapeParser, QueryParser>
impl<EscapeParser, QueryParser> Unpin for EnclosedTemplateParser<EscapeParser, QueryParser>
impl<EscapeParser, QueryParser> UnwindSafe for EnclosedTemplateParser<EscapeParser, QueryParser>where
EscapeParser: UnwindSafe,
QueryParser: UnwindSafe,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<'a, Parser> IntoTemplateSystem for Parserwhere
Parser: Parse<'a>,
impl<'a, Parser> IntoTemplateSystem for Parserwhere
Parser: Parse<'a>,
fn into_template_system<Query>(self) -> TemplateSystem<Self, Query>
Source§impl<X> Pipe for X
impl<X> Pipe for X
Source§fn pipe_ref<'a, Return, Function>(&'a self, f: Function) -> Returnwhere
Function: FnOnce(&'a Self) -> Return,
fn pipe_ref<'a, Return, Function>(&'a self, f: Function) -> Returnwhere
Function: FnOnce(&'a Self) -> Return,
Source§fn pipe_mut<'a, Return, Function>(&'a mut self, f: Function) -> Returnwhere
Function: FnOnce(&'a mut Self) -> Return,
fn pipe_mut<'a, Return, Function>(&'a mut self, f: Function) -> Returnwhere
Function: FnOnce(&'a mut Self) -> Return,
Source§fn pipe_as_ref<'a, Param, Return, Function>(&'a self, f: Function) -> Return
fn pipe_as_ref<'a, Param, Return, Function>(&'a self, f: Function) -> Return
Apply
f
to &self
where f
takes a single parameter of type Param
and Self
implements trait AsRef<Param>
. Read moreSource§fn pipe_as_mut<'a, Param, Return, Function>(&'a mut self, f: Function) -> Return
fn pipe_as_mut<'a, Param, Return, Function>(&'a mut self, f: Function) -> Return
Apply
f
to &mut self
where f
takes a single parameter of type Param
and Self
implements trait AsMut<Param>
. Read moreSource§fn pipe_deref<'a, Param, Return, Function>(&'a self, f: Function) -> Return
fn pipe_deref<'a, Param, Return, Function>(&'a self, f: Function) -> Return
Apply
f
to &self
where f
takes a single parameter of type Param
and Self
implements trait Deref<Target = Param>
. Read moreSource§fn pipe_deref_mut<'a, Param, Return, Function>(
&'a mut self,
f: Function,
) -> Returnwhere
Self: DerefMut<Target = Param>,
Param: 'a + ?Sized,
Function: FnOnce(&'a mut Param) -> Return,
fn pipe_deref_mut<'a, Param, Return, Function>(
&'a mut self,
f: Function,
) -> Returnwhere
Self: DerefMut<Target = Param>,
Param: 'a + ?Sized,
Function: FnOnce(&'a mut Param) -> Return,
Apply
f
to &mut self
where f
takes a single parameter of type Param
and Self
implements trait [DerefMut<Target = Param>
]. Read moreSource§fn pipe_borrow<'a, Param, Return, Function>(&'a self, f: Function) -> Return
fn pipe_borrow<'a, Param, Return, Function>(&'a self, f: Function) -> Return
Apply
f
to &self
where f
takes a single parameter of type Param
and Self
implements trait Borrow<Param>
. Read moreSource§fn pipe_borrow_mut<'a, Param, Return, Function>(
&'a mut self,
f: Function,
) -> Return
fn pipe_borrow_mut<'a, Param, Return, Function>( &'a mut self, f: Function, ) -> Return
Apply
f
to &mut self
where f
takes a single parameter of type Param
and Self
implements trait BorrowMut<Param>
. Read more