diff options
author | lionel-rowe <lionel.rowe@gmail.com> | 2023-09-14 13:06:58 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-14 07:06:58 +0200 |
commit | 2046aeed70efac1e17f1df8873da25e00bb4e2b2 (patch) | |
tree | f9d81ed201256ebc6964177635c0507ac22d6c73 | |
parent | e60cbfadc0c75d48ff004fa8f47d4b5d022cb98c (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.ts | 11 | ||||
-rw-r--r-- | ext/web/09_file.js | 12 |
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); |