UNPKG

tc39-weakrefs-shim

Version:
28 lines (27 loc) 804 B
import { TaskQueue } from "../utils/tasks/taskQueue"; interface HoldObject { (object: object): void; } interface ReleaseObject { (object: object): void; } export interface ClearKeptObjects { (): void; } export interface KeepDuringJob { (object: object): void; } export interface WeakRefJobs { readonly keepDuringJob: KeepDuringJob; readonly clearKeptObjects: ClearKeptObjects; readonly isKeepingObjects: boolean; } export declare function createWeakRefJobs(scheduleClearKeptObjects: () => number, hooks?: { holdObject?: HoldObject; releaseObject?: ReleaseObject; }): WeakRefJobs; export declare function createWeakRefJobsForTaskQueue(setTask: TaskQueue.Set<number>, hooks?: { holdObject?: HoldObject; releaseObject?: ReleaseObject; }): WeakRefJobs; export {};