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;