UNPKG

@hazae41/box

Version:

Rust-like Box and similar objects for TypeScript

37 lines (35 loc) 1.03 kB
/** * A reference that will be disposed when garbage collected */ declare class Auto<T extends Disposable> { readonly value: T; static readonly cleanup: (x: Disposable) => void; static readonly registry: FinalizationRegistry<Disposable>; /** * A reference that will be disposed when garbage collected * @param value */ constructor(value: T); [Symbol.dispose](): void; [Symbol.asyncDispose](): Promise<void>; get(): T; unwrap(): T; } /** * A reference that will be disposed when garbage collected */ declare class AsyncAuto<T extends AsyncDisposable> { readonly value: T; static readonly cleanup: (x: AsyncDisposable) => PromiseLike<void>; static readonly registry: FinalizationRegistry<AsyncDisposable>; /** * A reference that will be disposed when garbage collected * @param value */ constructor(value: T); [Symbol.dispose](): void; [Symbol.asyncDispose](): Promise<void>; get(): T; unwrap(): T; } export { AsyncAuto, Auto };