Coverage Summary for Class: LegacyDurationSerializer (com.vsevolodganin.clicktrack.utils.time)
Class |
Class, %
|
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
LegacyDurationSerializer |
0%
(0/1)
|
0%
(0/3)
|
|
0%
(0/4)
|
0%
(0/21)
|
package com.vsevolodganin.clicktrack.utils.time
import kotlinx.serialization.KSerializer
import kotlinx.serialization.descriptors.PrimitiveKind
import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor
import kotlinx.serialization.descriptors.SerialDescriptor
import kotlinx.serialization.encoding.Decoder
import kotlinx.serialization.encoding.Encoder
import kotlin.time.Duration
import kotlin.time.Duration.Companion.nanoseconds
import kotlin.time.DurationUnit
@Deprecated(
message = "This is not needed anymore, user [Duration.serializer()] instead",
replaceWith = ReplaceWith("Duration.serializer()"),
level = DeprecationLevel.WARNING,
)
class LegacyDurationSerializer : KSerializer<Duration> {
override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("DurationSerializer", PrimitiveKind.DOUBLE)
override fun deserialize(decoder: Decoder): Duration {
return decoder.decodeDouble().nanoseconds
}
override fun serialize(encoder: Encoder, value: Duration) {
encoder.encodeDouble(value.toDouble(DurationUnit.NANOSECONDS))
}
}