UuidSerializer.kt
- /*
- * This file is part of the pl.wrzasq.commons.
- *
- * @license http://mit-license.org/ The MIT license
- * @copyright 2022 © by Rafał Wrzeszcz - Wrzasq.pl.
- */
- package pl.wrzasq.commons.json.serializer
- import kotlinx.serialization.KSerializer
- import kotlinx.serialization.descriptors.PrimitiveKind
- import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor
- import kotlinx.serialization.encoding.Decoder
- import kotlinx.serialization.encoding.Encoder
- import java.util.UUID
- /**
- * UUID JSON serialization strategy.
- */
- object UuidSerializer : KSerializer<UUID> {
- override val descriptor = PrimitiveSerialDescriptor("UUID", PrimitiveKind.STRING)
- override fun deserialize(decoder: Decoder): UUID = UUID.fromString(decoder.decodeString())
- override fun serialize(encoder: Encoder, value: UUID) {
- encoder.encodeString(value.toString())
- }
- }