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); |
|
}
|
|
|