mirror of
https://github.com/InsanusMokrassar/SDI.git
synced 2024-06-02 07:55:13 +00:00
18 lines
468 B
Kotlin
18 lines
468 B
Kotlin
package dev.inmo.sdi.utils
|
|
|
|
import kotlinx.serialization.*
|
|
import kotlinx.serialization.modules.*
|
|
import kotlin.reflect.KClass
|
|
|
|
@InternalSerializationApi
|
|
fun <T : Any> SerializersModuleBuilder.optionalContextual(
|
|
kClass: KClass<T>, kSerializer: KSerializer<T>
|
|
) = try {
|
|
contextual(kClass, kSerializer)
|
|
true
|
|
} catch (e: SerializationException) {
|
|
false
|
|
} catch (e: IllegalArgumentException) { // can be a SerializerAlreadyRegisteredException
|
|
false
|
|
}
|