disposablestack
v1.1.6
Published
An ESnext spec-compliant `DisposableStack`, `AsyncDisposableStack`, `Symbol.dispose`, and `Symbol.asyncDispose` shim/polyfill/replacement that works as far down as ES3.
Downloads
71,867
Maintainers
Readme
disposablestack
An ESnext spec-compliant DisposableStack
, AsyncDisposableStack
, Symbol.dispose
, and Symbol.asyncDispose
shim/polyfill/replacement that works as far down as ES3.
Its root auto
entrypoint also provides SuppressedError
, via the suppressed-error
package.
This package implements the es-shim API “multi” interface. It works in an ES3-supported environment and complies with the proposed spec.
Getting started
npm install --save disposablestack
Usage/Examples
const assert = require('assert');
require('disposablestack/auto');
assert.equal(typeof Symbol.dispose, 'symbol');
assert.equal(typeof Symbol.asyncDispose, 'symbol');
const error = new SuppressedError();
assert.ok(error instanceof Error);
const stack = new DisposableStack();
const asyncStack = new AsyncDisposableStack();
// examples of stack methods
stack.dispose();
await asyncStack.disposeAsync();
// assert disposal was done
Tests
Clone the repo, npm install
, and run npm test