UNPKG

higlass

Version:

HiGlass Hi-C / genomic / large data viewer

48 lines (47 loc) 1.4 kB
export default backgroundTaskScheduler; export type DataTask<T> = { data: T; handler: (data: T) => void; trackId?: string | undefined; }; export type NullDataTask = { data: null; handler: () => void; trackId?: string | undefined; }; export type Task = DataTask<any> | NullDataTask; declare const backgroundTaskScheduler: BackgroundTaskScheduler; /** */ declare class BackgroundTaskScheduler { /** @type {Task[]} */ taskList: Task[]; taskHandle: number | null; requestIdleCallbackTimeout: number; /** * @template T * @overload * @param {(data: T) => void} taskHandler * @param {T} taskData * @param {string | null=} trackId * @return {void} */ enqueueTask<T>(taskHandler: (data: T) => void, taskData: T, trackId?: (string | null) | undefined): void; /** * If `taskData` is `null` the `taskHandler` will eventaully be called without any arguments. * * @overload * @param {() => void} taskHandler * @param {null} taskData * @param {string | null=} trackId * @return {void} */ enqueueTask(taskHandler: () => void, taskData: null, trackId?: (string | null) | undefined): void; /** * @param {{ timeRemaining(): number, didTimeout: boolean }} deadline */ runTaskQueue(deadline: { timeRemaining(): number; didTimeout: boolean; }): void; }