override fun objectUnionBody()

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()
    }