Robert Jaros
05/01/2020, 11:32 AMObservableStore
class like this:
class ObservableStore<T>(state: T) : ObservableState<T> {
private val observers = mutableListOf<(T) -> Unit>()
var state: T by Delegates.observable(state) { _, _, new ->
observers.forEach { it(new) }
}
override fun getState(): T {
return state
}
override fun subscribe(observer: (T) -> Unit): () -> Unit {
observers += observer
observer(state)
return {
observers -= observer
}
}
}