summaryrefslogtreecommitdiff
path: root/std/util/has_own_property.ts
diff options
context:
space:
mode:
Diffstat (limited to 'std/util/has_own_property.ts')
-rw-r--r--std/util/has_own_property.ts30
1 files changed, 0 insertions, 30 deletions
diff --git a/std/util/has_own_property.ts b/std/util/has_own_property.ts
deleted file mode 100644
index 351905cec..000000000
--- a/std/util/has_own_property.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
-
-/**
- * Determines whether an object has a property with the specified name.
- * Avoid calling prototype builtin `hasOwnProperty` for two reasons:
- *
- * 1. `hasOwnProperty` is defined on the object as something else:
- *
- * const options = {
- * ending: 'utf8',
- * hasOwnProperty: 'foo'
- * };
- * options.hasOwnProperty('ending') // throws a TypeError
- *
- * 2. The object doesn't inherit from `Object.prototype`:
- *
- * const options = Object.create(null);
- * options.ending = 'utf8';
- * options.hasOwnProperty('ending'); // throws a TypeError
- *
- * @param obj A Object.
- * @param v A property name.
- * @see https://eslint.org/docs/rules/no-prototype-builtins
- */
-export function hasOwnProperty<T>(obj: T, v: PropertyKey): boolean {
- if (obj == null) {
- return false;
- }
- return Object.prototype.hasOwnProperty.call(obj, v);
-}