18 lines
618 B
Kotlin
18 lines
618 B
Kotlin
package dev.inmo.micro_utils.coroutines
|
|
|
|
import kotlinx.coroutines.*
|
|
import kotlin.coroutines.CoroutineContext
|
|
|
|
fun CoroutineContext.LinkedSupervisorJob(
|
|
additionalContext: CoroutineContext? = null
|
|
) = SupervisorJob(job).let { if (additionalContext != null) it + additionalContext else it }
|
|
fun CoroutineScope.LinkedSupervisorJob(
|
|
additionalContext: CoroutineContext? = null
|
|
) = coroutineContext.LinkedSupervisorJob(additionalContext)
|
|
|
|
fun CoroutineScope.LinkedSupervisorScope(
|
|
additionalContext: CoroutineContext? = null
|
|
) = CoroutineScope(
|
|
coroutineContext + LinkedSupervisorJob(additionalContext)
|
|
)
|