single Of
inline fun <R> Module.singleOf(crossinline constructor: () -> R, noinline options: DefinitionOptions<R>? = null): KoinDefinition<R>
Declare a Module.single definition by resolving a constructor reference for the dependency. The resolution is done at compile time by leveraging inline functions, no reflection is required.
Example:
class Model
val myModule = module {
singleOf(::Model)
}Content copied to clipboard
Author
Arnaud Giuliani
Marcello Galhardo
See also
inline fun <R, T1> Module.singleOf(crossinline constructor: (T1) -> R, noinline options: DefinitionOptions<R>? = null): KoinDefinition<R>
inline fun <R, T1, T2> Module.singleOf(crossinline constructor: (T1, T2) -> R, noinline options: DefinitionOptions<R>? = null): KoinDefinition<R>
inline fun <R, T1, T2, T3> Module.singleOf(crossinline constructor: (T1, T2, T3) -> R, noinline options: DefinitionOptions<R>? = null): KoinDefinition<R>
inline fun <R, T1, T2, T3, T4> Module.singleOf(crossinline constructor: (T1, T2, T3, T4) -> R, noinline options: DefinitionOptions<R>? = null): KoinDefinition<R>
inline fun <R, T1, T2, T3, T4, T5> Module.singleOf(crossinline constructor: (T1, T2, T3, T4, T5) -> R, noinline options: DefinitionOptions<R>? = null): KoinDefinition<R>
inline fun <R, T1, T2, T3, T4, T5, T6> Module.singleOf(crossinline constructor: (T1, T2, T3, T4, T5, T6) -> R, noinline options: DefinitionOptions<R>? = null): KoinDefinition<R>
inline fun <R, T1, T2, T3, T4, T5, T6, T7> Module.singleOf(crossinline constructor: (T1, T2, T3, T4, T5, T6, T7) -> R, noinline options: DefinitionOptions<R>? = null): KoinDefinition<R>
inline fun <R, T1, T2, T3, T4, T5, T6, T7, T8> Module.singleOf(crossinline constructor: (T1, T2, T3, T4, T5, T6, T7, T8) -> R, noinline options: DefinitionOptions<R>? = null): KoinDefinition<R>
inline fun <R, T1, T2, T3, T4, T5, T6, T7, T8, T9> Module.singleOf(crossinline constructor: (T1, T2, T3, T4, T5, T6, T7, T8, T9) -> R, noinline options: DefinitionOptions<R>? = null): KoinDefinition<R>
inline fun <R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Module.singleOf(crossinline constructor: (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) -> R, noinline options: DefinitionOptions<R>? = null): KoinDefinition<R>
inline fun <R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Module.singleOf(crossinline constructor: (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) -> R, noinline options: DefinitionOptions<R>? = null): KoinDefinition<R>
inline fun <R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Module.singleOf(crossinline constructor: (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) -> R, noinline options: DefinitionOptions<R>? = null): KoinDefinition<R>
inline fun <R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Module.singleOf(crossinline constructor: (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) -> R, noinline options: DefinitionOptions<R>? = null): KoinDefinition<R>
inline fun <R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Module.singleOf(crossinline constructor: (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) -> R, noinline options: DefinitionOptions<R>? = null): KoinDefinition<R>
inline fun <R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Module.singleOf(crossinline constructor: (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) -> R, noinline options: DefinitionOptions<R>? = null): KoinDefinition<R>
inline fun <R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Module.singleOf(crossinline constructor: (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) -> R, noinline options: DefinitionOptions<R>? = null): KoinDefinition<R>
inline fun <R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> Module.singleOf(crossinline constructor: (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) -> R, noinline options: DefinitionOptions<R>? = null): KoinDefinition<R>
inline fun <R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> Module.singleOf(crossinline constructor: (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) -> R, noinline options: DefinitionOptions<R>? = null): KoinDefinition<R>
inline fun <R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> Module.singleOf(crossinline constructor: (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) -> R, noinline options: DefinitionOptions<R>? = null): KoinDefinition<R>
inline fun <R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> Module.singleOf(crossinline constructor: (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) -> R, noinline options: DefinitionOptions<R>? = null): KoinDefinition<R>
inline fun <R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> Module.singleOf(crossinline constructor: (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) -> R, noinline options: DefinitionOptions<R>? = null): KoinDefinition<R>
inline fun <R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> Module.singleOf(crossinline constructor: (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) -> R, noinline options: DefinitionOptions<R>? = null): KoinDefinition<R>