Skip to content

Commit 8533469

Browse files
authored
Fix : In array condition is failing when attribute value is null (#52)
1 parent 58ff8da commit 8533469

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

src/main/kotlin/com/featurevisor/sdk/Conditions.kt

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -111,18 +111,19 @@ object Conditions {
111111
}
112112
}
113113

114-
attributeValue is AttributeValue.StringValue && conditionValue is ConditionValue.ArrayValue -> {
114+
attributeValue is AttributeValue.IntValue && conditionValue is ConditionValue.ArrayValue -> {
115115
when (operator) {
116-
IN_ARRAY -> attributeValue.value in conditionValue.values
117-
NOT_IN_ARRAY -> (attributeValue.value !in conditionValue.values)
116+
IN_ARRAY -> attributeValue.value.toString() in conditionValue.values
117+
NOT_IN_ARRAY -> (attributeValue.value.toString() !in conditionValue.values)
118118
else -> false
119119
}
120120
}
121121

122-
attributeValue is AttributeValue.IntValue && conditionValue is ConditionValue.ArrayValue -> {
122+
conditionValue is ConditionValue.ArrayValue -> {
123+
val valueInContext = (context[attributeKey] as? AttributeValue.StringValue)?.value
123124
when (operator) {
124-
IN_ARRAY -> attributeValue.value.toString() in conditionValue.values
125-
NOT_IN_ARRAY -> (attributeValue.value.toString() !in conditionValue.values)
125+
IN_ARRAY -> valueInContext in conditionValue.values
126+
NOT_IN_ARRAY -> valueInContext !in conditionValue.values
126127
else -> false
127128
}
128129
}

0 commit comments

Comments
 (0)