temporal result

This commit is contained in:
2022-01-17 14:45:12 +06:00
parent ef372ab520
commit a651d8560e
15 changed files with 137 additions and 51 deletions

View File

@@ -15,6 +15,7 @@ kotlin {
api "io.insert-koin:koin-core:$koin_version"
api "com.benasher44:uuid:$uuid_version"
api "com.soywiz.korlibs.klock:klock:$klock_version"
api "io.ktor:ktor-http:$ktor_version"
}
}
jvmMain {

View File

@@ -0,0 +1,30 @@
package dev.inmo.postssystem.features.common.common
import dev.inmo.micro_utils.common.ByteArrayAllocatorSerializer
import io.ktor.utils.io.core.*
import kotlinx.serialization.KSerializer
import kotlinx.serialization.descriptors.SerialDescriptor
import kotlinx.serialization.encoding.Decoder
import kotlinx.serialization.encoding.Encoder
typealias SimpleInputProvider = () -> Input
object SimpleInputProviderSerializer : KSerializer<SimpleInputProvider> {
override val descriptor: SerialDescriptor
get() = ByteArrayAllocatorSerializer.descriptor
override fun deserialize(decoder: Decoder): SimpleInputProvider {
val allocator = ByteArrayAllocatorSerializer.deserialize(decoder)
return {
ByteReadPacket(allocator.invoke())
}
}
override fun serialize(encoder: Encoder, value: SimpleInputProvider) {
ByteArrayAllocatorSerializer.serialize(
encoder
) {
value().readBytes()
}
}
}