31 lines
768 B
JavaScript
31 lines
768 B
JavaScript
|
import { Subscriber } from '../Subscriber';
|
||
|
export function isEmpty() {
|
||
|
return (source) => source.lift(new IsEmptyOperator());
|
||
|
}
|
||
|
class IsEmptyOperator {
|
||
|
call(observer, source) {
|
||
|
return source.subscribe(new IsEmptySubscriber(observer));
|
||
|
}
|
||
|
}
|
||
|
/**
|
||
|
* We need this JSDoc comment for affecting ESDoc.
|
||
|
* @ignore
|
||
|
* @extends {Ignored}
|
||
|
*/
|
||
|
class IsEmptySubscriber extends Subscriber {
|
||
|
constructor(destination) {
|
||
|
super(destination);
|
||
|
}
|
||
|
notifyComplete(isEmpty) {
|
||
|
const destination = this.destination;
|
||
|
destination.next(isEmpty);
|
||
|
destination.complete();
|
||
|
}
|
||
|
_next(value) {
|
||
|
this.notifyComplete(false);
|
||
|
}
|
||
|
_complete() {
|
||
|
this.notifyComplete(true);
|
||
|
}
|
||
|
}
|
||
|
//# sourceMappingURL=isEmpty.js.map
|