RxJS observable which emits both previous and current value starting from first emission : <p>I have a <a href="http://reactivex.io/rxjs/manual/overview.html#behaviorsubject" rel="noreferrer">BehaviorSubject</a> which emits JavaScript objects periodically. I want to construct another observable which will emit both previous and current values of the underlying observable in order to compare two objects and determine the delta.</p>

<p>The <a href="http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#instance-method-pairwise" rel="noreferrer"><code>pairwise()</code></a> or <a href="http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#instance-method-bufferCount" rel="noreferrer"><code>bufferCount(2, 1)</code></a> operators are looking like a good fit, but they start emitting only after buffer is filled, but I require this observable to start emitting from the first event of the underlying observable.</p>

<pre><code>subject.someBufferingOperator()
    .subscribe([previousValue, currentValue] =&gt; {
        /** Do something */
    })
;
</code></pre>

<blockquote>
  <p>On first emission the <code>previousValue</code> could be just <code>null</code>.</p>
</blockquote>

<p>Is there some built-in operators that I can use to achieve the desired result?</p>
