Hugo Bernardi
UseCase
@Single
@KoinViewModel
startKoin
@Module @ComponentScan("moduleA.package") class ModuleA @Module @ComponentScan("moduleB.package") class ModuleB startKoin { modules(ModuleA().module, ModuleB().module) }
arnaud.giuliani
isolate Koin Configuration
@ComponentScan
public val template_di_ModuleA : Module get() = module { }
// in build.gradle.kts apply(ksp) implementation(ModuleA) implementation(ModuleB) // [...] Other Koin annotation configuration.. // Expose a KoiHelper object to startKoin object KoinHelper { fun init(block: KoinApplication.() -> Unit) { startKoin { modules(ModuleA().module) block() } } } // Create a Module @Module @ComponentScan("moduleA.package") class ModuleA
package moduleA.package @Single MyUseCase { }
A modern programming language that makes developers happier.