summaryrefslogtreecommitdiffstats
path: root/lib/handlebars/compiler/ast.js
diff options
context:
space:
mode:
authorkpdecker <kpdecker@gmail.com>2013-12-23 19:02:24 -0600
committerkpdecker <kpdecker@gmail.com>2013-12-23 19:02:24 -0600
commitb4968bb8d4b935ba1a275d2acbabd01cb0586401 (patch)
treeff361e9eea8c1f9dbde57ff783273afa8a13e9d2 /lib/handlebars/compiler/ast.js
parentca8e34c94d1c8dc42976d819a4cd163d06bad2cb (diff)
downloadhandlebars.js-b4968bb8d4b935ba1a275d2acbabd01cb0586401.zip
handlebars.js-b4968bb8d4b935ba1a275d2acbabd01cb0586401.tar.gz
handlebars.js-b4968bb8d4b935ba1a275d2acbabd01cb0586401.tar.bz2
Fix handling of boolean escape in MustacheNode
Fixes issue with Ember compatibility due to direct instantiation of MustacheNode.
Diffstat (limited to 'lib/handlebars/compiler/ast.js')
-rw-r--r--lib/handlebars/compiler/ast.js11
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/handlebars/compiler/ast.js b/lib/handlebars/compiler/ast.js
index e8cde74..64cd3b7 100644
--- a/lib/handlebars/compiler/ast.js
+++ b/lib/handlebars/compiler/ast.js
@@ -19,9 +19,14 @@ var AST = {
this.hash = hash;
this.strip = strip;
- // Must use charAt to support IE pre-10
- var escapeFlag = open.charAt(3) || open.charAt(2);
- this.escaped = escapeFlag !== '{' && escapeFlag !== '&';
+ // Open may be a string parsed from the parser or a passed boolean flag
+ if (open != null && open.charAt) {
+ // Must use charAt to support IE pre-10
+ var escapeFlag = open.charAt(3) || open.charAt(2);
+ this.escaped = escapeFlag !== '{' && escapeFlag !== '&';
+ } else {
+ this.escaped = !!open;
+ }
var id = this.id = rawParams[0];
var params = this.params = rawParams.slice(1);