var nativeCreate = require('./_nativeCreate');

/** Used to stand-in for `undefined` hash values. */ var HASH_UNDEFINED = 'lodash_hash_undefined';

/** Used for built-in method references. */ var objectProto = Object.prototype;

/** Used to check objects for own properties. */ var hasOwnProperty = objectProto.hasOwnProperty;

/**

* Gets the hash value for `key`.
*
* @private
* @name get
* @memberOf Hash
* @param {string} key The key of the value to get.
* @returns {*} Returns the entry value.
*/

function hashGet(key) {

var data = this.__data__;
if (nativeCreate) {
  var result = data[key];
  return result === HASH_UNDEFINED ? undefined : result;
}
return hasOwnProperty.call(data, key) ? data[key] : undefined;

}

module.exports = hashGet;