Cómo llamar a la function de Javascript desde el código de Kotlin?
Estoy tratando de comstackr el código de Kotlin como Javascript. En mi código necesito codificar cadena como URI. Mis 2 variantes son compilation fallida:
class PlaceholderJS(prefix: String, placeholder: String?): Placeholder(prefix, placeholder) { override fun encode(str: String): String { return encodeURIComponent(str) }
En este código, el comstackdor no puede encontrar la function encodeURIComponent (str), que de acuerdo con https://www.w3schools.com/jsref/jsref_encodeuricomponent.asp es compatible con todos los browseres.
- ¿Cómo usar @Parcelize en Kotlin 1.1.60?
- Repetir una alarma para disparar exacta en el momento específico no funciona correctamente
- No se puede usar getter personalizado con propiedad delegada
- kotlin-runtime.jar location inexistente
- Al aplicar el complemento 'kotlin-android' en una aplicación instantánea, se obtiene como resultado que "null no se puede convertir a tipo no nulo com.android.build.gradleBasePlugin"
Alternativa:
class PlaceholderJS(prefix: String, placeholder: String?): Placeholder(prefix, placeholder) { override fun encode(str: String): String { return URLEncoder.encode(str, Charsets.UTF_8.name()) }
no se puede encontrar la class URLEncoder de Java (importada en el file como en Java). Esto funciona cuando se comstack para JVM, pero no para JS.
También tengo el module de Kotlin marcado con:
compileKotlin2Js.kotlinOptions.moduleKind = "umd"
- Convirtiendo un Observable en un Flujo con contrapresión en RxJava2
- Android con cambio de date y hora, pero nuevamente a time, Firebase solo devuelve el token caducado
- Kotlin apply () post de pelusa de extensión en Android Studio 3.0-alpha8
- Advertencia de Kotlin: el resultado de la twig condicional del tipo ... es el molde de implicidad de Any?
- Tipo esperado no coincide con la expresión if en Kotlin
- Kotlin: utilizando los methods estáticos de google-guava como extensiones
- Spring WebFlux y Kotlin Support: ¿Cómo hacer testings de integración?
- Kotlin & Hibernate IllegalArgumentException: no se puede establecer el campo String Job.name en Job
Encontré que la última forma de declarar la function Javascript en Kotlin es:
external fun encodeURIComponent(str: String): String
Una vez agregado a la class Kotlin, todo se comstack sin problemas.
- Usar la function de infijo del receptor en lambda (para un DSL)
- Valores pnetworkingeterminados con @ProjectedPayload / ProjectingJackson2HttpMessageConverter