Package Exports
- disposablestack
- disposablestack/AsyncDisposableStack
- disposablestack/AsyncDisposableStack/auto
- disposablestack/AsyncDisposableStack/implementation
- disposablestack/AsyncDisposableStack/polyfill
- disposablestack/AsyncDisposableStack/shim
- disposablestack/DisposableStack
- disposablestack/DisposableStack/auto
- disposablestack/DisposableStack/implementation
- disposablestack/DisposableStack/polyfill
- disposablestack/DisposableStack/shim
- disposablestack/Symbol.asyncDispose
- disposablestack/Symbol.asyncDispose/auto
- disposablestack/Symbol.asyncDispose/implementation
- disposablestack/Symbol.asyncDispose/polyfill
- disposablestack/Symbol.asyncDispose/shim
- disposablestack/Symbol.dispose
- disposablestack/Symbol.dispose/auto
- disposablestack/Symbol.dispose/implementation
- disposablestack/Symbol.dispose/polyfill
- disposablestack/Symbol.dispose/shim
- disposablestack/auto
- disposablestack/package.json
- disposablestack/shim
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 disposablestackUsage/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 doneTests
Clone the repo, npm install, and run npm test
