in build-logic/generatorlegacybuild/src/main/kotlin/karakum/common/UnionConverter.kt [70:91]
override fun sealedUnionBody(
name: String,
parentType: String,
values: List<String>,
): String {
val constants = values.map(::unionConstant)
val bodyMembers = constants.joinToString("\n") {
"""
${it.jsValueAnnotation}
val ${it.name}: $parentType.${it.name.replaceFirstChar(Char::uppercase)}
""".trimIndent()
}
return """
sealed external interface $name: $parentType {
companion object {
$bodyMembers
}
}
""".trimIndent()
}