UNPKG

@hazae41/box

Version:

Rust-like Box and similar objects for TypeScript

56 lines (54 loc) 1.09 kB
/** * A stack of disposable objects */ class Stack { value; /** * A stack of disposable objects */ constructor(value = []) { this.value = value; } [Symbol.iterator]() { return this.value[Symbol.iterator](); } [Symbol.dispose]() { for (const value of this.value) value[Symbol.dispose](); // } async [Symbol.asyncDispose]() { this[Symbol.dispose](); } push(value) { this.value.push(value); } get() { return this.value; } } class AsyncStack { value; /** * A stack of disposable objects */ constructor(value = []) { this.value = value; } [Symbol.iterator]() { return this.value[Symbol.iterator](); } async [Symbol.asyncDispose]() { for (const value of this.value) await value[Symbol.asyncDispose](); // } push(value) { this.value.push(value); } get() { return this.value; } } export { AsyncStack, Stack }; //# sourceMappingURL=index.mjs.map