Skip to content

Instantly share code, notes, and snippets.

View hosseinaminii's full-sized avatar
🎯
Focusing

Hossein hosseinaminii

🎯
Focusing
View GitHub Profile
@hosseinaminii
hosseinaminii / build.gradle.kts
Created October 8, 2021 08:32
Android Parcelable in Kotlin Multiplatform
// shared module
plugins {
...
id("kotlin-parcelize")
}
@hosseinaminii
hosseinaminii / Platform.kt
Last active October 8, 2021 09:25
Android Parcelable in Kotlin Multiplatform
// CommonMain
@CommonParcelize
data class User(
val id: Int,
val firstname: String
): CommonParcelable
@hosseinaminii
hosseinaminii / Platform.kt
Last active October 8, 2021 09:36
Android Parcelable in Kotlin Multiplatform
// ios/js/...Main
actual interface CommonParcelable
@hosseinaminii
hosseinaminii / Platform.kt
Last active October 8, 2021 09:35
Android Parcelable in Kotlin Multiplatform
// androidMain/Pltafrom.kt
actual typealias CommonParcelable = Parcelable
@hosseinaminii
hosseinaminii / Platform.kt
Created October 7, 2021 17:30
Android Parcelable in Kotlin Multiplatform
// commonMain/Platform.kt
expect interface CommonParcelable
@hosseinaminii
hosseinaminii / Platform.kt
Last active October 8, 2021 09:34
Android Parcelable in Kotlin Multiplatform
// androidMain/Platform.kt
actual typealias CommonParcelize = Parcelize
// commonMain/Platform.kt
@OptIn(ExperimentalMultiplatform::class)
@OptionalExpectation
@Target(AnnotationTarget.CLASS)
@Retention(AnnotationRetention.BINARY)
expect annotation class CommonParcelize()
@hosseinaminii
hosseinaminii / Platform.kt
Last active October 7, 2021 14:21
Android Parcelable in Kotlin Multiplatform
// androidMain/Platform.kt
actual typealias CommonParcelable = Parcelable
@hosseinaminii
hosseinaminii / Platform.kt
Last active October 7, 2021 14:21
Android Parcelable in Kotlin Multiplatform
// commonMain/Platform.kt
expect interface CommonParcelable
@hosseinaminii
hosseinaminii / Example.kt
Created October 7, 2021 09:09
Android Parcelable in Kotlin Multiplatform
typealias MyClass = TooLongAndUglyNameClass
fun foo(p: MyClass) {
// Some logics
}