File tree Expand file tree Collapse file tree 1 file changed +8
-30
lines changed
src/main/scala/org/camunda/feel/impl/interpreter Expand file tree Collapse file tree 1 file changed +8
-30
lines changed Original file line number Diff line number Diff line change @@ -49,43 +49,21 @@ class ValComparator(private val valueMapper: ValueMapper) {
4949 }
5050
5151 private def compare (x : List [Val ], y : List [Val ]): ValBoolean = {
52- if (x.size != y.size) {
53- ValBoolean (false )
54-
55- } else {
56- val itemsAreEqual = x.zip(y).foldRight(true ) { case ((x, y), listIsEqual) =>
57- listIsEqual && {
58- compare(x, y) match {
59- case ValBoolean (itemIsEqual) => itemIsEqual
60- case _ => false
61- }
62- }
63- }
64- ValBoolean (itemsAreEqual)
65- }
52+ ValBoolean (
53+ x.size == y.size && x.zip(y).forall { case (itemX, itemY) => equals(itemX, itemY) }
54+ )
6655 }
6756
6857 private def compare (x : Context , y : Context ): ValBoolean = {
6958 val xVars = x.variableProvider.getVariables
7059 val yVars = y.variableProvider.getVariables
7160
72- if (xVars.keys != yVars.keys) {
73- ValBoolean (false )
74-
75- } else {
76- val itemsAreEqual = xVars.keys.foldRight(true ) { case (key, contextIsEqual) =>
77- contextIsEqual && {
78- val xVal = valueMapper.toVal(xVars(key))
79- val yVal = valueMapper.toVal(yVars(key))
61+ ValBoolean (xVars.keys == yVars.keys && xVars.keys.forall { key =>
62+ val xVal = valueMapper.toVal(xVars(key))
63+ val yVal = valueMapper.toVal(yVars(key))
8064
81- compare(xVal, yVal) match {
82- case ValBoolean (entryIsEqual) => entryIsEqual
83- case _ => false
84- }
85- }
86- }
87- ValBoolean (itemsAreEqual)
88- }
65+ equals(xVal, yVal)
66+ })
8967 }
9068
9169}
You can’t perform that action at this time.
0 commit comments