in build-logic/generatorlegacybuild/src/main/kotlin/karakum/common/UnionConverter.kt [198:222]
override fun objectUnionBody(
name: String,
constants: List<UnionConstant>,
): String {
val extensions = constants.joinToString("\n\n") {
"""
inline val $name.Companion.${it.name}: $name.${it.name}
get() = unsafeCast(${it.jsValue})
""".trimIndent()
}
val constantTypes = constants.joinToString("\n") {
"sealed interface ${it.name} : $name"
}
return """
sealed external interface $name {
$constantTypes
companion object
}
$extensions
""".trimIndent()
}