From d3f3e0d717fdbbf531fde0c9e7259f6bb887fa10 Mon Sep 17 00:00:00 2001 From: Asher Gomez Date: Sun, 7 Apr 2024 15:42:53 +1000 Subject: FUTURE(ext/fs): make `Deno.FsFile` constructor illegal (#23235) I'm unsure whether we're planning to make the `Deno.FsFile` constructor illegal or remove `FsFile` from the `Deno.*` namspace in Deno 2. Either way, this PR works towards the former. I'll create a superceding PR if the latter is planned instead. Towards #23089 --- tests/specs/future/runtime_api/main.js | 12 ++++++++++++ tests/specs/future/runtime_api/main.out | 1 + 2 files changed, 13 insertions(+) (limited to 'tests') diff --git a/tests/specs/future/runtime_api/main.js b/tests/specs/future/runtime_api/main.js index ed60a7b7c..9d3b3ed6c 100644 --- a/tests/specs/future/runtime_api/main.js +++ b/tests/specs/future/runtime_api/main.js @@ -31,4 +31,16 @@ console.log("Deno.writeAllSync is", Deno.writeAllSync); console.log("Deno.write is", Deno.write); console.log("Deno.writeSync is", Deno.writeSync); +try { + new Deno.FsFile(0); +} catch (error) { + if ( + error instanceof TypeError && + error.message === + "`Deno.FsFile` cannot be constructed, use `Deno.open()` or `Deno.openSync()` instead." + ) { + console.log("Deno.FsFile constructor is illegal"); + } +} + self.close(); diff --git a/tests/specs/future/runtime_api/main.out b/tests/specs/future/runtime_api/main.out index c8ef8c62a..595ffd4a4 100644 --- a/tests/specs/future/runtime_api/main.out +++ b/tests/specs/future/runtime_api/main.out @@ -27,3 +27,4 @@ Deno.writeAll is undefined Deno.writeAllSync is undefined Deno.write is undefined Deno.writeSync is undefined +Deno.FsFile constructor is illegal -- cgit v1.2.3