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.
		
		
		
		
		
			
		
			
				
					
					
						
							55 lines
						
					
					
						
							1.8 KiB
						
					
					
				
			
		
		
	
	
							55 lines
						
					
					
						
							1.8 KiB
						
					
					
				import { SchedulerLike, OperatorFunction } from '../types'; | 
						|
/** | 
						|
 * | 
						|
 * Emits an object containing the current value, and the time that has | 
						|
 * passed between emitting the current value and the previous value, which is | 
						|
 * calculated by using the provided `scheduler`'s `now()` method to retrieve | 
						|
 * the current time at each emission, then calculating the difference. The `scheduler` | 
						|
 * defaults to {@link asyncScheduler}, so by default, the `interval` will be in | 
						|
 * milliseconds. | 
						|
 * | 
						|
 * <span class="informal">Convert an Observable that emits items into one that | 
						|
 * emits indications of the amount of time elapsed between those emissions.</span> | 
						|
 * | 
						|
 *  | 
						|
 * | 
						|
 * ## Examples | 
						|
 * Emit inteval between current value with the last value | 
						|
 * | 
						|
 * ```ts | 
						|
 * const seconds = interval(1000); | 
						|
 * | 
						|
 * seconds.pipe(timeInterval()) | 
						|
 * .subscribe( | 
						|
 *     value => console.log(value), | 
						|
 *     err => console.log(err), | 
						|
 * ); | 
						|
 * | 
						|
 * seconds.pipe(timeout(900)) | 
						|
 * .subscribe( | 
						|
 *     value => console.log(value), | 
						|
 *     err => console.log(err), | 
						|
 * ); | 
						|
 * | 
						|
 * // NOTE: The values will never be this precise, | 
						|
 * // intervals created with `interval` or `setInterval` | 
						|
 * // are non-deterministic. | 
						|
 * | 
						|
 * // {value: 0, interval: 1000} | 
						|
 * // {value: 1, interval: 1000} | 
						|
 * // {value: 2, interval: 1000} | 
						|
 * ``` | 
						|
 * | 
						|
 * @param {SchedulerLike} [scheduler] Scheduler used to get the current time. | 
						|
 * @return {Observable<{ interval: number, value: T }>} Observable that emit infomation about value and interval | 
						|
 * @method timeInterval | 
						|
 */ | 
						|
export declare function timeInterval<T>(scheduler?: SchedulerLike): OperatorFunction<T, TimeInterval<T>>; | 
						|
/** | 
						|
 * @deprecated exposed API, use as interface only. | 
						|
 */ | 
						|
export declare class TimeInterval<T> { | 
						|
    value: T; | 
						|
    interval: number; | 
						|
    constructor(value: T, interval: number); | 
						|
}
 | 
						|
 |