Marc Reichelt
11/17/2019, 6:05 PMbasher
11/17/2019, 6:19 PMexpect class
for a date object, which has methods for parsing a string into that date. From there, you can make a custom serializer that users your expect class
Marc Reichelt
11/17/2019, 6:23 PMMarc Reichelt
11/17/2019, 6:24 PMMarc Reichelt
11/17/2019, 6:25 PM@Serializable
data class GitHubRepo(
@SerialName("name")
val name: String,
@SerialName("stargazers_count")
val stargazersCount: Int,
@SerialName("created_at")
@Serializable(with = ZonedDateTimeSerializer::class)
val createdAt: ZonedDateTime,
@SerialName("language")
val language: String?
)
@Serializer(forClass = ZonedDateTime::class)
object ZonedDateTimeSerializer : KSerializer<ZonedDateTime> {
override val descriptor: SerialDescriptor =
StringDescriptor.withName("ZonedDateTime")
override fun deserialize(decoder: Decoder): ZonedDateTime {
return decoder.decodeString()
.toOffsetDateTime()
.asZonedDateTime()
}
override fun serialize(encoder: Encoder, obj: ZonedDateTime) {
encoder.encodeString(obj.instant.toString())
}
}
basher
11/17/2019, 6:25 PMMarc Reichelt
11/17/2019, 6:26 PMErik Christensen
11/17/2019, 6:50 PMMarc Reichelt
11/17/2019, 6:53 PMErik Christensen
11/17/2019, 6:54 PMErik Christensen
11/17/2019, 6:55 PMErik Christensen
11/17/2019, 6:55 PMMarc Reichelt
11/17/2019, 6:58 PMMarc Reichelt
11/17/2019, 6:59 PMMarc Reichelt
11/17/2019, 7:01 PMMarc Reichelt
11/17/2019, 7:01 PMMarc Reichelt
11/17/2019, 7:04 PMMarc Reichelt
11/17/2019, 7:04 PMMarc Reichelt
11/17/2019, 7:10 PMbasher
11/17/2019, 7:53 PMbasher
11/17/2019, 8:05 PMErik Christensen
11/17/2019, 10:22 PMMarc Reichelt
11/17/2019, 10:41 PMErik Christensen
11/17/2019, 10:42 PMMarc Reichelt
11/17/2019, 10:43 PMMarc Reichelt
11/17/2019, 10:44 PMbasher
11/17/2019, 10:47 PMErik Christensen
11/17/2019, 10:51 PMErik Christensen
11/18/2019, 11:17 PM