// TARGET_BACKEND: WASM // FILE: wasmImport.kt import kotlin.wasm.WasmImport @WasmImport("foo") external fun inc(x: Int): Int @JsExport fun myBox(): String { if (inc(5) != 6) return "KFail1" return "OK" } var initialized: Int = 0 @JsExport fun getInitialized(): Int = initialized fun main() { initialized = 100 } // FILE: entry.mjs import { instantiate } from "./index.uninstantiated.mjs"; let inc = x => x + 1; let imports = { "foo": { inc }, } let { exports } = await instantiate(imports, /*runInitializer=*/false); if (exports.getInitialized() !== 0) { throw "Fail1" } exports.__init(); if (exports.getInitialized() !== 100) { throw "Fail2" } if (exports.myBox() != "OK") { throw "Fail3" }