UNPKG

@reactivex/rxjs

Version:

Reactive Extensions for modern JavaScript

42 lines 1.37 kB
import { Subscriber } from '../Subscriber'; import { async } from '../scheduler/async'; /** * @param scheduler * @return {Observable<Timestamp<any>>|WebSocketSubject<T>|Observable<T>} * @method timestamp * @owner Observable */ export function timestamp(scheduler) { if (scheduler === void 0) { scheduler = async; } return this.lift(new TimestampOperator(scheduler)); } export var Timestamp = (function () { function Timestamp(value, timestamp) { this.value = value; this.timestamp = timestamp; } return Timestamp; }()); ; var TimestampOperator = (function () { function TimestampOperator(scheduler) { this.scheduler = scheduler; } TimestampOperator.prototype.call = function (observer, source) { return source._subscribe(new TimestampSubscriber(observer, this.scheduler)); }; return TimestampOperator; }()); var TimestampSubscriber = (function (_super) { __extends(TimestampSubscriber, _super); function TimestampSubscriber(destination, scheduler) { _super.call(this, destination); this.scheduler = scheduler; } TimestampSubscriber.prototype._next = function (value) { var now = this.scheduler.now(); this.destination.next(new Timestamp(value, now)); }; return TimestampSubscriber; }(Subscriber)); //# sourceMappingURL=timestamp.js.map