Package-level declarations

Properties

Link copied to clipboard

Functions

Link copied to clipboard
fun <S : Any> KoinDefinition<*>.bind(clazz: KClass<S>): KoinDefinition<*>

Bind additional type to definition. Non-infix version for compiler plugin use.

Link copied to clipboard
fun <T : Any> Module.buildFactory(kclass: KClass<T>, qualifier: Qualifier? = null, definition: Definition<T>): KoinDefinition<T>

Build a factory definition with explicit KClass. Used by the compiler plugin for generated module definitions.

fun <T : Any> ScopeDSL.buildFactory(kclass: KClass<T>, qualifier: Qualifier? = null, definition: Definition<T>): KoinDefinition<T>

Build a factory definition in a scope with explicit KClass. Used by the compiler plugin for generated scope definitions.

Link copied to clipboard
fun <T : Any> ScopeDSL.buildScoped(kclass: KClass<T>, qualifier: Qualifier? = null, definition: Definition<T>): KoinDefinition<T>

Build a scoped definition with explicit KClass. Used by the compiler plugin for generated scope definitions.

Link copied to clipboard
fun <T : Any> Module.buildSingle(kclass: KClass<T>, qualifier: Qualifier? = null, definition: Definition<T>, createdAtStart: Boolean = false): KoinDefinition<T>

Build a singleton definition with explicit KClass. Used by the compiler plugin for generated module definitions.

Link copied to clipboard
inline fun <T> Scope.create(function: () -> T): T
inline fun <T, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10> Scope.create(function: (r1: R1, r2: R2, r3: R3, r4: R4, r5: R5, r6: R6, r7: R7, r8: R8, r9: R9, r10: R10) -> T): T
inline fun <T, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11> Scope.create(function: (r1: R1, r2: R2, r3: R3, r4: R4, r5: R5, r6: R6, r7: R7, r8: R8, r9: R9, r10: R10, r11: R11) -> T): T
inline fun <T, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12> Scope.create(function: (r1: R1, r2: R2, r3: R3, r4: R4, r5: R5, r6: R6, r7: R7, r8: R8, r9: R9, r10: R10, r11: R11, r12: R12) -> T): T
inline fun <T, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13> Scope.create(function: (r1: R1, r2: R2, r3: R3, r4: R4, r5: R5, r6: R6, r7: R7, r8: R8, r9: R9, r10: R10, r11: R11, r12: R12, r13: R13) -> T): T
inline fun <T, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14> Scope.create(function: (r1: R1, r2: R2, r3: R3, r4: R4, r5: R5, r6: R6, r7: R7, r8: R8, r9: R9, r10: R10, r11: R11, r12: R12, r13: R13, r14: R14) -> T): T
inline fun <T, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15> Scope.create(function: (r1: R1, r2: R2, r3: R3, r4: R4, r5: R5, r6: R6, r7: R7, r8: R8, r9: R9, r10: R10, r11: R11, r12: R12, r13: R13, r14: R14, r15: R15) -> T): T
inline fun <T, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16> Scope.create(function: (r1: R1, r2: R2, r3: R3, r4: R4, r5: R5, r6: R6, r7: R7, r8: R8, r9: R9, r10: R10, r11: R11, r12: R12, r13: R13, r14: R14, r15: R15, r16: R16) -> T): T
inline fun <T, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17> Scope.create(function: (r1: R1, r2: R2, r3: R3, r4: R4, r5: R5, r6: R6, r7: R7, r8: R8, r9: R9, r10: R10, r11: R11, r12: R12, r13: R13, r14: R14, r15: R15, r16: R16, r17: R17) -> T): T
inline fun <T, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18> Scope.create(function: (r1: R1, r2: R2, r3: R3, r4: R4, r5: R5, r6: R6, r7: R7, r8: R8, r9: R9, r10: R10, r11: R11, r12: R12, r13: R13, r14: R14, r15: R15, r16: R16, r17: R17, r18: R18) -> T): T
inline fun <T, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19> Scope.create(function: (r1: R1, r2: R2, r3: R3, r4: R4, r5: R5, r6: R6, r7: R7, r8: R8, r9: R9, r10: R10, r11: R11, r12: R12, r13: R13, r14: R14, r15: R15, r16: R16, r17: R17, r18: R18, r19: R19) -> T): T
inline fun <T, R1> Scope.create(function: (r1: R1) -> T): T
inline fun <T, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20> Scope.create(function: (r1: R1, r2: R2, r3: R3, r4: R4, r5: R5, r6: R6, r7: R7, r8: R8, r9: R9, r10: R10, r11: R11, r12: R12, r13: R13, r14: R14, r15: R15, r16: R16, r17: R17, r18: R18, r19: R19, r20: R20) -> T): T
inline fun <T, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21> Scope.create(function: (r1: R1, r2: R2, r3: R3, r4: R4, r5: R5, r6: R6, r7: R7, r8: R8, r9: R9, r10: R10, r11: R11, r12: R12, r13: R13, r14: R14, r15: R15, r16: R16, r17: R17, r18: R18, r19: R19, r20: R20, r21: R21) -> T): T
inline fun <T, R1, R2> Scope.create(function: (r1: R1, r2: R2) -> T): T
inline fun <T, R1, R2, R3> Scope.create(function: (r1: R1, r2: R2, r3: R3) -> T): T
inline fun <T, R1, R2, R3, R4> Scope.create(function: (r1: R1, r2: R2, r3: R3, r4: R4) -> T): T
inline fun <T, R1, R2, R3, R4, R5> Scope.create(function: (r1: R1, r2: R2, r3: R3, r4: R4, r5: R5) -> T): T
inline fun <T, R1, R2, R3, R4, R5, R6> Scope.create(function: (r1: R1, r2: R2, r3: R3, r4: R4, r5: R5, r6: R6) -> T): T
inline fun <T, R1, R2, R3, R4, R5, R6, R7> Scope.create(function: (r1: R1, r2: R2, r3: R3, r4: R4, r5: R5, r6: R6, r7: R7) -> T): T
inline fun <T, R1, R2, R3, R4, R5, R6, R7, R8> Scope.create(function: (r1: R1, r2: R2, r3: R3, r4: R4, r5: R5, r6: R6, r7: R7, r8: R8) -> T): T
inline fun <T, R1, R2, R3, R4, R5, R6, R7, R8, R9> Scope.create(function: (r1: R1, r2: R2, r3: R3, r4: R4, r5: R5, r6: R6, r7: R7, r8: R8, r9: R9) -> T): T
Link copied to clipboard
fun <T : Any> createDefinition(kclass: KClass<T>, definition: Definition<T>, qualifier: Qualifier? = null, scopeQualifier: Qualifier = rootScopeQualifier, factoryKind: Kind, module: Module, createdAtStart: Boolean = false): KoinDefinition<T>
Link copied to clipboard
Link copied to clipboard
fun Module.includes(module: Module)

