UNPKG

@hazae41/box

Version:

Rust-like Box and similar objects for TypeScript

59 lines (56 loc) 1.13 kB
'use strict'; /** * 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; } } exports.AsyncStack = AsyncStack; exports.Stack = Stack; //# sourceMappingURL=index.cjs.map