mirror of
https://github.com/denoland/deno.git
synced 2025-08-04 02:48:24 +00:00
feat: disposable Deno resources (#20845)
This commit implements Symbol.dispose and Symbol.asyncDispose for the relevant resources. Closes #20839 --------- Signed-off-by: Bartek Iwańczuk <biwanczuk@gmail.com> Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
This commit is contained in:
parent
1d19b1011b
commit
d42f154312
21 changed files with 342 additions and 35 deletions
|
@ -9,6 +9,8 @@ const {
|
|||
PromiseResolve,
|
||||
SymbolAsyncIterator,
|
||||
} = primordials;
|
||||
import { SymbolDispose } from "ext:deno_web/00_infra.js";
|
||||
|
||||
class FsWatcher {
|
||||
#rid = 0;
|
||||
|
||||
|
@ -51,6 +53,10 @@ class FsWatcher {
|
|||
[SymbolAsyncIterator]() {
|
||||
return this;
|
||||
}
|
||||
|
||||
[SymbolDispose]() {
|
||||
core.tryClose(this.#rid);
|
||||
}
|
||||
}
|
||||
|
||||
function watchFs(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue