summaryrefslogtreecommitdiffstats
path: root/lib/handlebars/compiler/compiler.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/handlebars/compiler/compiler.js')
-rw-r--r--lib/handlebars/compiler/compiler.js20
1 files changed, 16 insertions, 4 deletions
diff --git a/lib/handlebars/compiler/compiler.js b/lib/handlebars/compiler/compiler.js
index 7578dd2..297a553 100644
--- a/lib/handlebars/compiler/compiler.js
+++ b/lib/handlebars/compiler/compiler.js
@@ -160,7 +160,7 @@ Handlebars.JavaScriptCompiler = function() {};
},
partial: function(partial) {
- var id = partial.id;
+ var partialName = partial.partialName;
this.usePartial = true;
if(partial.context) {
@@ -169,7 +169,7 @@ Handlebars.JavaScriptCompiler = function() {};
this.opcode('push', 'depth0');
}
- this.opcode('invokePartial', id.original);
+ this.opcode('invokePartial', partialName.name);
this.opcode('append');
},
@@ -1035,16 +1035,28 @@ Handlebars.JavaScriptCompiler = function() {};
})(Handlebars.Compiler, Handlebars.JavaScriptCompiler);
Handlebars.precompile = function(string, options) {
- options = options || {};
+ if (typeof string !== 'string') {
+ throw new Handlebars.Exception("You must pass a string to Handlebars.compile. You passed " + string);
+ }
+ options = options || {};
+ if (!('data' in options)) {
+ options.data = true;
+ }
var ast = Handlebars.parse(string);
var environment = new Handlebars.Compiler().compile(ast, options);
return new Handlebars.JavaScriptCompiler().compile(environment, options);
};
Handlebars.compile = function(string, options) {
- options = options || {};
+ if (typeof string !== 'string') {
+ throw new Handlebars.Exception("You must pass a string to Handlebars.compile. You passed " + string);
+ }
+ options = options || {};
+ if (!('data' in options)) {
+ options.data = true;
+ }
var compiled;
function compile() {
var ast = Handlebars.parse(string);