@surface/custom-element
Version:
Provides support of directives and data binding on custom elements.
20 lines (19 loc) • 724 B
TypeScript
import type { CancellationToken } from "@surface/core";
export default class Scheduler {
private readonly errors;
private readonly highPriorityQueue;
private readonly lowPriorityQueue;
private readonly normalPriorityQueue;
private readonly timeout;
private currentExecution;
private running;
constructor(timeout: number);
private nextFrame;
private processQueue;
private execute;
private start;
private stop;
enqueue<T>(task: () => T, priority: "high" | "normal" | "low"): Promise<T>;
enqueue<T>(task: () => T, priority: "high" | "normal" | "low", cancellationToken: CancellationToken): Promise<T | undefined>;
execution(): Promise<void>;
}