Vivek Modi
02/08/2022, 5:41 PMBig Chungus
02/08/2022, 5:48 PM// commonMain
interface Environment {
val HOME: String
val SHELL: String
}
expect fun getEnv(): Environment
// jvmMain
actual fun getEnv(): Environment = object: Environment {
override val HOME = System.getenv("HOME")
override val SHELL = System.getenv("SHELL")
}
// linuxX64Main
actual fun getEnv(): Environment = object: Environment {
override val HOME = platform.posix.getenv("HOME")
override val SHELL = platform.posix.getenv("SHELL")
}
Vivek Modi
02/08/2022, 5:59 PMBig Chungus
02/08/2022, 6:03 PMexpect interface
where you have api overlaps between platforms, but want to provide platform-specific enchancements on it as well. Those enchancements will not be visible in common code.