Update FrAnimeDto.kt

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

View file

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