kotlin-node/karakum/src/jsMain/kotlin/node/karakum/plugins/ContractFunctionApiPlugin.kt [102:140]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - inline fun ${ifPresent(typeParameters) { "<${it}> " }}${name}(${parameters})${ifPresent(returnType) { ": $it"}} { contract { $contractReturns implies (${parameterName} is ${contractType}) } return ${name}Raw(${parameterNames}) } """.trimIndent() } ) ) val nodeInfo = DerivedDeclaration( sourceFileName, namespace, fileName = "${name}.contract.kt", body, ) contractApiDeclarations += nodeInfo convertParameterDeclarations( node, context, next, ParameterDeclarationsConfiguration( strategy = ParameterDeclarationStrategy.function, template = template@{ parameters, _ -> if (isConflictingOverload(node)) return@template "" """ @JsName("$name") external fun ${ifPresent(typeParameters) { "<${it}> " }}${name}Raw(${parameters})${ifPresent(returnType) { ": $it" }} """.trimIndent() } ) ) } override fun generate(context: Context, render: Render): ReadonlyArray { return generateDerivedDeclarations(contractApiDeclarations.toTypedArray(), context) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kotlin-typescript/karakum/src/jsMain/kotlin/typescript/karakum/plugins/ContractFunctionApiPlugin.kt [100:138]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - inline fun ${ifPresent(typeParameters) { "<${it}> " }}${name}(${parameters})${ifPresent(returnType) { ": $it"}} { contract { $contractReturns implies (${parameterName} is ${contractType}) } return ${name}Raw(${parameterNames}) } """.trimIndent() } ) ) val nodeInfo = DerivedDeclaration( sourceFileName, namespace, fileName = "${name}.contract.kt", body, ) contractApiDeclarations += nodeInfo convertParameterDeclarations( node, context, next, ParameterDeclarationsConfiguration( strategy = ParameterDeclarationStrategy.function, template = template@{ parameters, _ -> if (isConflictingOverload(node)) return@template "" """ @JsName("$name") external fun ${ifPresent(typeParameters) { "<${it}> " }}${name}Raw(${parameters})${ifPresent(returnType) { ": $it" }} """.trimIndent() } ) ) } override fun generate(context: Context, render: Render): ReadonlyArray { return generateDerivedDeclarations(contractApiDeclarations.toTypedArray(), context) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -