Как вынести useCase в отдельный метод?
Не могу показать реальный код (NDA). Но не могли бы вы мне помочь в измененном примере ?
Мне очень нужно:
- убрать "GetTextUseCase" из "combine"
- вызывать formatText без text, formatText(age)
- СУТЬ ПРОБЛЕМЫ !!! Получить текст из GetTextUseCase в private fun formatText()
Какие есть способы решения этой проблемы ?
Class ClientViewModel(
private val getText: GetTextUseCase, // invoke Flow()
private val getUser: GetUserUseCase, // invoke Flow()
private val getAge: GetAgeUseCase, // invoke Flow()
): ViewModel() {
val state = combine(
getText(),
getUser(),
getAge(),
) { text, user, age ->
...some code...
...some code...
...some code...
NewClient(
text = formatText(age, text),
user = user,
age = age,
)
}
.stateIn(viewModelScope, SharingStarted.Eagerly, NewClient.DEFAULT)
private fun formatText(
age: Int,
text: String,
): String {
return if (age > 18) {
"Adult"
} else {
"Under 18"
}
}
}