StartPluginSerializer

expect object StartPluginSerializer : KSerializer<StartPlugin> (source)
actual object StartPluginSerializer : KSerializer<StartPlugin> (source)
actual object StartPluginSerializer : KSerializer<StartPlugin> (source)

Properties

descriptor
Link copied to clipboard
abstract override val descriptor: SerialDescriptor
open override val descriptor: SerialDescriptor
open override val descriptor: SerialDescriptor

Functions

deserialize
Link copied to clipboard
abstract fun deserialize(decoder: Decoder): StartPlugin
open override fun deserialize(decoder: Decoder): StartPlugin
open override fun deserialize(decoder: Decoder): StartPlugin
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
fun registerPlugin(name: String, plugin: StartPlugin)

Register plugin inside of this KSerializer. Since plugin has been registered, you may use its name in any serialized dev.inmo.micro_utils.startup.launcher.Config to retrieve plugin you passed here

serialize
Link copied to clipboard
abstract fun serialize(encoder: Encoder, value: StartPlugin)
open override fun serialize(encoder: Encoder, value: StartPlugin)
open override fun serialize(encoder: Encoder, value: StartPlugin)