Bernhard
10/04/2026, 5:09 PMBernhard
10/04/2026, 5:23 PMclass TypeDefinitionSerializer : JsonContentPolymorphicSerializer<TypeDefinition>(TypeDefinition::class) {
override fun selectDeserializer(element: JsonElement): DeserializationStrategy<TypeDefinition> {
return when {
$$"$ref" in element.jsonObject -> Reference.serializer()
else -> {
val type = element.jsonObject["type"]?.jsonPrimitive?.content
when (type) {
"string" -> StringDefinition.serializer()
"integer" -> IntegerDefinition.serializer()
else -> ObjectDefinition.serializer()
}
}
}
}
}