Update FrAnimeDto.kt

This commit is contained in:
mobby45 2024-08-09 14:57:14 +02:00 committed by GitHub
parent 5b14bfa488
commit e50408e3b3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,5 +1,4 @@
package eu.kanade.tachiyomi.animeextension.fr.franime.dto
import kotlinx.serialization.ExperimentalSerializationApi
import kotlinx.serialization.KSerializer
import kotlinx.serialization.SerialName
@ -13,29 +12,23 @@ import kotlinx.serialization.json.JsonEncoder
import kotlinx.serialization.json.JsonUnquotedLiteral
import kotlinx.serialization.json.jsonPrimitive
import java.math.BigInteger
typealias BigIntegerJson =
@Serializable(with = BigIntegerSerializer::class)
BigInteger
@OptIn(ExperimentalSerializationApi::class)
private object BigIntegerSerializer : KSerializer<BigInteger> {
override val descriptor = PrimitiveSerialDescriptor("java.math.BigInteger", PrimitiveKind.LONG)
override fun deserialize(decoder: Decoder): BigInteger =
when (decoder) {
is JsonDecoder -> decoder.decodeJsonElement().jsonPrimitive.content.toBigInteger()
else -> decoder.decodeString().toBigInteger()
}
override fun serialize(encoder: Encoder, value: BigInteger) =
when (encoder) {
is JsonEncoder -> encoder.encodeJsonElement(JsonUnquotedLiteral(value.toString()))
else -> encoder.encodeString(value.toString())
}
}
@Serializable
data class Anime(
@SerialName("themes") val genres: List<String>,
@ -59,31 +52,25 @@ data class Anime(
@SerialName("affiche_small") val posterSmall: String?,
@SerialName("updatedDate") val updateTime: Long?, // deserialize as timestamp
)
@Serializable
data class Season(
@SerialName("title") val title: String,
@SerialName("episodes") val episodes: List<Episode>,
)
@Serializable
data class Episode(
@SerialName("title") val title: String?,
@SerialName("lang") val languages: EpisodeLanguages,
)
@Serializable
data class EpisodeLanguages(
@SerialName("vf") val vf: EpisodeLanguage,
@SerialName("vo") val vo: EpisodeLanguage,
)
@Serializable
data class EpisodeLanguage(
@SerialName("lecteurs") val players: List<String>,
)
@Serializable
data class TitlesAlt(
@SerialName("en") val en: String?,