/// /// /// module Rx { export interface VirtualTimeScheduler extends IScheduler { /** * Adds a relative time value to an absolute time value. * @param {Number} absolute Absolute virtual time value. * @param {Number} relative Relative virtual time value to add. * @return {Number} Resulting absolute virtual time sum value. */ add(from: TAbsolute, by: TRelative): TAbsolute; /** * Converts an absolute time to a number * @param {Any} The absolute time. * @returns {Number} The absolute time in ms */ toAbsoluteTime(duetime: TAbsolute): number; /** * Converts the TimeSpan value to a relative virtual time value. * @param {Number} timeSpan TimeSpan value to convert. * @return {Number} Corresponding relative virtual time value. */ toRelativeTime(duetime: number): TRelative; /** * Starts the virtual time scheduler. */ start(): IDisposable; /** * Stops the virtual time scheduler. */ stop(): void; /** * Advances the scheduler's clock to the specified time, running all work till that point. * @param {Number} time Absolute time to advance the scheduler's clock to. */ advanceTo(time: TAbsolute): void; /** * Advances the scheduler's clock by the specified relative time, running all work scheduled for that timespan. * @param {Number} time Relative time to advance the scheduler's clock by. */ advanceBy(time: TRelative): void; /** * Advances the scheduler's clock by the specified relative time. * @param {Number} time Relative time to advance the scheduler's clock by. */ sleep(time: TRelative): void; isEnabled: boolean; /** * Gets the next scheduled item to be executed. * @returns {ScheduledItem} The next scheduled item. */ getNext(): internals.ScheduledItem; } } (function() { interface TA { } interface TR { } var vts: Rx.VirtualTimeScheduler; var b: boolean = vts.isEnabled; var a: TA = vts.add(100, 500); var n: number = vts.toAbsoluteTime(1000); var r: TR = vts.toRelativeTime(1000); var d: Rx.IDisposable = vts.start(); vts.stop(); vts.advanceTo(null); vts.advanceBy(null); vts.sleep(null); var i: Rx.internals.ScheduledItem = vts.getNext(); b = vts.isEnabled; })