Struct 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, 'rc> Helper<'reg, 'rc>
impl<'reg: 'rc, 'rc> Helper<'reg, 'rc>
sourcepub fn params(&self) -> &Vec<PathAndJson<'reg, 'rc>>
pub fn params(&self) -> &Vec<PathAndJson<'reg, 'rc>>
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>>
pub fn hash(&self) -> &BTreeMap<&'reg str, PathAndJson<'reg, 'rc>>
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