TypedSerializer

open class TypedSerializer<T : Any>(kClass: KClass<T>, presetSerializers: Map<String, KSerializer<out T>> = emptyMap()) : KSerializer<T> (source)

Constructors

Link copied to clipboard
constructor(kClass: KClass<T>, presetSerializers: Map<String, KSerializer<out T>> = emptyMap())

Properties

Link copied to clipboard
open override val descriptor: SerialDescriptor

Functions

Link copied to clipboard
open override fun deserialize(decoder: Decoder): T
Link copied to clipboard
open fun exclude(type: String)
Link copied to clipboard
open fun <O : T> include(type: String, serializer: KSerializer<O>)
Link copied to clipboard
inline fun <I : Any, O> DeserializationStrategy<I>.mapDeserialization(noinline deserialize: (I) -> O): MapperDeserializationStrategy<I, O>

Will create MapperDeserializationStrategy to allow you to map I to O using deserialize lambda during deserialization process

Link copied to clipboard
inline fun <I : Any, O> KSerializer<I>.mapFullSerialization(noinline serialize: (O) -> I, noinline deserialize: (I) -> O): MapperSerializer<I, O>

Will create MapperSerializer to allow you to map O to I and vice verse using serialize/deserialize lambda during serialization/deserialization process

Link copied to clipboard
inline fun <I : Any, O> SerializationStrategy<I>.mapSerialization(noinline serialize: (O) -> I): MapperSerializationStrategy<I, O>

Will create MapperSerializationStrategy to allow you to map O to I using serialize lambda during serialization process

Link copied to clipboard
@InternalSerializationApi
operator fun <T : Any> TypedSerializer<T>.minusAssign(kClass: KClass<T>)
Link copied to clipboard
@InternalSerializationApi
operator fun <T : Any> TypedSerializer<T>.plusAssign(kClass: KClass<T>)
Link copied to clipboard
open override fun serialize(encoder: Encoder, value: T)