Skip to content

Instantly share code, notes, and snippets.

Avatar
👩‍🎤

Pamela Hill pahill

👩‍🎤
View GitHub Profile
View module2
module {
factoryOf(::StaffListerImpl) bind StaffLister::class
factoryOf(::SearchBox)
}
View module1
module {
factory { StaffListerImpl() as StaffLister }
factory { SearchBox (get()) }
}
View CheckModulesTest
class CheckModulesTest : KoinTest {
@Test
fun verifyKoinApp() {
koinApplication {
modules(module1, module2)
checkModules()
}
}
}
View ContentView
struct ContentView: View {
let staff = SearchBoxHelper().findByName(name: "Pamela Hill")
var body: some View {
Text(staff)
}
}
View SearchBoxHelper
import org.koin.core.component.KoinComponent
import org.koin.core.component.inject
...
class SearchBoxHelper : KoinComponent {
private val searchBox : SearchBox by inject()
fun findByName(name: String) : String =
searchBox.findStaffMemberByName(name).toString()
}
View MainActivity
import org.koin.android.ext.android.inject
...
class MainActivity : AppCompatActivity() {
private val searchBox: SearchBox by inject()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
View iOSApp
@main
struct iOSApp: App {
init() {
HelperKt.doInitKoinApp()
}
}
View Helper
fun initKoinApp(){
initKoin()
}
View MyApplication
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
initKoin()
}
}
View SearchBox