Macro handlebars::handlebars_helper[][src]

macro_rules! handlebars_helper {
    ($struct_name:ident: |$($name:ident: $tpe:tt),*| $body:expr ) => { ... };
    (@as_json_value $x:ident, object) => { ... };
    (@as_json_value $x:ident, array) => { ... };
    (@as_json_value $x:ident, str) => { ... };
    (@as_json_value $x:ident, i64) => { ... };
    (@as_json_value $x:ident, u64) => { ... };
    (@as_json_value $x:ident, f64) => { ... };
    (@as_json_value $x:ident, bool) => { ... };
    (@as_json_value $x:ident, null) => { ... };
}

Macro that allows you to quickly define a handlebars helper by passing a name and a closure.

Examples

#[macro_use] extern crate handlebars;
#[macro_use] extern crate serde_json;

handlebars_helper!(is_above_10: |x: u64| x > 10);

let mut handlebars = handlebars::Handlebars::new();
handlebars.register_helper("is-above-10", Box::new(is_above_10));

let result = handlebars
    .render_template("{{#if (is-above-10 12)}}great!{{else}}okay{{/if}}", &json!({}))
    .unwrap();
 assert_eq!(&result, "great!");