Struct handlebars::Helper
source · [−]pub struct Helper<'reg, 'rc> { /* private fields */ }
Expand description
Render-time Helper data when using in a helper definition
Implementations
sourceimpl<'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
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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more