@hazae41/box
Version:
Rust-like Box and similar objects for TypeScript
47 lines (44 loc) • 887 B
JavaScript
;
/**
* A stack of disposable objects
*/
class Stack {
array;
/**
* A stack of disposable objects
*/
constructor(array = []) {
this.array = array;
}
[Symbol.dispose]() {
for (const value of this.array)
value[Symbol.dispose]();
//
}
async [Symbol.asyncDispose]() {
this[Symbol.dispose]();
}
push(value) {
this.array.push(value);
}
}
class AsyncStack {
array;
/**
* A stack of disposable objects
*/
constructor(array = []) {
this.array = array;
}
async [Symbol.asyncDispose]() {
for (const value of this.array)
await value[Symbol.asyncDispose]();
//
}
push(value) {
this.array.push(value);
}
}
exports.AsyncStack = AsyncStack;
exports.Stack = Stack;
//# sourceMappingURL=index.cjs.map