String::toByteArray() не компилируется в Kotlin [js]
Следующий код не компилируется в Kotlin Js:
"My String".toByteArray()
Есть идеи почему?
Возвращенная ошибка:
[INFO]
[INFO] --- kotlin-maven-plugin:1.1.51:js (compile-js) @ client ---
[INFO] Kotlin version 1.1.51 (JRE 1.8.0_144-b01)
[INFO] Compiling Kotlin sources from [C:\myproject\src\main\kotlin]
[ERROR] C:\myproject\src\main\kotlin\mypackage\MyFile.kt: (15, 48) Unresolved reference. None of the following candidates is applicable because of receiver type mismatch:
public fun Array<out Byte>.toByteArray(): ByteArray defined in kotlin.collections
public fun Collection<Byte>.toByteArray(): ByteArray defined in kotlin.collections
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
Тот же код компилируется в не-javascript компиляции Kotlin:
[INFO] --- kotlin-maven-plugin:1.1.51:compile (compile) @ client ---
[INFO] Kotlin version 1.1.51 (JRE 1.8.0_144-b01)
[INFO] Compiling Kotlin sources from [C:\myproject\src\main\kotlin, C:\myproject\src\main\java]
[INFO] Module name is client
[INFO]
1 ответ
Решение
String.toByteArray
функция не предусмотрена в стандартной библиотеке Kotlin/JS.
В документации по этой функции есть раздел о требованиях к платформе и версии. JVM
там означает, что это доступно только на Kotlin/JVM.