both kinds of observables have the same interface ObservableState
the chained observable takes multiple observables as an input ("sources"), and subscribes to each. When any of the source observables raises a notification, the chained observables's own subscribers get notified.
What I do in this PR:
remove current() from ObservableState
add createChainedObservable() to Shell
Open issues:
the chained observables don't have any lifecycle mechanism (like React's componentWillUnmount), so currently they have no way to unsubscribe from the sources. A possible solution is use WeakRef for the subscribers.
it is possible to accidentally create endless loops
Concept:
ObservableState
What I do in this PR:
current()
fromObservableState
createChainedObservable()
toShell
Open issues:
WeakRef
for the subscribers.