dispose
A C# inspired helper function to allow for automatic disposing of objects.
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.
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);
}),
)