J
03/18/2025, 8:01 AMJ
03/18/2025, 8:03 AMopen class FallbackSerializer<T>(
private val serializer: KSerializer<T>,
) : KSerializer<T?> {
override val descriptor: SerialDescriptor = serializer.descriptor
override fun serialize(
encoder: Encoder,
value: T?,
) {
if (value != null) {
try {
serializer.serialize(encoder, value)
} catch (e: SerializationException) {
}
}
}
override fun deserialize(decoder: Decoder): T? =
try {
serializer.deserialize(decoder)
} catch (e: SerializationException) {
null
}
}
However it doesn't seem to work right, and I need to instantiate a new object for each type I wish to apply it to, rather than a generic one I can use with with=
J
03/18/2025, 8:04 AMCaused by: java.lang.NullPointerException: Parameter specified as non-null is null: method app.FallbackSerializer.<init>, parameter serializer
ephemient
03/18/2025, 3:09 PMJ
03/19/2025, 7:15 AM