Revert "more annotations to god of annotations"

This reverts commit f8a8808508.
This commit is contained in:
2020-10-16 19:40:04 +06:00
parent 893fd1ac07
commit 90c1731bd1
52 changed files with 9 additions and 222 deletions

View File

@@ -1,17 +1,13 @@
package dev.inmo.micro_utils.mime_types
import kotlinx.serialization.Serializable
import kotlin.js.JsExport
@JsExport
@Serializable(MimeTypeSerializer::class)
interface MimeType {
val raw: String
}
@JsExport
data class CustomMimeType(override val raw: String) : MimeType
@JsExport
@Serializable(MimeTypeSerializer::class)
sealed class KnownMimeTypes(override val raw: String) : MimeType {
object Any : MimeType, KnownMimeTypes("*/*")
@@ -2148,12 +2144,10 @@ internal val knownMimeTypes: Set<MimeType> = setOf(
KnownMimeTypes.XConference.XCooltalk,
)
@JsExport
val knownMimeTypesMap by lazy {
knownMimeTypes.associateBy { it.raw }
}
@JsExport
fun findBuiltinMimeType(from: String): MimeType? {
return knownMimeTypesMap[from]
}

View File

@@ -5,22 +5,18 @@ import kotlinx.serialization.Serializer
import kotlinx.serialization.descriptors.*
import kotlinx.serialization.encoding.Decoder
import kotlinx.serialization.encoding.Encoder
import kotlin.js.JsExport
private val mimesCache = mutableMapOf<String, MimeType>().also {
knownMimeTypes.forEach { mimeType -> it[mimeType.raw] = mimeType }
}
@JsExport
fun mimeType(raw: String) = mimesCache.getOrPut(raw) {
parseMimeType(raw)
}
@JsExport
internal fun parseMimeType(raw: String): MimeType = CustomMimeType(raw)
@Serializer(MimeType::class)
@JsExport
object MimeTypeSerializer : KSerializer<MimeType> {
override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("mimeType", PrimitiveKind.STRING)