summaryrefslogtreecommitdiffstats
path: root/lib/handlebars/compiler.js
diff options
context:
space:
mode:
authortomhuda <tomhuda@strobecorp.com>2011-05-04 00:03:50 -0700
committertomhuda <tomhuda@strobecorp.com>2011-05-04 00:03:50 -0700
commit60040e60fbd552517eeac9f2391ad2abcdf5f0d4 (patch)
tree504098735dac0716b49f9df94e4e32cabfd0b636 /lib/handlebars/compiler.js
parent81071dd22c5295d796ab702d910e167029e178c4 (diff)
downloadhandlebars.js-60040e60fbd552517eeac9f2391ad2abcdf5f0d4.zip
handlebars.js-60040e60fbd552517eeac9f2391ad2abcdf5f0d4.tar.gz
handlebars.js-60040e60fbd552517eeac9f2391ad2abcdf5f0d4.tar.bz2
Update specs and code so that the function passed to block helpers has the same API as regular compiled templates
Diffstat (limited to 'lib/handlebars/compiler.js')
-rw-r--r--lib/handlebars/compiler.js24
1 files changed, 16 insertions, 8 deletions
diff --git a/lib/handlebars/compiler.js b/lib/handlebars/compiler.js
index 16805f3..3e71de3 100644
--- a/lib/handlebars/compiler.js
+++ b/lib/handlebars/compiler.js
@@ -695,22 +695,30 @@ Handlebars.JavaScriptCompiler = function() {};
})(Handlebars.Compiler, Handlebars.JavaScriptCompiler);
Handlebars.VM = {
- programWithDepth: function(fn, passedHelpers, passedPartials, passedData, $depth) {
+ programWithDepth: function(fn, helpers, partials, data, $depth) {
var args = Array.prototype.slice.call(arguments, 4);
- return function(context, helpers, partials, data) {
- var options = {
- helpers: helpers || passedHelpers,
- partials: partials || passedPartials,
- data: data || passedData
+ return function(context, options) {
+ options = options || {};
+
+ options = {
+ helpers: options.helpers || helpers,
+ partials: options.partials || partials,
+ data: options.data || data
};
return fn.apply(this, [context, options].concat(args));
};
},
program: function(fn, helpers, partials, data) {
- return function(context, h2, p2, d2) {
- return fn(context, {helpers: h2 || helpers, partials: p2 || partials, data: d2 || data});
+ return function(context, options) {
+ options = options || {};
+
+ return fn(context, {
+ helpers: options.helpers || helpers,
+ partials: options.partials || partials,
+ data: options.data || data
+ });
};
},
noop: function() { return ""; },