From 1b9968ea4d533f46eb1a8c46b3da079ef6f98596 Mon Sep 17 00:00:00 2001 From: George Thomas Date: Tue, 16 Apr 2019 15:10:19 +0530 Subject: [PATCH] Use Array.isArray instead of instanceof `instanceof` does not always return true for an array even if `array.isArray()` return true and `Object.prototype.toString()` returns `[Object Array]` http://blog.niftysnippets.org/2010/09/say-what.html#instanceof https://stackoverflow.com/questions/28779255/is-instanceof-array-better-than-isarray-in-javascript Fixes #124 --- src/condition.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/condition.js b/src/condition.js index 9976d86..59f7e62 100644 --- a/src/condition.js +++ b/src/condition.js @@ -10,7 +10,7 @@ export default class Condition { Object.assign(this, properties) if (booleanOperator) { let subConditions = properties[booleanOperator] - if (!(subConditions instanceof Array)) { + if (!(Array.isArray(subConditions))) { throw new Error(`"${booleanOperator}" must be an array`) } this.operator = booleanOperator