Struct handlebars::Helper
[−]
[src]
pub struct Helper<'a> { /* fields omitted */ }
Render-time Helper data when using in a helper definition
Methods
impl<'a, 'b> Helper<'a>
[src]
fn name(&self) -> &str
Returns helper name
fn params(&self) -> &Vec<ContextJson>
Returns all helper params, resolved within the context
fn param(&self, idx: usize) -> Option<&ContextJson>
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()).unwrap(); // .. Ok(()) }
fn hash(&self) -> &BTreeMap<String, ContextJson>
Returns hash, resolved within the context
fn hash_get(&self, key: &str) -> Option<&ContextJson>
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()).unwrap(); // .. Ok(()) }
fn template(&self) -> Option<&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)
fn inverse(&self) -> Option<&Template>
Returns the template of else
branch if any
fn is_block(&self) -> bool
Returns if the helper is a block one {{#helper}}{{/helper}}
or not {{helper 123}}
fn block_param(&self) -> Option<&str>
Returns block param if any
fn block_param_pair(&self) -> Option<(&str, &str)>
Return block param pair (for example |key, val|) if any