package dev.inmo.postssystem.features.common.common

import dev.inmo.micro_utils.common.MPPFile
import dev.inmo.micro_utils.common.bytes
import io.ktor.utils.io.core.ByteReadPacket
import io.ktor.utils.io.core.Input
import kotlinx.serialization.Serializable

@Serializable(SimpleInputProviderSerializer::class)
actual class FileBasedInputProvider internal constructor(
    actual val file: MPPFile
) : SimpleInputProvider {
    override fun invoke(): Input = error("Files inputs must not be used directly")
}

fun MPPFile.inputProvider() = FileBasedInputProvider(this)
