summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/handlebars/compiler/compiler.js4
-rw-r--r--lib/handlebars/utils.js10
2 files changed, 12 insertions, 2 deletions
diff --git a/lib/handlebars/compiler/compiler.js b/lib/handlebars/compiler/compiler.js
index 13143cc..95fe101 100644
--- a/lib/handlebars/compiler/compiler.js
+++ b/lib/handlebars/compiler/compiler.js
@@ -1,5 +1,5 @@
import Exception from "../exception";
-import {isArray} from "../utils";
+import {isArray, indexOf} from "../utils";
import AST from "./ast";
var slice = [].slice;
@@ -400,7 +400,7 @@ Compiler.prototype = {
blockParamIndex: function(name) {
for (var depth = 0, len = this.options.blockParams.length; depth < len; depth++) {
var blockParams = this.options.blockParams[depth],
- param = blockParams && blockParams.indexOf(name);
+ param = blockParams && indexOf(blockParams, name);
if (blockParams && param >= 0) {
return [depth, param];
}
diff --git a/lib/handlebars/utils.js b/lib/handlebars/utils.js
index 8cea50d..fc2b846 100644
--- a/lib/handlebars/utils.js
+++ b/lib/handlebars/utils.js
@@ -48,6 +48,16 @@ export var isArray = Array.isArray || function(value) {
return (value && typeof value === 'object') ? toString.call(value) === '[object Array]' : false;
};
+// Older IE versions do not directly support indexOf so we must implement our own, sadly.
+export function indexOf(array, value) {
+ for (var i = 0, len = array.length; i < len; i++) {
+ if (array[i] === value) {
+ return i;
+ }
+ }
+ return -1;
+}
+
export function escapeExpression(string) {
// don't escape SafeStrings, since they're already safe