Closed romainbsl closed 1 year ago
Example
@Resolved interface MyAppResolver : DIResolver, MyFirstLibResolver { @Tag("ABC") fun foo(str: String): Foo } @Resolved interface MyFirstLibResolver : DIResolver, MySecondLibResolver { fun bar(): Bar } @Resolved interface MySecondLibResolver: DIResolver { fun baz(): Baz } private val appResolver: MyAppResolver = DI.ofMyAppResolver { bindSingletonOf(::Bar) bind { singleton { new(::Baz) } } bindFactory("ABC") { _: String -> Foo(bar()) } } @Test fun check_AppResolver() { appResolver.check() assertNotSame( illegal = appResolver.foo("HELLO"), actual = appResolver.foo("ROMAIN") ) }
Example