--- /dev/null
+import { Subscriber } from '../Subscriber';
+export function defaultIfEmpty(defaultValue = null) {
+ return (source) => source.lift(new DefaultIfEmptyOperator(defaultValue));
+}
+class DefaultIfEmptyOperator {
+ constructor(defaultValue) {
+ this.defaultValue = defaultValue;
+ }
+ call(subscriber, source) {
+ return source.subscribe(new DefaultIfEmptySubscriber(subscriber, this.defaultValue));
+ }
+}
+class DefaultIfEmptySubscriber extends Subscriber {
+ constructor(destination, defaultValue) {
+ super(destination);
+ this.defaultValue = defaultValue;
+ this.isEmpty = true;
+ }
+ _next(value) {
+ this.isEmpty = false;
+ this.destination.next(value);
+ }
+ _complete() {
+ if (this.isEmpty) {
+ this.destination.next(this.defaultValue);
+ }
+ this.destination.complete();
+ }
+}
+//# sourceMappingURL=defaultIfEmpty.js.map
\ No newline at end of file