diff --git a/CHANGELOG.md b/CHANGELOG.md index 11f6764e911..278461ed165 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## 0.5.21 +* `Serialization` + * `Typed Serializer`: + * `TypedSerializer` Descriptor serial name has been fixed + ## 0.5.20 * `Repos`: diff --git a/serialization/typed_serializer/src/commonMain/kotlin/dev/inmo/micro_utils/serialization/typed_serializer/TypedSerializer.kt b/serialization/typed_serializer/src/commonMain/kotlin/dev/inmo/micro_utils/serialization/typed_serializer/TypedSerializer.kt index 9a54292e629..158d22994e5 100644 --- a/serialization/typed_serializer/src/commonMain/kotlin/dev/inmo/micro_utils/serialization/typed_serializer/TypedSerializer.kt +++ b/serialization/typed_serializer/src/commonMain/kotlin/dev/inmo/micro_utils/serialization/typed_serializer/TypedSerializer.kt @@ -8,11 +8,23 @@ import kotlin.reflect.KClass open class TypedSerializer( kClass: KClass, - presetSerializers: Map> = emptyMap() + presetSerializers: Map> = emptyMap(), ) : KSerializer { protected val serializers = presetSerializers.toMutableMap() @InternalSerializationApi - open override val descriptor: SerialDescriptor = buildSerialDescriptor( + override val descriptor: SerialDescriptor = buildSerialDescriptor( + "TypedSerializer", + SerialKind.CONTEXTUAL + ) { + element("type", String.serializer().descriptor) + element("value", ContextualSerializer(kClass).descriptor) + } + @InternalSerializationApi + @Deprecated( + "This descriptor was deprecated due to incorrect serial name. You may use it in case something require it, " + + "but it is strongly recommended to migrate onto new descriptor" + ) + protected val oldDescriptor: SerialDescriptor = buildSerialDescriptor( "TextSourceSerializer", SerialKind.CONTEXTUAL ) {