summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlionel-rowe <lionel.rowe@gmail.com>2023-09-14 13:06:58 +0800
committerGitHub <noreply@github.com>2023-09-14 07:06:58 +0200
commit2046aeed70efac1e17f1df8873da25e00bb4e2b2 (patch)
treef9d81ed201256ebc6964177635c0507ac22d6c73
parente60cbfadc0c75d48ff004fa8f47d4b5d022cb98c (diff)
feat(ext/web): Add name to Deno.customInspect of File objects (#20415)
Fixes https://github.com/denoland/deno/issues/20414
-rw-r--r--cli/tests/unit/file_test.ts11
-rw-r--r--ext/web/09_file.js12
2 files changed, 23 insertions, 0 deletions
diff --git a/cli/tests/unit/file_test.ts b/cli/tests/unit/file_test.ts
index 23583ac2e..26ee110b6 100644
--- a/cli/tests/unit/file_test.ts
+++ b/cli/tests/unit/file_test.ts
@@ -99,3 +99,14 @@ Deno.test(function fileUsingNumberFileName() {
Deno.test(function fileUsingEmptyStringFileName() {
testSecondArgument("", "");
});
+
+Deno.test(function inspectFile() {
+ assertEquals(
+ Deno.inspect(new File([], "file-name.txt")),
+ `File { name: "file-name.txt", size: 0, type: "" }`,
+ );
+ assertEquals(
+ Deno.inspect(new File([], "file-name.txt", { type: "text/plain" })),
+ `File { name: "file-name.txt", size: 0, type: "text/plain" }`,
+ );
+});
diff --git a/ext/web/09_file.js b/ext/web/09_file.js
index 94981a2f4..fd0451438 100644
--- a/ext/web/09_file.js
+++ b/ext/web/09_file.js
@@ -535,6 +535,18 @@ class File extends Blob {
webidl.assertBranded(this, FilePrototype);
return this[_LastModified];
}
+
+ [SymbolFor("Deno.customInspect")](inspect) {
+ return inspect(createFilteredInspectProxy({
+ object: this,
+ evaluate: ObjectPrototypeIsPrototypeOf(FilePrototype, this),
+ keys: [
+ "name",
+ "size",
+ "type",
+ ],
+ }));
+ }
}
webidl.configurePrototype(File);