timestamp.js
1.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
"use strict";
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 __());
};
var Subscriber_1 = require('../Subscriber');
var async_1 = require('../scheduler/async');
/**
* @param scheduler
* @return {Observable<Timestamp<any>>|WebSocketSubject<T>|Observable<T>}
* @method timestamp
* @owner Observable
*/
function timestamp(scheduler) {
if (scheduler === void 0) { scheduler = async_1.async; }
return this.lift(new TimestampOperator(scheduler));
}
exports.timestamp = timestamp;
var Timestamp = (function () {
function Timestamp(value, timestamp) {
this.value = value;
this.timestamp = timestamp;
}
return Timestamp;
}());
exports.Timestamp = 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_1.Subscriber));
//# sourceMappingURL=timestamp.js.map