UNPKG

@tempest/core

Version:

The core of the Tempest Stream Library

29 lines (25 loc) 663 B
import { Task, ScheduledTask, Scheduler } from '../interfaces' export class PredeterminedTask implements ScheduledTask { public task: Task public time: number public period: number private scheduler: Scheduler public active: boolean constructor (delay: number, period: number, task: Task, scheduler: Scheduler) { this.time = delay this.period = period this.task = task this.scheduler = scheduler this.active = true } run (): void { this.task.run(this.time) } error (err: Error): void { this.task.error(this.time, err) } dispose (): void { this.scheduler.cancel(this) return this.task.dispose() } }