Updated on 2026-08-14
This commit is contained in:
parent
a4340e40a8
commit
d7c4218f92
8 changed files with 74 additions and 37 deletions
|
|
@ -1,8 +1,19 @@
|
|||
package com.tangem.utils.transformer
|
||||
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.update
|
||||
|
||||
/**
|
||||
* Transforms state to updated state.
|
||||
*/
|
||||
interface Transformer<S> {
|
||||
fun transform(prevState: S): S
|
||||
}
|
||||
|
||||
fun <T> MutableStateFlow<T>.update(transformer: Transformer<T>) {
|
||||
update { transformer.transform(this.value) }
|
||||
}
|
||||
|
||||
fun <T> MutableStateFlow<T>.updateAll(vararg transformers: Transformer<T>) {
|
||||
transformers.forEach { transformer -> update { transformer.transform(this.value) } }
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue