summaryrefslogtreecommitdiffstats
path: root/lib/handlebars/compiler/base.js
diff options
context:
space:
mode:
authormachty <machty@gmail.com>2013-02-06 17:51:47 -0500
committermachty <machty@gmail.com>2013-02-07 02:06:17 -0500
commita48e32bbf6e1c4cf1b22dc61aca7ee6e7448d46c (patch)
treeef9e5ff18efc96dd0209837cbf72901893d9533f /lib/handlebars/compiler/base.js
parent448e43c41eaec473f3c6a27ad3a833a41f83f996 (diff)
downloadhandlebars.js-a48e32bbf6e1c4cf1b22dc61aca7ee6e7448d46c.zip
handlebars.js-a48e32bbf6e1c4cf1b22dc61aca7ee6e7448d46c.tar.gz
handlebars.js-a48e32bbf6e1c4cf1b22dc61aca7ee6e7448d46c.tar.bz2
Handlebars.parse/precompile/compile can now be passed an already-compiled Handlebars AST.
Diffstat (limited to 'lib/handlebars/compiler/base.js')
-rw-r--r--lib/handlebars/compiler/base.js8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/handlebars/compiler/base.js b/lib/handlebars/compiler/base.js
index 6919d38..df8ced0 100644
--- a/lib/handlebars/compiler/base.js
+++ b/lib/handlebars/compiler/base.js
@@ -4,9 +4,13 @@ var Handlebars = require("../base");
// BEGIN(BROWSER)
Handlebars.Parser = handlebars;
-Handlebars.parse = function(string) {
+Handlebars.parse = function(input) {
+
+ // Just return if an already-compile AST was passed in.
+ if(input.constructor === Handlebars.AST.ProgramNode) { return input; }
+
Handlebars.Parser.yy = Handlebars.AST;
- return Handlebars.Parser.parse(string);
+ return Handlebars.Parser.parse(input);
};
Handlebars.print = function(ast) {