data classAData(valp1:Int, valp2:Int)
data classBData(valp1:Int, valp2:Int)
val aData =AData(1, 2)
val bData = aData.mapTo<BData> {}
Mapping with binding
data classAData(valp1:Int, valp2:Int)
data classBData(valp1:Int, valp3:Int)
val aData =AData(1, 2)
val bData = aData.mapTo<BData> {
binds =listOf(
Bind<Int, Int>("p2" to "p3")
)
}
Mapping with binding and type converting
data classAData(valp1:Int, valp2:Int)
data classBData(valp1:String, valp2:String)
val aData =AData(1, 2)
val bData = aData.mapTo<BData> {
binds =listOf(
Bind<Int, String>("p1" to "p1", Convert { it.toString() }),
Bind<Int, String>("p2" to "p2", Convert { it.toString() })
)
}
Mapping global converting
data classAData(valp1:Instant, valp2:Instant)
data classBData(valp1:LocalDateTime, valp2:LocalDateTime)
val aData =AData(Instant.now(), Instant.now())
val bData = aData.mapTo<BData> {
converters =listOf(
Convert<Instant, LocalDateTime> { LocalDateTime.ofInstant(it, ZoneOffset.UTC) }
)
}
RoomJetpackCompose is an app written in Kotlin and shows a simple solution to perform CRUD operations in the Room database using Kotlin Flow in clean architecture.