Guilherme Delgado
07/02/2024, 10:58 PMshared
and shared-models
, each providing their own binary frameworks: “Shared” and “SharedModels” respectively. The shared-models
contains a data class Hello
, and the shared
module implements shared-models
and has a public method that takes Hello
as a parameter.
When these modules are exported to Swift, I see the following:
• `SharedModels`: public class Hello : KotlinBase
• `Shared`: public class Shared_modelsHello : KotlinBase
• `Shared`: open func update(state: Shared_modelsHello)
I was expecting this:
• `SharedModels`: public class Hello : KotlinBase
• `Shared`: open func update(state: Hello)
Is this a design “limitation” (I think I saw something regarding this in the latest Kotlin Conf, but I could be mistaken)?hfhbd
07/03/2024, 6:09 AMGuilherme Delgado
07/03/2024, 11:06 PMpackage kotlinx.serialization.modules
import kotlinx.serialization.*
import kotlin.reflect.*
public interface SerializersModuleCollector {
https://github.com/Kotlin/kotlinx.serialization/blob/master/core/commonMain/src/kotlinx/serialization/modules/SerializersModuleCollector.kt
transformed:
/**
* @note annotations
* kotlinx.serialization.ExperimentalSerializationApi
*/
public protocol Kotlinx_serialization_coreSerializersModuleCollector {
func contextual(kClass: any KotlinKClass, provider: @escaping ([any Kotlinx_serialization_coreKSerializer]) -> any Kotlinx_serialization_coreKSerializer)
func contextual(kClass: any KotlinKClass, serializer: any Kotlinx_serialization_coreKSerializer)
func polymorphic(baseClass: any KotlinKClass, actualClass: any KotlinKClass, actualSerializer: any Kotlinx_serialization_coreKSerializer)
@available(*, deprecated, message: "Deprecated in favor of function with more precise name: polymorphicDefaultDeserializer")
func polymorphicDefault(baseClass: any KotlinKClass, defaultDeserializerProvider: @escaping (String?) -> (any Kotlinx_serialization_coreDeserializationStrategy)?)
func polymorphicDefaultDeserializer(baseClass: any KotlinKClass, defaultDeserializerProvider: @escaping (String?) -> (any Kotlinx_serialization_coreDeserializationStrategy)?)
func polymorphicDefaultSerializer(baseClass: any KotlinKClass, defaultSerializerProvider: @escaping (Any) -> (any Kotlinx_serialization_coreSerializationStrategy)?)
}
Thanks 🙌