mirror of https://github.com/lukechilds/node.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
890 B
27 lines
890 B
9 years ago
|
/** Used for built-in method references. */
|
||
|
var objectProto = Object.prototype;
|
||
|
|
||
|
/** Used to check objects for own properties. */
|
||
|
var hasOwnProperty = objectProto.hasOwnProperty;
|
||
|
|
||
|
/** Built-in value references. */
|
||
|
var getPrototypeOf = Object.getPrototypeOf;
|
||
|
|
||
|
/**
|
||
|
* The base implementation of `_.has` without support for deep paths.
|
||
|
*
|
||
|
* @private
|
||
|
* @param {Object} object The object to query.
|
||
|
* @param {Array|string} key The key to check.
|
||
|
* @returns {boolean} Returns `true` if `key` exists, else `false`.
|
||
|
*/
|
||
|
function baseHas(object, key) {
|
||
|
// Avoid a bug in IE 10-11 where objects with a [[Prototype]] of `null`,
|
||
|
// that are composed entirely of index properties, return `false` for
|
||
|
// `hasOwnProperty` checks of them.
|
||
|
return hasOwnProperty.call(object, key) ||
|
||
|
(typeof object == 'object' && key in object && getPrototypeOf(object) === null);
|
||
|
}
|
||
|
|
||
|
module.exports = baseHas;
|