How to use or override protected[airstream] members when extending observables?
raquo opened this issue · 0 comments
When extending Observable
you need to provide an implementation for topoRank
. But it's protected[airstream]
, which is annoying, because you either need to make that field public (ew), or put your subclass into the com.raquo.airstream
package (double ew).
Instead what we should do is make topoRank
simply protected
(without [airstream]
), and offer a private[airstream] def topoRank(o: Observable[_]): Int
on the Observable
companion object, or something like that.
Now, there are a bunch of other methods which are protected[airstream]
and also have a concrete implementation. This includes tryNow
, now
, onNext
, onError
, onTry
. I'm not sure if you can call them or even override them from your subclass. I think I need to fix those too, similarly to topoRank
.