summaryrefslogtreecommitdiffstats
path: root/lib/handlebars/compiler/javascript-compiler.js
diff options
context:
space:
mode:
authorkpdecker <kpdecker@gmail.com>2015-07-21 02:16:49 +0300
committerkpdecker <kpdecker@gmail.com>2015-08-01 15:48:28 -0500
commit410141c31e547694746f3ce9427d1dde30070777 (patch)
tree78066fe72f52ec743ac701f2c84c4acb0b7aff55 /lib/handlebars/compiler/javascript-compiler.js
parent060c087e62d98e09e41e8d2a784a8298e875d77b (diff)
downloadhandlebars.js-410141c31e547694746f3ce9427d1dde30070777.zip
handlebars.js-410141c31e547694746f3ce9427d1dde30070777.tar.gz
handlebars.js-410141c31e547694746f3ce9427d1dde30070777.tar.bz2
Fix escaping of non-javascript identifiers
The ‘ character would cause invalid javascript to be generated as it was not properly escaped. Switching to JSON.stringify safely handles all potential unescaped cases.
Diffstat (limited to 'lib/handlebars/compiler/javascript-compiler.js')
-rw-r--r--lib/handlebars/compiler/javascript-compiler.js2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/handlebars/compiler/javascript-compiler.js b/lib/handlebars/compiler/javascript-compiler.js
index 8830661..d39ecb2 100644
--- a/lib/handlebars/compiler/javascript-compiler.js
+++ b/lib/handlebars/compiler/javascript-compiler.js
@@ -16,7 +16,7 @@ JavaScriptCompiler.prototype = {
if (JavaScriptCompiler.isValidJavaScriptVariableName(name)) {
return [parent, '.', name];
} else {
- return [parent, "['", name, "']"];
+ return [parent, '[', JSON.stringify(name), ']'];
}
},
depthedLookup: function(name) {