Add koin dependencies injections.

This commit is contained in:
Thomas Andres Gomez 2024-11-15 21:18:45 +01:00
parent f459877d55
commit 7fc99f5799
21 changed files with 181 additions and 74 deletions

View file

@ -0,0 +1,51 @@
package com.pixelized.desktop.lwa
import com.pixelized.desktop.lwa.repository.characterSheet.CharacterSheetRepository
import com.pixelized.desktop.lwa.repository.characterSheet.CharacterSheetStore
import com.pixelized.desktop.lwa.repository.network.NetworkRepository
import com.pixelized.desktop.lwa.repository.roll.RollHistoryRepository
import com.pixelized.desktop.lwa.screen.characterSheet.detail.CharacterSheetFactory
import com.pixelized.desktop.lwa.screen.characterSheet.detail.CharacterSheetViewModel
import com.pixelized.desktop.lwa.screen.characterSheet.edit.CharacterSheetEditViewModel
import com.pixelized.desktop.lwa.screen.characterSheet.edit.CharacterSheetEditFactory
import com.pixelized.desktop.lwa.screen.main.MainPageViewModel
import com.pixelized.desktop.lwa.screen.network.NetworkFactory
import com.pixelized.desktop.lwa.screen.network.NetworkViewModel
import com.pixelized.desktop.lwa.screen.roll.RollViewModel
import com.pixelized.desktop.lwa.screen.rollhistory.RollHistoryViewModel
import org.koin.core.module.dsl.factoryOf
import org.koin.core.module.dsl.singleOf
import org.koin.core.module.dsl.viewModelOf
import org.koin.dsl.module
val moduleDependencies
get() = listOf(
repositoryDependencies,
factoryDependencies,
viewModelDependencies,
)
val repositoryDependencies
get() = module {
singleOf(::CharacterSheetStore)
singleOf(::NetworkRepository)
singleOf(::CharacterSheetRepository)
singleOf(::RollHistoryRepository)
}
val factoryDependencies
get() = module {
factoryOf(::CharacterSheetFactory)
factoryOf(::CharacterSheetEditFactory)
factoryOf(::NetworkFactory)
}
val viewModelDependencies
get() = module {
viewModelOf(::MainPageViewModel)
viewModelOf(::CharacterSheetViewModel)
viewModelOf(::CharacterSheetEditViewModel)
viewModelOf(::RollViewModel)
viewModelOf(::RollHistoryViewModel)
viewModelOf(::NetworkViewModel)
}