2
0

feat(engine): ️ Lowercase resiliency on "contains" operator

This commit is contained in:
Baptiste Arnaud
2022-04-08 06:30:36 -05:00
parent 25961d32fc
commit 519723b2d8

View File

@ -88,19 +88,22 @@ const executeCondition = (
const executeComparison =
(variables: Variable[]) => (comparison: Comparison) => {
if (!comparison?.variableId) return false
const inputValue =
const inputValue = (
variables.find((v) => v.id === comparison.variableId)?.value ?? ''
const value = parseVariables(variables)(comparison.value)
)
.toString()
.trim()
const value = parseVariables(variables)(comparison.value).toString().trim()
if (isNotDefined(value)) return false
switch (comparison.comparisonOperator) {
case ComparisonOperators.CONTAINS: {
return inputValue.toString().includes(value.toString())
return inputValue.toLowerCase().includes(value.toLowerCase())
}
case ComparisonOperators.EQUAL: {
return inputValue.toString() === value.toString()
return inputValue === value
}
case ComparisonOperators.NOT_EQUAL: {
return inputValue.toString() !== value.toString()
return inputValue !== value
}
case ComparisonOperators.GREATER: {
return parseFloat(inputValue) >= parseFloat(value)