UNPKG

3.55 kBTypeScriptView Raw
1// Type definitions for rx-lite-time 4.0
2// Project: https://github.com/Reactive-Extensions/RxJS
3// Definitions by: Carl de Billy <http://carl.debilly.net/>, Igor Oleinikov <https://github.com/Igorbek>
4// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
5
6/// <reference types="rx-lite" />
7
8declare namespace Rx {
9 interface Observable<T> {
10 delaySubscription(dueTime: number, scheduler?: IScheduler): Observable<T>;
11 delayWithSelector(delayDurationSelector: (item: T) => number): Observable<T>;
12 delayWithSelector(subscriptionDelay: number, delayDurationSelector: (item: T) => number): Observable<T>;
13
14 timeoutWithSelector<TTimeout>(firstTimeout: Observable<TTimeout>, timeoutdurationSelector?: (item: T) => Observable<TTimeout>, other?: Observable<T>): Observable<T>;
15
16 debounceWithSelector<TTimeout>(debounceDurationSelector: (item: T) => Observable<TTimeout>): Observable<T>;
17 /**
18 * @deprecated use #debounceWithSelector instead.
19 */
20 throttleWithSelector<TTimeout>(debounceDurationSelector: (item: T) => Observable<TTimeout>): Observable<T>;
21
22 skipLastWithTime(duration: number, scheduler?: IScheduler): Observable<T>;
23 takeLastWithTime(duration: number, timerScheduler?: IScheduler, loopScheduler?: IScheduler): Observable<T>;
24
25 takeLastBufferWithTime(duration: number, scheduler?: IScheduler): Observable<T[]>;
26 takeWithTime(duration: number, scheduler?: IScheduler): Observable<T>;
27 skipWithTime(duration: number, scheduler?: IScheduler): Observable<T>;
28
29 skipUntilWithTime(startTime: Date, scheduler?: IScheduler): Observable<T>;
30 skipUntilWithTime(duration: number, scheduler?: IScheduler): Observable<T>;
31 takeUntilWithTime(endTime: Date, scheduler?: IScheduler): Observable<T>;
32 takeUntilWithTime(duration: number, scheduler?: IScheduler): Observable<T>;
33
34 windowWithTime(timeSpan: number, timeShift: number, scheduler?: IScheduler): Observable<Observable<T>>;
35 windowWithTime(timeSpan: number, scheduler?: IScheduler): Observable<Observable<T>>;
36 windowWithTimeOrCount(timeSpan: number, count: number, scheduler?: IScheduler): Observable<Observable<T>>;
37 bufferWithTime(timeSpan: number, timeShift: number, scheduler?: IScheduler): Observable<T[]>;
38 bufferWithTime(timeSpan: number, scheduler?: IScheduler): Observable<T[]>;
39 bufferWithTimeOrCount(timeSpan: number, count: number, scheduler?: IScheduler): Observable<T[]>;
40 }
41
42 interface ObservableStatic {
43 timer(dueTime: Date, period: number, scheduler?: IScheduler): Observable<number>;
44 timer(dueTime: Date, scheduler?: IScheduler): Observable<number>;
45
46 generateWithRelativeTime<TState, TResult>(
47 initialState: TState,
48 condition: (state: TState) => boolean,
49 iterate: (state: TState) => TState,
50 resultSelector: (state: TState) => TResult,
51 timeSelector: (state: TState) => number,
52 scheduler?: IScheduler): Observable<TResult>;
53 generateWithAbsoluteTime<TState, TResult>(
54 initialState: TState,
55 condition: (state: TState) => boolean,
56 iterate: (state: TState) => TState,
57 resultSelector: (state: TState) => TResult,
58 timeSelector: (state: TState) => Date,
59 scheduler?: IScheduler): Observable<TResult>;
60 }
61}
62
63declare module "rx-lite-time" {
64 export = Rx;
65}
66
\No newline at end of file