commonMain.net.folivo.trixnity.client.room.outbox.OutboxMessageMediaUploaderMappings.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of trixnity-client-jvm Show documentation
Show all versions of trixnity-client-jvm Show documentation
Multiplatform Kotlin SDK for matrix-protocol
package net.folivo.trixnity.client.room.outbox
import io.ktor.util.reflect.*
import net.folivo.trixnity.core.model.events.EventContent
data class OutboxMessageMediaUploaderMappings(val mappings: List>)
fun OutboxMessageMediaUploaderMappings.findUploaderOrFallback(content: EventContent): UploadAndTransformMessageEventContent =
mappings.find { content.instanceOf(it.kClass) }?.uploader
?: FallbackOutboxMessageMediaUploaderMapping.uploader