@hazae41/box
Version:
Rust-like Box and similar objects for TypeScript
29 lines (27 loc) • 707 B
TypeScript
/**
* A stack of disposable objects
*/
declare class Stack<T extends Disposable> {
readonly value: T[];
/**
* A stack of disposable objects
*/
constructor(value?: T[]);
[Symbol.iterator](): IterableIterator<T>;
[Symbol.dispose](this: Stack<Disposable>): void;
[Symbol.asyncDispose](): Promise<void>;
push(value: T): void;
get(): T[];
}
declare class AsyncStack<T extends AsyncDisposable> {
readonly value: T[];
/**
* A stack of disposable objects
*/
constructor(value?: T[]);
[Symbol.iterator](): IterableIterator<T>;
[Symbol.asyncDispose](): Promise<void>;
push(value: T): void;
get(): T[];
}
export { AsyncStack, Stack };