I\'ve started playing with RxJS5, and now see that there is no longer a shareReplay method.
It\'s quite possible that I often misused shareReplay<
That question is best answered by members who participate in Rxjs5, but here is my take:
shareReplay is the multicast operator with a ReplaySubject, followed by a refCount. So I would bet that publishReplay(x).refCount() should be quite close to the shareReplay behaviour. In any case, publishReplay already gives you all the points you mentioned. The refCount adds the unsubscription when there is no more observers (refCount decreased to 0). var replayed = source.publishReplay(1).refCount();, that should be equivalent to your shareReplay(1).About the rest of your question:
good reference that shows how to find what kind of observable I have.... There are many places, including Rxjs4 documentation where you find explanations about hot and cold observables.Follows my own present understanding of the matter:
multicast operator and its derivatives share, publish, shareReplay etc. Those operators internally all involve subjects.Rx.Observable.fromEvent('input','click') is hot. You can see in its implementation that there is a share somewhere.connectable kind which till it is connected, is neither hot nor cold.defer always give rise to a cold observable.groupBy. op1.op2.groupBy is cold, but it will emit hot observables as values in the resulting stream. In those cases, only the documentation (if any) can help you find out. Otherwise, the source code, and the test specs. Or asking on SO.