summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authortomhuda <tomhuda@strobecorp.com>2011-05-03 20:38:28 -0700
committertomhuda <tomhuda@strobecorp.com>2011-05-03 20:38:28 -0700
commit5d995720069723dbeb270be399e513f54ed3d26d (patch)
tree4755217d82f3e6dd883394356157785d188d4579 /lib
parentd83e1c74841fb7fc303484e397898195703cef8e (diff)
downloadhandlebars.js-5d995720069723dbeb270be399e513f54ed3d26d.zip
handlebars.js-5d995720069723dbeb270be399e513f54ed3d26d.tar.gz
handlebars.js-5d995720069723dbeb270be399e513f54ed3d26d.tar.bz2
Rename vm.js to compiler.js
Diffstat (limited to 'lib')
-rw-r--r--lib/handlebars.js2
-rw-r--r--lib/handlebars/compiler.js (renamed from lib/handlebars/vm.js)30
2 files changed, 19 insertions, 13 deletions
diff --git a/lib/handlebars.js b/lib/handlebars.js
index 2c24dde..b578775 100644
--- a/lib/handlebars.js
+++ b/lib/handlebars.js
@@ -7,7 +7,7 @@ require("handlebars/ast");
require("handlebars/printer");
require("handlebars/visitor");
-require("handlebars/vm");
+require("handlebars/compiler");
// BEGIN(BROWSER)
diff --git a/lib/handlebars/vm.js b/lib/handlebars/compiler.js
index 67a9c08..16805f3 100644
--- a/lib/handlebars/vm.js
+++ b/lib/handlebars/compiler.js
@@ -427,10 +427,12 @@ Handlebars.JavaScriptCompiler = function() {};
container.children = this.environment.children;
- return function(context, helpers, partials, data, $depth) {
+ return function(context, options, $depth) {
try {
- var args = Array.prototype.slice.call(arguments);
- args.unshift(Handlebars);
+ options = options || {};
+ var args = [Handlebars, context, options.helpers, options.partials, options.data];
+ var depth = Array.prototype.slice.call(arguments, 2);
+ args = args.concat(depth);
return container.render.apply(container, args);
} catch(e) {
throw e;
@@ -693,18 +695,22 @@ Handlebars.JavaScriptCompiler = function() {};
})(Handlebars.Compiler, Handlebars.JavaScriptCompiler);
Handlebars.VM = {
- programWithDepth: function(fn) {
- var args = Array.prototype.slice.call(arguments, 1);
+ programWithDepth: function(fn, passedHelpers, passedPartials, passedData, $depth) {
+ var args = Array.prototype.slice.call(arguments, 4);
+
return function(context, helpers, partials, data) {
- args[0] = helpers || args[0];
- args[1] = partials || args[1];
- args[2] = data || args[2];
- return fn.apply(this, [context].concat(args));
+ var options = {
+ helpers: helpers || passedHelpers,
+ partials: partials || passedPartials,
+ data: data || passedData
+ };
+
+ return fn.apply(this, [context, options].concat(args));
};
},
program: function(fn, helpers, partials, data) {
return function(context, h2, p2, d2) {
- return fn(context, h2 || helpers, p2 || partials, d2 || data);
+ return fn(context, {helpers: h2 || helpers, partials: p2 || partials, data: d2 || data});
};
},
noop: function() { return ""; },
@@ -717,10 +723,10 @@ Handlebars.VM = {
if(partial === undefined) {
throw new Handlebars.Exception("The partial " + name + " could not be found");
} else if(partial instanceof Function) {
- return partial(context, helpers, partials);
+ return partial(context, {helpers: helpers, partials: partials});
} else {
partials[name] = Handlebars.VM.compile(partial);
- return partials[name](context, helpers, partials);
+ return partials[name](context, {helpers: helpers, partials: partials});
}
}
};