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) {
// testLogging {
// events("PASSED", "FAILED", "SKIPPED")

View File

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