library-ts/node/users/scheduler/Task.ts

28 lines
665 B
TypeScript

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;
}
}