From 815cd14218ad0826c686ca30ccf47dbfa835f975 Mon Sep 17 00:00:00 2001 From: Jan Lehnardt Date: Sun, 13 Nov 2011 12:37:56 +0100 Subject: [PATCH] smarter parsing of tags with helpers, smarter iteration of helpers --- mustache.js | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/mustache.js b/mustache.js index fc6ce86..7153222 100644 --- a/mustache.js +++ b/mustache.js @@ -273,11 +273,8 @@ var Mustache = function() { var helpers; // check for helper e.g. name = "name|helperfun" - var helper_name = name.split("|"); - if(helper_name.length > 1) { // we have at least one helper - name = helper_name[0]; - helpers = helper_name.slice(1); - } + var helpers = name.split("|"); + name = helpers.shift(); // check for dot notation eg. foo.bar if(name.match(/([a-z_]+)\./ig)){ @@ -298,8 +295,9 @@ var Mustache = function() { value = value.apply(context); } - if(helpers) { - for(var idx in helpers) { + var number_of_helpers = helpers.length; + if(number_of_helpers > 0) { + for(var idx = 0; idx < number_of_helpers; idx++) { var helper = helpers[idx]; if(!this.helper_functions[helper] || typeof this.helper_functions[helper] != "function") {