--- /dev/null
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var async_1 = require("../scheduler/async");
+var scan_1 = require("./scan");
+var defer_1 = require("../observable/defer");
+var map_1 = require("./map");
+function timeInterval(scheduler) {
+ if (scheduler === void 0) { scheduler = async_1.async; }
+ return function (source) { return defer_1.defer(function () {
+ return source.pipe(scan_1.scan(function (_a, value) {
+ var current = _a.current;
+ return ({ value: value, current: scheduler.now(), last: current });
+ }, { current: scheduler.now(), value: undefined, last: undefined }), map_1.map(function (_a) {
+ var current = _a.current, last = _a.last, value = _a.value;
+ return new TimeInterval(value, current - last);
+ }));
+ }); };
+}
+exports.timeInterval = timeInterval;
+var TimeInterval = (function () {
+ function TimeInterval(value, interval) {
+ this.value = value;
+ this.interval = interval;
+ }
+ return TimeInterval;
+}());
+exports.TimeInterval = TimeInterval;
+//# sourceMappingURL=timeInterval.js.map
\ No newline at end of file