Skip to content
This repository has been archived by the owner on Jan 24, 2023. It is now read-only.
/ dispose Public archive

Async disposable interface and using helper method for JavaScript

Notifications You must be signed in to change notification settings

LuvDaSun/dispose

Repository files navigation

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);
    }),
)

About

Async disposable interface and using helper method for JavaScript

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published