LibJS: Implement the AsyncDisposableStack interface

This is very similar to the DisposableStack interface, except disposal
of resources is promise-based.
This commit is contained in:
Timothy Flynn 2025-01-17 10:09:01 -05:00 committed by Andreas Kling
commit 26c2484c2f
Notes: github-actions[bot] 2025-01-17 19:47:28 +00:00
22 changed files with 873 additions and 0 deletions

View file

@ -0,0 +1,21 @@
test("constructor properties", () => {
expect(AsyncDisposableStack).toHaveLength(0);
expect(AsyncDisposableStack.name).toBe("AsyncDisposableStack");
});
describe("errors", () => {
test("called without new", () => {
expect(() => {
AsyncDisposableStack();
}).toThrowWithMessage(
TypeError,
"AsyncDisposableStack constructor must be called with 'new'"
);
});
});
describe("normal behavior", () => {
test("typeof", () => {
expect(typeof new AsyncDisposableStack()).toBe("object");
});
});