Include another module's definitions. Non-inline version for compiler plugin use.

Link copied to clipboard
fun <T : Any> koinApplication(appDeclaration: KoinAppDeclaration? = null): KoinApplication

Create KoinApplication with modules discovered from @KoinApplication annotated class. Similar to startKoin but doesn't register globally.

Link copied to clipboard
fun koinApplicationWith(modules: List<Module>, appDeclaration: KoinAppDeclaration? = null): KoinApplication

Compiler Plugin Support Function - Create KoinApplication with the provided list of modules. This function is called by the compiler plugin after transforming koinApplication().

Link copied to clipboard
fun <T : Any> koinConfiguration(appDeclaration: KoinAppDeclaration? = null): KoinConfiguration

Compiler Plugin Stub - Create KoinConfiguration with modules discovered from @KoinApplication annotated class. The compiler plugin transforms this call to inject modules based on the @Configuration tags associated with type parameter T.

Link copied to clipboard
fun koinConfigurationWith(modules: List<Module>, appDeclaration: KoinAppDeclaration? = null): KoinConfiguration

Compiler Plugin Support Function - Create KoinConfiguration with the provided list of modules. This function is called by the compiler plugin after transforming koinConfiguration().

Link copied to clipboard

Compiler Plugin Stub - Load the module generated from a single @Module annotated class into this KoinApplication. The compiler plugin transforms this call to inject the module generated from the type parameter T via IR.

Link copied to clipboard
fun KoinApplication.modules(vararg modules: KClass<*>)

Compiler Plugin Stub - Load modules generated from multiple @Module annotated classes into this KoinApplication. The compiler plugin transforms this call to inject the modules generated from the provided KClass references via IR.

Link copied to clipboard
fun Module.scope(qualifier: Qualifier, scopeSet: ScopeDSL.() -> Unit)

Define a scope section with a qualifier. Non-inline version for compiler plugin use.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun <T : Any> startKoin(appDeclaration: KoinAppDeclaration? = null): KoinApplication

Start Koin with modules discovered from @KoinApplication annotated class. The compiler plugin transforms this call to inject modules(Module1().module, ...) based on the @Configuration tags associated with the type parameter T.

Link copied to clipboard
fun startKoinWith(modules: List<Module>, appDeclaration: KoinAppDeclaration? = null): KoinApplication

Compiler Plugin Support Function - Start Koin with the provided list of modules. This function is called by the compiler plugin after transforming startKoin().

Link copied to clipboard
fun <T : Any> typeQualifier(kclass: KClass<T>): Qualifier

Create a TypeQualifier from a KClass. Non-inline version for compiler plugin use.

Link copied to clipboard
Link copied to clipboard
fun <T : Any> KoinApplication.withConfiguration(appDeclaration: KoinAppDeclaration? = null)

Compiler Plugin Stub - Apply configuration with modules discovered from @KoinApplication annotated class to an existing KoinApplication. The compiler plugin transforms this call to inject modules based on the @Configuration tags associated with type parameter T.

Link copied to clipboard
fun KoinApplication.withConfigurationWith(modules: List<Module>, appDeclaration: KoinAppDeclaration? = null)

Compiler Plugin Support Function - Apply configuration with the provided list of modules to an existing KoinApplication. This function is called by the compiler plugin after transforming withConfiguration().