Package-level declarations

Types

Link copied to clipboard
open class MapperDeserializationStrategy<I, O>(base: DeserializationStrategy<I>, deserialize: (Decoder, I) -> O) : DeserializationStrategy<O>

Use this serializer when you have deserializable type I and want to map it to some O in process of deserialization

Link copied to clipboard
open class MapperSerializationStrategy<I, O>(base: SerializationStrategy<I>, internalSerialize: (Encoder, O) -> I) : SerializationStrategy<O>

Use this serializer when you have serializable type I and want to map it to some O in process of serialization

Link copied to clipboard
open class MapperSerializer<I, O>(base: KSerializer<I>, serialize: (Encoder, O) -> I, deserialize: (Decoder, I) -> O) : KSerializer<O> , DeserializationStrategy<O> , SerializationStrategy<O>

Use this serializer when you have serializable type I and want to map it to some O in process of serialization/deserialization

Functions

Link copied to clipboard
inline fun <I : Any, O> DeserializationStrategy<I>.mapDeserialization(noinline deserialize: (I) -> O): MapperDeserializationStrategy<I, O>
inline fun <I : Any, O> KClass<I>.mapDeserialization(serializer: DeserializationStrategy<I> = serializer(), 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>
inline fun <I : Any, O> KClass<I>.mapFullSerialization(serializer: KSerializer<I> = serializer(), 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> mappedDeserializationStrategy(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> mappedSerializationStrategy(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
inline fun <I : Any, O> mappedSerializer(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>
inline fun <I : Any, O> KClass<I>.mapSerialization(serializer: SerializationStrategy<I> = serializer(), noinline serialize: (O) -> I): MapperSerializationStrategy<I, O>

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