override fun objectUnionBody()

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