commonMain.jetbrains.datalore.plot.base.util.YOrientationBaseUtil.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of lets-plot-common Show documentation
Show all versions of lets-plot-common Show documentation
Lets-Plot JVM package without rendering part
/*
* Copyright (c) 2022. JetBrains s.r.o.
* Use of this source code is governed by the MIT license that can be found in the LICENSE file.
*/
package jetbrains.datalore.plot.base.util
import jetbrains.datalore.plot.base.Aes
fun Aes.afterOrientation(yOrientation: Boolean): Aes {
return when (yOrientation) {
true -> YOrientationBaseUtil.flipAes(this)
false -> this
}
}
fun List>.afterOrientation(yOrientation: Boolean): List> {
return this.map { it.afterOrientation(yOrientation) }
}
fun Set>.afterOrientation(yOrientation: Boolean): Set> {
return this.map { it.afterOrientation(yOrientation) }.toSet()
}
object YOrientationBaseUtil {
fun flipAesKeys(map: Map, T>): Map, T> {
return map.mapKeys { (aes, _) ->
flipAes(aes)
}
}
fun flipAes(aes: Aes): Aes {
@Suppress("UNCHECKED_CAST")
return when (aes) {
Aes.X -> Aes.Y as Aes
Aes.Y -> Aes.X as Aes
else -> aes
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy