UNPKG

@hazae41/box

Version:

Rust-like Box and similar objects for TypeScript

44 lines (42 loc) 846 B
/** * 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