shelving
Version:
Toolkit for using data in JavaScript.
23 lines (22 loc) • 954 B
TypeScript
/** Safely dispose a disposable. */
export declare function dispose(value: Disposable): void;
/** Is an unknown value a disposable object? */
export declare function isDisposable(v: unknown): v is Disposable;
/**
* Version of `Map` that is disposable.
* - If items are `Disposable` they are disposed when they're deleted from the map.
* - Set itself is `Disposable` to delete (and dispose) all items when the map itself is disposed.
*/
export declare class DisposableMap<K, T> extends Map<K, T> implements Disposable {
delete(key: K): boolean;
[Symbol.dispose](): void;
}
/**
* Version of `Set` that is disposable.
* - If items are `Disposable` they are disposed when they're deleted from the set.
* - Set itself is `Disposable` to delete (and dispose) all items when the set itself is disposed.
*/
export declare class DisposableSet<T> extends Set<T> implements Disposable {
delete(item: T): boolean;
[Symbol.dispose](): void;
}