package dev.inmo.micro_utils.koin import org.koin.core.Koin import org.koin.core.definition.BeanDefinition import org.koin.core.definition.KoinDefinition import org.koin.core.instance.InstanceFactory import org.koin.core.parameter.ParametersDefinition import org.koin.core.scope.Scope fun Koin.get(definition: BeanDefinition, parameters: ParametersDefinition? = null): T = get( definition.primaryType, definition.qualifier, parameters ) fun Koin.get(definition: InstanceFactory, parameters: ParametersDefinition? = null): T = get( definition.beanDefinition, parameters ) fun Koin.get(definition: KoinDefinition, parameters: ParametersDefinition? = null): T = get( definition.factory, parameters ) fun Scope.get(definition: BeanDefinition, parameters: ParametersDefinition? = null): T = get( definition.primaryType, definition.qualifier, parameters ) fun Scope.get(definition: InstanceFactory, parameters: ParametersDefinition? = null): T = get( definition.beanDefinition, parameters ) fun Scope.get(definition: KoinDefinition, parameters: ParametersDefinition? = null): T = get( definition.factory, parameters )