[K/JS] Support companion objects in external and exported declarations

This commit is contained in:
Artem Kobzar
2024-02-27 16:30:13 +00:00
committed by Space Team
parent 5cda3fba12
commit 3429cbd321
51 changed files with 551 additions and 56 deletions
@@ -0,0 +1,12 @@
$kotlin_test_internal$.beginModule();
module.exports = function() {
var { A } = require("main").api
return {
"res": A.ok()
};
};
$kotlin_test_internal$.endModule("lib");
@@ -0,0 +1,24 @@
// MODULE_KIND: COMMON_JS
// SKIP_MINIFICATION
// FILE: api.kt
package api
@JsExport
interface A {
companion object {
fun ok() = "OK"
}
}
// FILE: main.kt
external interface JsResult {
val res: String
}
@JsModule("lib")
external fun jsBox(): JsResult
fun box(): String {
return jsBox().res
}