All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.jetbrains.datalore.plot.base.util.YOrientationBaseUtil.kt Maven / Gradle / Ivy

There is a newer version: 4.5.3-alpha1
Show newest version
/*
 * 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