isEmpty
Emits false if the input Observable emits any values, or emits true if the
input Observable completes without emitting any values.
Tells whether any values are emitted by an Observable.

isEmpty transforms an Observable that emits values into an Observable that
emits a single boolean value representing whether or not any values were
emitted by the source Observable. As soon as the source Observable emits a
value, isEmpty will emit a false and complete. If the source Observable
completes having not emitted anything, isEmpty will emit a true and
complete.
A similar effect could be achieved with count, but isEmpty can emit
a false value sooner.
Examples
Emit false for a non-empty Observable
import { Subject, isEmpty } from 'rxjs';
const source = new Subject<string>();
const result = source.pipe(isEmpty());
source.subscribe(x => console.log(x));
result.subscribe(x => console.log(x));
source.next('a');
source.next('b');
source.next('c');
source.complete();
// Outputs
// 'a'
// false
// 'b'
// 'c'
Emit true for an empty Observable
import { EMPTY, isEmpty } from 'rxjs';
const result = EMPTY.pipe(isEmpty());
result.subscribe(x => console.log(x));
// Outputs
// true
§Return Type
A function that returns an Observable that emits boolean value indicating whether the source Observable was empty or not.