[][src]Struct handlebars::Helper

pub struct Helper<'reg: 'rc, 'rc> { /* fields omitted */ }

Methods

impl<'reg: 'rc, 'rc> Helper<'reg, 'rc>[src]

pub fn name(&self) -> &str[src]

Returns helper name

pub fn params(&self) -> &Vec<PathAndJson<'reg, 'rc>>[src]

Returns all helper params, resolved within the context

pub fn param(&self, idx: usize) -> Option<&PathAndJson<'reg, 'rc>>[src]

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(())
}

pub fn hash(&self) -> &HashMap<&'reg str, PathAndJson<'reg, 'rc>>[src]

Returns hash, resolved within the context

pub fn hash_get(&self, key: &str) -> Option<&PathAndJson<'reg, 'rc>>[src]

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(())
}

pub fn template(&self) -> Option<&'reg Template>[src]

Returns the default inner template if the helper is a block helper.

Typically you will render the template via: template.render(registry, render_context)

pub fn inverse(&self) -> Option<&'reg Template>[src]

Returns the template of else branch if any

pub fn is_block(&self) -> bool[src]

Returns if the helper is a block one {{#helper}}{{/helper}} or not {{helper 123}}

pub fn has_block_param(&self) -> bool[src]

Returns if the helper has either a block param or block param pair

pub fn block_param(&self) -> Option<&'reg str>[src]

Returns block param if any

pub fn block_param_pair(&self) -> Option<(&'reg str, &'reg str)>[src]

Return block param pair (for example |key, val|) if any

Trait Implementations

impl<'reg: 'rc, 'rc> Debug for Helper<'reg, 'rc>[src]

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

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.