tc39-weakrefs-shim
Version:
Shim for TC39 Weakrefs proposal
19 lines (18 loc) • 901 B
TypeScript
import { gc } from "./gc.js";
import { FinalizationGroup, WeakRef } from "../weakrefs.js";
declare class FinalizationGroupNodeStub<Holdings> implements FinalizationGroup<Holdings> {
private readonly cleanupCallback;
private readonly finalizedCallback;
private readonly cells;
private isCleanupJobActive;
constructor(cleanupCallback: FinalizationGroup.CleanupCallback<Holdings>);
register(target: object, holdings: Holdings, unregisterToken?: object | undefined): void;
unregister(unregisterToken: object): boolean;
cleanupSome(cleanupCallback?: FinalizationGroup.CleanupCallback<Holdings> | undefined): void;
}
declare class WeakRefNodeStub<T extends object = object> implements WeakRef<T> {
private readonly info;
constructor(target: T);
deref(): T | undefined;
}
export { FinalizationGroupNodeStub as FinalizationGroup, WeakRefNodeStub as WeakRef, gc, };