Fix js SRNG returning undefined with kotlin js 1.4

This commit is contained in:
Ugljesa Jovanovic 2020-05-18 19:37:11 +02:00 committed by Ugljesa Jovanovic
parent 0fbaed2065
commit e0eb1219c6
No known key found for this signature in database
GPG Key ID: 178E6DFCECCB0E0F
2 changed files with 14 additions and 4 deletions

View File

@ -408,6 +408,14 @@ tasks {
} }
} }
val legacyjsNodeTest by getting(KotlinJsTest::class) {
testLogging {
events("PASSED", "FAILED", "SKIPPED")
showStandardStreams = true
}
}
// val jsIrBrowserTest by getting(KotlinJsTest::class) { // val jsIrBrowserTest by getting(KotlinJsTest::class) {
// testLogging { // testLogging {
// events("PASSED", "FAILED", "SKIPPED") // events("PASSED", "FAILED", "SKIPPED")

View File

@ -26,11 +26,13 @@ actual object SRNG {
@ExperimentalUnsignedTypes @ExperimentalUnsignedTypes
actual fun getRandomBytes(amount: Int): Array<UByte> { actual fun getRandomBytes(amount: Int): Array<UByte> {
val runningOnNode = js( val runningOnNode = js(
"var isNode = false;\n" +
"if (typeof window === 'undefined') {\n" + "if (typeof window === 'undefined') {\n" +
" true;\n" + " isNode = true;\n" +
" } else {\n" + " } else {\n" +
" false;\n" + " isNode = false;\n" +
" }" " }\n" +
"return isNode;"
) )
val randomBytes = if (runningOnNode) { val randomBytes = if (runningOnNode) {
js("require('crypto')").randomBytes(amount).toJSON().data js("require('crypto')").randomBytes(amount).toJSON().data