Skip to content

hoc081098/koject

 
 

Repository files navigation

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

  • Support Kotlin Multiplatform
  • Easy provide with annotations
  • Check dependency graph at compile time
  • Code generation with KSP
  • Support multi-module project

Documents

Examples

Related libraries

Koject is inspired by the following libraries.

About

DI Container library for Kotlin Multiplatform.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 100.0%