Is it possible to have code in a kotlin project (either inline in a class, or having two versions of a file) where one version is used on on target (Kotlin/JS) and a different one on a different target (Kotlin/Native)?
#if js or
SomeClass.js.kt kind of thing?
actual declarations that most likely are what you are searching for:
If you're developing a multiplatform application that needs to access platform-specific APIs that implement the required functionality (for example, generating a UUID), use the Kotlin mechanism of
With this mechanism, a common source set defines an expected declaration, and platform source sets must provide the actual declaration that corresponds to the expected declaration. This works for most Kotlin declarations, such as functions, classes, interfaces, enumerations, properties, and annotations.
These declarations are still officially documented as being beta features but they also claim to be almost ready, so perhaps it's worth a look: https://kotlinlang.org/docs/multiplatform-connect-to-apis.html
Additionally you can also check this tutorial: Introduction to Multiplatform Programming in Kotlin