File tree Expand file tree Collapse file tree 1 file changed +16
-19
lines changed
src/main/scala/org/camunda/feel/impl/builtin Expand file tree Collapse file tree 1 file changed +16
-19
lines changed Original file line number Diff line number Diff line change @@ -377,34 +377,31 @@ class ListBuiltinFunctions(private val valueMapper: ValueMapper) {
377377 private def unionFunction = builtinFunction(
378378 params = List (" lists" ),
379379 invoke = { case List (ValList (lists)) =>
380- ValList (
381- lists
382- .flatMap(_ match {
383- case ValList (list) => list
384- case v => List (v)
385- })
386- .toList
387- .distinct
388- )
380+ val listOfLists = lists.flatMap {
381+ case ValList (list) => list
382+ case v => List (v)
383+ }
384+ ValList (distinct(listOfLists))
389385 },
390386 hasVarArgs = true
391387 )
392388
393389 private def distinctValuesFunction =
394390 builtinFunction(
395391 params = List (" list" ),
396- invoke = { case List (ValList (list)) =>
397- val distinctList = list.foldLeft( List [ Val ]())((result, item) =>
398- if (result.exists(y => valueComparator.equals(item, y))) {
399- // duplicate value
400- result
401- } else {
402- result :+ item
403- }
404- )
405- ValList (distinctList)
392+ invoke = { case List (ValList (list)) => ValList (distinct(list)) }
393+ )
394+
395+ private def distinct ( list : List [ Val ]) : List [ Val ] = {
396+ list.foldLeft( List [ Val ]())((result, item) =>
397+ if (result.exists(y => valueComparator.equals(item, y))) {
398+ // duplicate value
399+ result
400+ } else {
401+ result :+ item
406402 }
407403 )
404+ }
408405
409406 private def flattenFunction =
410407 builtinFunction(
You can’t perform that action at this time.
0 commit comments