Q:

does map().take() reexecute when based on ReplaySubject.asObservable()

I have a ReplaySubject with a buffer size of 1. I am wondering if, when mapping an observable created from calling let observable = subject.asObservable() whether or not the following composition re-executes for each new buffer. 
observable.map((nextThing) => {
   console.log(nextThing, 'got one!');
 }).take(1)

given a stream of Observable<string>'s like "Hey", "Jey" "Fley" would the only output be "Heygot one!"?

A:

"Hey got one!" is all that will be logged.
As soon as take receives the first value, it completes and unsubscribes - which sees map unsubscribe, too:

const subject = new Rx.ReplaySubject(1);
const observable = subject.asObservable();

observable
  .map((nextThing) => console.log(nextThing, 'got one!'))
  .take(1)
  .subscribe();

subject.next('Hey');
subject.next('Jey');
subject.next('Fley');
.as-console-wrapper { max-height: 100% !important; top: 0; }
<script src="https://unpkg.com/rxjs@5/bundles/Rx.min.js"></script>

Note that take will receive undefined, as map is not returning a value.

