You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
3.0 KiB
82 lines
3.0 KiB
/** 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(); |
|
}; |
|
/** @deprecated internal use only */ 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
|
|
|