in build-logic/generatorlegacybuild/src/main/kotlin/karakum/common/UnionConverter.kt [93:117]
override fun objectUnionBody(
name: String,
constants: List<UnionConstant>,
): String {
val constantNames = constants.joinToString("\n") {
sequenceOf(
it.jsValueAnnotation,
"val ${it.name} : ${name}.${it.name}",
).joinToString("\n")
}
val constantTypes = constants.joinToString("\n") {
"sealed interface ${it.name} : $name"
}
return """
sealed external interface $name {
companion object {
$constantNames
}
$constantTypes
}
""".trimIndent()
}