tc39-weakrefs-shim
Version:
Shim for TC39 Weakrefs proposal
10 lines (9 loc) • 661 B
TypeScript
import { FinalizationGroupJobs } from "./FinalizationGroupJobs.js";
import { FinalizationGroup } from "../weakrefs.js";
export interface WeakRefsObjectInfoIsAlive<ObjectInfo> {
(info: ObjectInfo): boolean;
}
export interface WeakRefsGetObjectInfo<ObjectInfo> {
(target: object): ObjectInfo;
}
export declare function createFinalizationGroupClassShim<ObjectInfo>(jobs: Pick<FinalizationGroupJobs<ObjectInfo>, "registerFinalizationGroup" | "unregisterFinalizationGroup" | "checkForEmptyCells" | "getFinalizedInFinalizationGroup">, getInfo: WeakRefsGetObjectInfo<ObjectInfo>, isAlive: WeakRefsObjectInfoIsAlive<ObjectInfo>): FinalizationGroup.Constructor;