kotlin-electron/karakum/src/jsMain/kotlin/electron/karakum/plugins/convertOverriddenPropertySignature.kt [48:83]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - val readonly = node.modifiers?.asArray()?.find { it.kind == SyntaxKind.ReadonlyKeyword } val modifier = if (readonly != null) "val " else "var " val name = render(node.name) val isOptional = node.questionToken != null val type = renderNullable(node.type, isOptional, context, render) when (propertyOverride) { is Overlap -> { val alias = propertyOverride.alias val jsName = "@JsName(\"$name\")" val aliasSignature = "${modifier}${alias}: $type" val deprecation = "@Deprecated(message = \"use ${alias}\", level = DeprecationLevel.HIDDEN)" val signature = "override ${modifier}${name}: ${propertyOverride.parentType}" arrayOf( deprecation, signature, jsName, aliasSignature, ).joinToString("\n") } is Alias -> { val alias = propertyOverride.alias val jsName = "@JsName(\"$name\")" val aliasSignature = "${modifier}${alias}: $type" arrayOf( jsName, aliasSignature, ).joinToString("\n") } Preserve -> "override ${modifier}${name}: $type" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kotlin-node/karakum/src/jsMain/kotlin/node/karakum/plugins/convertOverriddenPropertyDeclaration.kt [79:114]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - val readonly = node.modifiers?.asArray()?.find { it.kind == SyntaxKind.ReadonlyKeyword } val modifier = if (readonly != null) "val " else "var " val name = render(node.name) val isOptional = node.questionToken != null val type = renderNullable(node.type, isOptional, context, render) when (propertyOverride) { is Overlap -> { val alias = propertyOverride.alias val jsName = "@JsName(\"$name\")" val aliasSignature = "${modifier}${alias}: $type" val deprecation = "@Deprecated(message = \"use ${alias}\", level = DeprecationLevel.HIDDEN)" val signature = "override ${modifier}${name}: ${propertyOverride.parentType}" arrayOf( deprecation, signature, jsName, aliasSignature, ).joinToString("\n") } is Alias -> { val alias = propertyOverride.alias val jsName = "@JsName(\"$name\")" val aliasSignature = "${modifier}${alias}: $type" arrayOf( jsName, aliasSignature, ).joinToString("\n") } Preserve -> "override ${modifier}${name}: $type" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -