Files
MicroUtils/koin/src/jvmMain/kotlin/SingleWithBindsAndRandomQualifier.kt
2023-02-05 18:17:20 +06:00

16 lines
545 B
Kotlin

package dev.inmo.micro_utils.koin
import org.koin.core.definition.Definition
import org.koin.core.definition.KoinDefinition
import org.koin.core.instance.InstanceFactory
import org.koin.core.module.Module
import kotlin.reflect.KClass
inline fun <reified T : Any> Module.singleWithRandomQualifierAndBinds(
createdAtStart: Boolean = false,
bindFilter: (KClass<*>) -> Boolean = { true },
noinline definition: Definition<T>
): KoinDefinition<*> {
return singleWithBinds(RandomQualifier(), createdAtStart, bindFilter, definition)
}