in graphql-dgs/src/main/kotlin/com/netflix/graphql/dgs/internal/method/InputObjectMapperConverter.kt [32:52]
override fun matches(
sourceType: TypeDescriptor,
targetType: TypeDescriptor,
): Boolean =
sourceType.isMap &&
!targetType.isMap &&
!targetType.type.isAssignableFrom(Optional::class.java)
override fun convert(
source: Any?,
sourceType: TypeDescriptor,
targetType: TypeDescriptor,
): Any {
@Suppress("unchecked_cast")
val mapInput = source as Map<String, *>
return if (KotlinDetector.isKotlinType(targetType.type)) {
inputObjectMapper.mapToKotlinObject(mapInput, targetType.type.kotlin)
} else {
inputObjectMapper.mapToJavaObject(mapInput, targetType.type)
}
}