import { MinPriorityQueue } from '@datastructures-js/priority-queue'; import { Arrays } from '../../../browser/tools/Arrays'; import { DateHelper } from '../../../browser/date/DateHelper'; import { DateMath } from '../../../browser/date/DateMath'; export class Task { id:string; date:Date; action:()=>void; static createIn( duration:number, action:()=>void ) { let date = DateMath.fromNowAddSeconds( duration ); return Task.createAt( date, action ); } static createAt( date:Date, action:()=>void ) { let task = new Task(); task.id = crypto.randomUUID(); task.action = action; task.date = date; return task; } }