Я использую JS изнутри Kotlin (Java 8)
val engine = NashornScriptEngineFactory().getScriptEngine(
arrayOf("--language=es6",
"-strict", // too much?
"--no-java",
//"--no-syntax-extensions",
"--optimistic-types"), null)
Получение карты (технически {}
) результатов, возвращаемых из функции JS в Java, работает нормально.
НО, когда я пытаюсь передать в Карту, я предполагал, что она будет преобразована в Объект.(Потому что я привык к JSON).
var myInput = mapOf("key1" to "value1", "key2" to 1234)
((engine as Invocable).invokeFunction("myFunction", myInput)
Но myFunction(arg1)
упорно настаивает на том, что arg1 не определен, вместо ожидаемого {'key1':'value1','key2':1234}
1015 * Является ли "--no-ява" убивает его, потому что он должен бытьзатолкали в HashMap?Нужно ли мне сплющивать мою карту в переменную, потому что пропасть могут преодолеть только базовые типы?
Действительно странная часть состоит в том, что на обратном пути возвращение объекта (карты) из JavaScript myFunction
возвращается обратно вКотлин как карта просто отлично!