ITask.ts
 1  /**
 2   * A long running task.
 3   */
 4  export interface ITask {
 5  	title: string;
 6  
 7  	/**
 8  	 * The task to run.
 9  	 */
10  	task: (onProgress: IOnProgress) => Promise<void>;
11  
12  	/**
13  	 * Start event handler.
14  	 */
15  	onStart?: () => void | Promise<void>;
16  
17  	/**
18  	 * End event handler.
19  	 */
20  	onEnd?: (error?: Error) => void | Promise<void>;
21  }
22  
23  export type IOnProgress = (progress: number, total?: number) => void;