1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
x4 x28 x28 x28 x663 x28 x28 x48 x28 x28 x52 x265 x265 x52 x28 x28 |
// Copyright 2018-2025 the Deno authors. MIT license. // partial `DisposableStack` polyfill // https://github.com/tc39/proposal-explicit-resource-management export function disposableStack() { return { disposables: [] as Disposable[], defer(fn: () => void) { this.disposables.push({ [Symbol.dispose]: fn }); }, use(val: Disposable) { this.disposables.push(val); }, [Symbol.dispose]() { for (let i = this.disposables.length - 1; i >= 0; --i) { this.disposables[i]![Symbol.dispose](); } }, }; } |