UNPKG

1.87 kBTypeScriptView Raw
1// Type definitions for rx-lite-virtualtime 4.0
2// Project: https://github.com/Reactive-Extensions/RxJS
3// Definitions by: gsino <http://www.codeplex.com/site/users/view/gsino>, 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 VirtualTimeScheduler<TAbsolute, TRelative> extends Scheduler {
10 // protected constructor(initialClock: TAbsolute, comparer: (first: TAbsolute, second: TAbsolute) => number);
11
12 advanceBy(time: TRelative): void;
13 advanceTo(time: TAbsolute): void;
14 scheduleAbsolute(dueTime: TAbsolute, action: () => void): IDisposable;
15 scheduleAbsoluteWithState<TState>(state: TState, dueTime: TAbsolute, action: (scheduler: IScheduler, state: TState) => IDisposable): IDisposable;
16 scheduleRelative(dueTime: TRelative, action: () => void): IDisposable;
17 scheduleRelativeWithState<TState>(state: TState, dueTime: TRelative, action: (scheduler: IScheduler, state: TState) => IDisposable): IDisposable;
18 sleep(time: TRelative): void;
19 start(): IDisposable;
20 stop(): void;
21
22 isEnabled: boolean;
23
24 /* protected abstract */ add(from: TAbsolute, by: TRelative): TAbsolute;
25 /* protected abstract */ toDateTimeOffset(duetime: TAbsolute): number;
26 /* protected abstract */ toRelative(duetime: number): TRelative;
27
28 /* protected */ getNext(): internals.ScheduledItem<TAbsolute>;
29 }
30
31 interface HistoricalScheduler extends VirtualTimeScheduler<number, number> {
32 }
33
34 const HistoricalScheduler: {
35 new (initialClock: number, comparer: (first: number, second: number) => number): HistoricalScheduler;
36 };
37}
38
39declare module "rx-lite-virtualtime" {
40 export = Rx;
41}
42
\No newline at end of file