diff options
author | tomhuda <tomhuda@strobecorp.com> | 2011-05-04 00:03:50 -0700 |
---|---|---|
committer | tomhuda <tomhuda@strobecorp.com> | 2011-05-04 00:03:50 -0700 |
commit | 60040e60fbd552517eeac9f2391ad2abcdf5f0d4 (patch) | |
tree | 504098735dac0716b49f9df94e4e32cabfd0b636 /lib/handlebars/compiler.js | |
parent | 81071dd22c5295d796ab702d910e167029e178c4 (diff) | |
download | handlebars.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.js | 24 |
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 ""; }, |