julien lengrand-lambert
03/16/2022, 9:40 AMindex.js
file like this :
function defaultComparator (a, b) {
return a - b
}
export function isSorted (array, comparator) {
if (!Array.isArray(array)) throw new TypeError('Expected Array, got ' + (typeof array))
comparator = comparator || defaultComparator
for (var i = 1, length = array.length; i < length; ++i) {
if (comparator(array[i - 1], array[i]) > 0) return false
}
return true
}
export function returnValue(value) {
return value;
}
I would like to be able to import both functions from Kotlin, so I do as such
@JsModule("@jlengrand/test-js")
@JsNonModule
external fun <T> isSorted(a: Array<T>): Boolean
@JsModule("@jlengrand/test-js")
@JsNonModule
external fun returnValue(s: String): String
I can use the returnValue
function in my Kotlin code, however, it seems to always try to import the isSorted
function, given the error I get in my console :
Uncaught TypeError: Expected Array, got string....
As you can see, I have tried to extend from that documentation page (https://kotlinlang.org/docs/using-packages-from-npm.html), however I clearly seem to be missing a crucial piece of info.
Would you have any pointers by any chance?Big Chungus
03/16/2022, 9:44 AMjulien lengrand-lambert
03/16/2022, 9:47 AMjulien lengrand-lambert
03/16/2022, 9:54 AMjulien lengrand-lambert
03/16/2022, 9:59 AMfunction defaultComparator (a, b) {
return a - b
}
export function isSorted (array, comparator) {
if (!Array.isArray(array)) throw new TypeError('Expected Array, got ' + (typeof array))
comparator = comparator || defaultComparator
for (var i = 1, length = array.length; i < length; ++i) {
if (comparator(array[i - 1], array[i]) > 0) return false
}
return true
}
export function returnValue(value) {
return value;
}
@JsModule("@jlengrand/js-tests")
@JsNonModule
external object Ports{
fun <T> isSorted(a: Array<T>): Boolean
fun returnValue(s: String): String
}
I'm now getting
Uncaught TypeError: tmp.isSorted is not a function
julien lengrand-lambert
03/16/2022, 10:08 AMBig Chungus
03/16/2022, 10:19 AMjulien lengrand-lambert
03/16/2022, 10:19 AMjulien lengrand-lambert
03/16/2022, 10:20 AMjulien lengrand-lambert
03/16/2022, 10:20 AMBig Chungus
03/16/2022, 10:20 AMjulien lengrand-lambert
03/16/2022, 10:21 AMjulien lengrand-lambert
03/16/2022, 10:21 AMjulien lengrand-lambert
03/16/2022, 10:21 AMBig Chungus
03/16/2022, 10:21 AMjulien lengrand-lambert
03/16/2022, 10:21 AMjulien lengrand-lambert
03/16/2022, 10:21 AMBig Chungus
03/16/2022, 10:21 AMBig Chungus
03/16/2022, 10:21 AM./gradlew clean build
julien lengrand-lambert
03/16/2022, 10:22 AMjulien lengrand-lambert
03/16/2022, 10:23 AMjulien lengrand-lambert
03/16/2022, 10:23 AMjulien lengrand-lambert
03/16/2022, 10:23 AMjulien lengrand-lambert
03/16/2022, 10:23 AMBig Chungus
03/16/2022, 10:24 AM