| /** PURE_IMPORTS_START .._Observable PURE_IMPORTS_END */ |
| var __extends = (this && this.__extends) || function (d, b) { |
| for (var p in b) |
| if (b.hasOwnProperty(p)) |
| d[p] = b[p]; |
| function __() { this.constructor = d; } |
| d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); |
| }; |
| import { Observable } from '../Observable'; |
| /** |
| * We need this JSDoc comment for affecting ESDoc. |
| * @extends {Ignored} |
| * @hide true |
| */ |
| export var EmptyObservable = /*@__PURE__*/ (/*@__PURE__*/ function (_super) { |
| __extends(EmptyObservable, _super); |
| function EmptyObservable(scheduler) { |
| _super.call(this); |
| this.scheduler = scheduler; |
| } |
| /** |
| * Creates an Observable that emits no items to the Observer and immediately |
| * emits a complete notification. |
| * |
| * <span class="informal">Just emits 'complete', and nothing else. |
| * </span> |
| * |
| * <img src="./img/empty.png" width="100%"> |
| * |
| * This static operator is useful for creating a simple Observable that only |
| * emits the complete notification. It can be used for composing with other |
| * Observables, such as in a {@link mergeMap}. |
| * |
| * @example <caption>Emit the number 7, then complete.</caption> |
| * var result = Rx.Observable.empty().startWith(7); |
| * result.subscribe(x => console.log(x)); |
| * |
| * @example <caption>Map and flatten only odd numbers to the sequence 'a', 'b', 'c'</caption> |
| * var interval = Rx.Observable.interval(1000); |
| * var result = interval.mergeMap(x => |
| * x % 2 === 1 ? Rx.Observable.of('a', 'b', 'c') : Rx.Observable.empty() |
| * ); |
| * result.subscribe(x => console.log(x)); |
| * |
| * // Results in the following to the console: |
| * // x is equal to the count on the interval eg(0,1,2,3,...) |
| * // x will occur every 1000ms |
| * // if x % 2 is equal to 1 print abc |
| * // if x % 2 is not equal to 1 nothing will be output |
| * |
| * @see {@link create} |
| * @see {@link never} |
| * @see {@link of} |
| * @see {@link throw} |
| * |
| * @param {Scheduler} [scheduler] A {@link IScheduler} to use for scheduling |
| * the emission of the complete notification. |
| * @return {Observable} An "empty" Observable: emits only the complete |
| * notification. |
| * @static true |
| * @name empty |
| * @owner Observable |
| */ |
| EmptyObservable.create = function (scheduler) { |
| return new EmptyObservable(scheduler); |
| }; |
| EmptyObservable.dispatch = function (arg) { |
| var subscriber = arg.subscriber; |
| subscriber.complete(); |
| }; |
| EmptyObservable.prototype._subscribe = function (subscriber) { |
| var scheduler = this.scheduler; |
| if (scheduler) { |
| return scheduler.schedule(EmptyObservable.dispatch, 0, { subscriber: subscriber }); |
| } |
| else { |
| subscriber.complete(); |
| } |
| }; |
| return EmptyObservable; |
| }(Observable)); |
| //# sourceMappingURL=EmptyObservable.js.map |