diff options
author | Luca Casonato <hello@lcas.dev> | 2023-11-01 20:26:12 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-01 20:26:12 +0100 |
commit | d42f1543121e7245789a96a485d1ef7645cb5fba (patch) | |
tree | d57a10ac527fe5b6796a3a8866af95f0f1a5d7bd /ext/fs/30_fs.js | |
parent | 1d19b1011bd7df50598f5981408c2d78c35b76d2 (diff) |
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>
Diffstat (limited to 'ext/fs/30_fs.js')
-rw-r--r-- | ext/fs/30_fs.js | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/ext/fs/30_fs.js b/ext/fs/30_fs.js index d2a656a23..830703230 100644 --- a/ext/fs/30_fs.js +++ b/ext/fs/30_fs.js @@ -34,7 +34,7 @@ import { ReadableStreamPrototype, writableStreamForRid, } from "ext:deno_web/06_streams.js"; -import { pathFromURL } from "ext:deno_web/00_infra.js"; +import { pathFromURL, SymbolDispose } from "ext:deno_web/00_infra.js"; function chmodSync(path, mode) { ops.op_fs_chmod_sync(pathFromURL(path), mode); @@ -669,6 +669,10 @@ class FsFile { } return this.#writable; } + + [SymbolDispose]() { + core.tryClose(this.rid); + } } function checkOpenOptions(options) { |