Skip to content

Instantly share code, notes, and snippets.

@vitoksmile
Created October 26, 2018 10:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vitoksmile/c7e0b8c6293c0e6b76963fb171d0f37c to your computer and use it in GitHub Desktop.
Save vitoksmile/c7e0b8c6293c0e6b76963fb171d0f37c to your computer and use it in GitHub Desktop.
Using dependency injections by Koin without implementing KoinComponent
import org.koin.core.KoinContext
import org.koin.core.parameter.ParameterDefinition
import org.koin.core.parameter.emptyParameterDefinition
import org.koin.core.scope.Scope
import org.koin.standalone.StandAloneContext
/**
* inject lazily given dependency
* @param name - bean canonicalName
* @param parameters - injection parameters
*/
inline fun <reified T : Any> inject(
name: String = "",
scope: Scope? = null,
noinline parameters: ParameterDefinition = emptyParameterDefinition()
) = lazy { getKoin().get<T>(name, scope, parameters) }
fun getKoin() = (StandAloneContext.koinContext as KoinContext)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment