Updated on 2026-08-14

This commit is contained in:
Tangem 2025-03-18 13:35:51 +05:00
parent a4340e40a8
commit d7c4218f92
8 changed files with 74 additions and 37 deletions

View file

@ -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) } }
}