summaryrefslogtreecommitdiff
path: root/multipart
diff options
context:
space:
mode:
Diffstat (limited to 'multipart')
-rw-r--r--multipart/formfile.ts7
-rw-r--r--multipart/formfile_test.ts12
2 files changed, 14 insertions, 5 deletions
diff --git a/multipart/formfile.ts b/multipart/formfile.ts
index 592f4e529..a0e721a15 100644
--- a/multipart/formfile.ts
+++ b/multipart/formfile.ts
@@ -1,4 +1,5 @@
// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
+import { hasOwnProperty } from "../util/has_own_property.ts";
/** FormFile object */
export interface FormFile {
@@ -19,9 +20,5 @@ export interface FormFile {
/** Type guard for FormFile */
// eslint-disable-next-line @typescript-eslint/no-explicit-any
export function isFormFile(x: any): x is FormFile {
- return (
- typeof x === "object" &&
- x.hasOwnProperty("filename") &&
- x.hasOwnProperty("type")
- );
+ return hasOwnProperty(x, "filename") && hasOwnProperty(x, "type");
}
diff --git a/multipart/formfile_test.ts b/multipart/formfile_test.ts
index 63509fc9d..52dd3addd 100644
--- a/multipart/formfile_test.ts
+++ b/multipart/formfile_test.ts
@@ -18,3 +18,15 @@ test(function multipartIsFormFile(): void {
false
);
});
+
+test(function isFormFileShouldNotThrow(): void {
+ assertEquals(
+ isFormFile({
+ filename: "foo",
+ type: "application/json",
+ hasOwnProperty: "bar"
+ }),
+ true
+ );
+ assertEquals(isFormFile(Object.create(null)), false);
+});