33 lines
1.4 KiB
TypeScript
33 lines
1.4 KiB
TypeScript
import { AsyncAction } from './AsyncAction';
|
|
import { Subscription } from '../Subscription';
|
|
import { AsyncScheduler } from './AsyncScheduler';
|
|
import { SchedulerAction } from '../types';
|
|
export declare class VirtualTimeScheduler extends AsyncScheduler {
|
|
maxFrames: number;
|
|
protected static frameTimeFactor: number;
|
|
frame: number;
|
|
index: number;
|
|
constructor(SchedulerAction?: typeof AsyncAction, maxFrames?: number);
|
|
/**
|
|
* Prompt the Scheduler to execute all of its queued actions, therefore
|
|
* clearing its queue.
|
|
* @return {void}
|
|
*/
|
|
flush(): void;
|
|
}
|
|
/**
|
|
* We need this JSDoc comment for affecting ESDoc.
|
|
* @nodoc
|
|
*/
|
|
export declare class VirtualAction<T> extends AsyncAction<T> {
|
|
protected scheduler: VirtualTimeScheduler;
|
|
protected work: (this: SchedulerAction<T>, state?: T) => void;
|
|
protected index: number;
|
|
protected active: boolean;
|
|
constructor(scheduler: VirtualTimeScheduler, work: (this: SchedulerAction<T>, state?: T) => void, index?: number);
|
|
schedule(state?: T, delay?: number): Subscription;
|
|
protected requestAsyncId(scheduler: VirtualTimeScheduler, id?: any, delay?: number): any;
|
|
protected recycleAsyncId(scheduler: VirtualTimeScheduler, id?: any, delay?: number): any;
|
|
protected _execute(state: T, delay: number): any;
|
|
static sortActions<T>(a: VirtualAction<T>, b: VirtualAction<T>): 1 | 0 | -1;
|
|
}
|