UNPKG

@freemework/common

Version:

Common library of the Freemework Project.

23 lines (22 loc) 881 B
import "./tc39.js"; export declare abstract class FDisposable { [Symbol.asyncDispose](): Promise<void>; abstract dispose(): Promise<void>; static disposeAll(...instances: ReadonlyArray<FDisposable>): Promise<void>; static instanceOf(test: unknown): test is FDisposable; } export declare abstract class FDisposableBase extends FDisposable { private _disposed?; private _disposingPromise?; get disposed(): boolean; get disposing(): boolean; dispose(): Promise<void>; protected abstract onDispose(): void | Promise<void>; protected verifyNotDisposed(): void; } export declare class FDisposableMixin extends FDisposableBase { static applyMixin(targetClass: any): void; protected onDispose(): void | Promise<void>; private constructor(); } export declare function makeDisposable(dispose: () => void | Promise<void>): FDisposable;