28 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| "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
 | 
