summaryrefslogtreecommitdiff
path: root/tests/testdata/run/explicit_resource_management/main.ts
blob: 0201a51f91b76c7515b19b6b0100d79e35dbfa9c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Resource {
  [Symbol.dispose]() {
    console.log("Disposed");
  }
}
class AsyncResource {
  async [Symbol.asyncDispose]() {
    await new Promise((resolve) => setTimeout(resolve, 10));
    console.log("Async disposed");
  }
}

{
  using resource = new Resource();
  console.log("A");
}
{
  await using resource = new AsyncResource();
  console.log("B");
}
console.log("C");