INNER CODE UNIT · Kotlin
compare
neo4j-graphql/neo4j-graphql · src/main/kotlin/org/neo4j/graphql/GraphQLProcedure.kt:165
val compare = { o1: Map<String, Comparable<Any>>, o2: Map<String, Comparable<Any>> ->
// short-cut the folding
fields.fold(0) { a: Int, s: Pair<String, Boolean> ->
if (a == 0) {
val name = s.first
val v1 = o1.get(name)
val v2 = o2.get(name)
if (v1 == v2) 0
else {
val cmp = if (v1 == null) -1 else if (v2 == null) 1 else v1.compareTo(v2)
if (s.second) cmp else -cmp
}
} else a
}
}
Collections.sort(result, compare)