Skip to content

Commit

Permalink
Add a binding for ParentPortal (#308)
Browse files Browse the repository at this point in the history
  • Loading branch information
eygraber committed Feb 5, 2023
1 parent b96ab5b commit 4580bcf
Showing 1 changed file with 6 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,17 @@ import kotlinx.atomicfu.update
import org.kodein.di.DI
import org.kodein.di.DIAware
import org.kodein.di.bind
import org.kodein.di.provider
import org.kodein.di.instance

public interface KodeinDIPortalInitializer : KodeinDIComponentInitializer<PortalLifecycleManager> {
override fun initializeKodeinDI(): DI = DI.lazy {
extend(parentDI)

bind<Portal>(overrides = kodeinDIComponent is ChildPortal) with provider {
kodeinDIComponent as Portal
bind<Portal>(overrides = kodeinDIComponent is ChildPortal) with instance(kodeinDIComponent as Portal)

if(kodeinDIComponent is ChildPortal) {
val parent = (kodeinDIComponent as ChildPortal).parent
bind<ParentPortal>(overrides = parent is ChildPortal) with instance(parent)
}

provideModule()?.let { module ->
Expand Down

0 comments on commit 4580bcf

Please sign in to comment.