mori-atsushi / koject

DI Container library for Kotlin Multiplatform.
https://mori-atsushi.github.io/koject/
Apache License 2.0
122 stars 3 forks source link
android di-container kotlin kotlin-js kotlin-multiplatform kotlin-native

Koject

Koject is a DI Container Library for Kolin Multiplatform using KSP.

fun main() {
    Koject.start()

    val controller = inject<Controller>()
}

@Singleton
@Provides
class Api

@Singleton
@Provides
fun provideDB(): DB {
    return DB.create()
}

@Binds
@Singleton
@Provides
class RepositoryImpl(
    private val api: Api,
    private val db: DB,
): Repository

interface Repository

@Provides
class Controller(
    private val repository: Repository
)

Features

Documents

Examples

Related libraries

Koject is inspired by the following libraries.