@hazae41/box
Version:
Rust-like Box and similar objects for TypeScript
44 lines (42 loc) • 846 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);
}
}
export { AsyncStack, Stack };
//# sourceMappingURL=index.mjs.map