dispose

dispose

Usage no npm install needed!

<script type="module">
  import dispose from 'https://cdn.skypack.dev/dispose';
</script>

README

dispose

CircleCI

what is this?

A C# inspired helper function to allow for automatic disposing of objects.

how does it work

If a class implements the Disposable interface, it will expose the (async) function dispose. An instance of this class cacn be passed to the using helper function so that the dispose method is automatically executed.

huh?

Ok, let me show you:

Without using:

const i = await DisposableClass.create();
try {
    // do stuff...
}
finally {
    await i.dispose();
}

With using (does exactly the same)

await using(DisposableClass.create(), async i => {
    // do stuff...
});

This is great for usage in test (cool) test-frameworks like tape with blue-tape.

exaple:

test(
    "test something",
     t => using(testContext.create(), async testContext => {
         const something = await testContext.createSomething();
         t.ok(something);
    }),
)