Struct rocket_dyn_templates::handlebars::Helper
source · pub struct Helper<'reg, 'rc> { /* private fields */ }
Expand description
Render-time Helper data when using in a helper definition
Implementations§
source§impl<'reg, 'rc> Helper<'reg, 'rc>where
'reg: 'rc,
impl<'reg, 'rc> Helper<'reg, 'rc>where 'reg: 'rc,
sourcepub fn params(&self) -> &Vec<PathAndJson<'reg, 'rc>, Global>
pub fn params(&self) -> &Vec<PathAndJson<'reg, 'rc>, Global>
Returns all helper params, resolved within the context
sourcepub fn param(&self, idx: usize) -> Option<&PathAndJson<'reg, 'rc>>
pub fn param(&self, idx: usize) -> Option<&PathAndJson<'reg, 'rc>>
Returns nth helper param, resolved within the context.
Example
To get the first param in {{my_helper abc}}
or {{my_helper 2}}
,
use h.param(0)
in helper definition.
Variable abc
is auto resolved in current context.
use handlebars::*;
fn my_helper(h: &Helper, rc: &mut RenderContext) -> Result<(), RenderError> {
let v = h.param(0).map(|v| v.value())
.ok_or(RenderError::new("param not found"));
// ..
Ok(())
}
sourcepub fn hash(&self) -> &BTreeMap<&'reg str, PathAndJson<'reg, 'rc>, Global>
pub fn hash(&self) -> &BTreeMap<&'reg str, PathAndJson<'reg, 'rc>, Global>
Returns hash, resolved within the context
sourcepub fn hash_get(&self, key: &str) -> Option<&PathAndJson<'reg, 'rc>>
pub fn hash_get(&self, key: &str) -> Option<&PathAndJson<'reg, 'rc>>
Return hash value of a given key, resolved within the context
Example
To get the first param in {{my_helper v=abc}}
or {{my_helper v=2}}
,
use h.hash_get("v")
in helper definition.
Variable abc
is auto resolved in current context.
use handlebars::*;
fn my_helper(h: &Helper, rc: &mut RenderContext) -> Result<(), RenderError> {
let v = h.hash_get("v").map(|v| v.value())
.ok_or(RenderError::new("param not found"));
// ..
Ok(())
}
sourcepub fn template(&self) -> Option<&'reg Template>
pub fn template(&self) -> Option<&'reg Template>
Returns the default inner template if the helper is a block helper.
Typically you will render the template via: template.render(registry, render_context)
sourcepub fn is_block(&self) -> bool
pub fn is_block(&self) -> bool
Returns if the helper is a block one {{#helper}}{{/helper}}
or not {{helper 123}}
sourcepub fn has_block_param(&self) -> bool
pub fn has_block_param(&self) -> bool
Returns if the helper has either a block param or block param pair
sourcepub fn block_param(&self) -> Option<&'reg str>
pub fn block_param(&self) -> Option<&'reg str>
Returns block param if any
sourcepub fn block_param_pair(&self) -> Option<(&'reg str, &'reg str)>
pub fn block_param_pair(&self) -> Option<(&'reg str, &'reg str)>
Return block param pair (for example |key, val|) if any
Trait Implementations§
Auto Trait Implementations§
impl<'reg, 'rc> RefUnwindSafe for Helper<'reg, 'rc>
impl<'reg, 'rc> Send for Helper<'reg, 'rc>
impl<'reg, 'rc> Sync for Helper<'reg, 'rc>
impl<'reg, 'rc> Unpin for Helper<'reg, 'rc>
impl<'reg, 'rc> UnwindSafe for Helper<'reg, 'rc>
Blanket Implementations§
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IntoCollection<T> for T
impl<T> IntoCollection<T> for T
§fn into_collection<A>(self) -> SmallVec<A>where
A: Array<Item = T>,
fn into_collection<A>(self) -> SmallVec<A>where A: Array<Item = T>,
self
into a collection.