in graphql-dgs-codegen-core/src/main/kotlin/com/netflix/graphql/dgs/codegen/generators/kotlin/KotlinTypeUtils.kt [106:130]
fun findKtInterfaceName(
interfaceName: String,
packageName: String,
): KtTypeName {
// check config
if (interfaceName in config.typeMapping) {
val mappedType = config.typeMapping.getValue(interfaceName)
return parseMappedType(
mappedType = mappedType,
toTypeName = String::toKtTypeName,
parameterize = { (it.first as ClassName).parameterizedBy(it.second) },
onCloseBracketCallBack = { current, typeString ->
if (typeString.trim() == "?") {
val last = current.second.removeLast()
current.second.add(last.copy(nullable = true))
} else {
current.second.add(typeString.toKtTypeName(true))
}
},
)
}
return "$packageName.$interfaceName".toKtTypeName()
}