jsMain.CompletionHandler.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of kotlinx-coroutines-core
Show all versions of kotlinx-coroutines-core
Coroutines support libraries for Kotlin
/*
* Copyright 2016-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
*/
package kotlinx.coroutines
import kotlinx.coroutines.internal.*
internal actual abstract class CompletionHandlerBase : LinkedListNode() {
@JsName("invoke")
actual abstract fun invoke(cause: Throwable?)
}
@Suppress("UnsafeCastFromDynamic")
internal actual inline val CompletionHandlerBase.asHandler: CompletionHandler get() = asDynamic()
internal actual abstract class CancelHandlerBase {
@JsName("invoke")
actual abstract fun invoke(cause: Throwable?)
}
@Suppress("UnsafeCastFromDynamic")
internal actual inline val CancelHandlerBase.asHandler: CompletionHandler get() = asDynamic()
internal actual fun CompletionHandler.invokeIt(cause: Throwable?) {
when(jsTypeOf(this)) {
"function" -> invoke(cause)
else -> asDynamic().invoke(cause)
}
}