summaryrefslogtreecommitdiff
path: root/ext/fs/30_fs.js
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2024-01-25 23:51:29 +0100
committerGitHub <noreply@github.com>2024-01-25 23:51:29 +0100
commit0b0fb94ce2489da642cffd82e0498446d4a1fe1f (patch)
treeaf3fd4fd60e0e9fdf5301ac2881b8e5c43f25cbb /ext/fs/30_fs.js
parent7038074c8583465872b16083f54f2211312f0943 (diff)
fix(fs): instanceof check for Deno.FsFile (#22121)
Regression caused by https://github.com/denoland/deno/pull/22072. I added a relevant test so we don't regress again. Fixes https://github.com/denoland/deno/issues/22115
Diffstat (limited to 'ext/fs/30_fs.js')
-rw-r--r--ext/fs/30_fs.js14
1 files changed, 11 insertions, 3 deletions
diff --git a/ext/fs/30_fs.js b/ext/fs/30_fs.js
index f752c559a..2e7eba242 100644
--- a/ext/fs/30_fs.js
+++ b/ext/fs/30_fs.js
@@ -88,6 +88,7 @@ const {
StringPrototypeStartsWith,
SymbolAsyncIterator,
SymbolIterator,
+ SymbolFor,
Uint32Array,
} = primordials;
@@ -619,7 +620,7 @@ function openSync(
options,
);
- return new FsFile(rid);
+ return new FsFile(rid, SymbolFor("Deno.internal.FsFile"));
}
async function open(
@@ -632,7 +633,7 @@ async function open(
options,
);
- return new FsFile(rid);
+ return new FsFile(rid, SymbolFor("Deno.internal.FsFile"));
}
function createSync(path) {
@@ -659,8 +660,15 @@ class FsFile {
#readable;
#writable;
- constructor(rid) {
+ constructor(rid, symbol) {
this.#rid = rid;
+ if (!symbol || symbol !== SymbolFor("Deno.internal.FsFile")) {
+ internals.warnOnDeprecatedApi(
+ "new Deno.FsFile()",
+ new Error().stack,
+ "Use `Deno.open` or `Deno.openSync` instead.",
+ );
+ }
}
get rid() {