mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-11 11:27:50 +00:00
Move Hash definition above MapCache.
This commit is contained in:
124
lodash.js
124
lodash.js
@@ -1723,6 +1723,68 @@
|
|||||||
|
|
||||||
/*------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates an hash object.
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
* @returns {Object} Returns the new hash object.
|
||||||
|
*/
|
||||||
|
function Hash() {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Removes `key` and its value from the hash.
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
* @param {Object} hash The hash to modify.
|
||||||
|
* @param {string} key The key of the value to remove.
|
||||||
|
* @returns {boolean} Returns `true` if the entry was removed, else `false`.
|
||||||
|
*/
|
||||||
|
function hashDelete(hash, key) {
|
||||||
|
return hashHas(hash, key) && delete hash[key];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the hash value for `key`.
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
* @param {Object} hash The hash to query.
|
||||||
|
* @param {string} key The key of the value to get.
|
||||||
|
* @returns {*} Returns the entry value.
|
||||||
|
*/
|
||||||
|
function hashGet(hash, key) {
|
||||||
|
if (nativeCreate) {
|
||||||
|
var result = hash[key];
|
||||||
|
return result === HASH_UNDEFINED ? undefined : result;
|
||||||
|
}
|
||||||
|
return hasOwnProperty.call(hash, key) ? hash[key] : undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if a hash value for `key` exists.
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
* @param {Object} hash The hash to query.
|
||||||
|
* @param {string} key The key of the entry to check.
|
||||||
|
* @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
|
||||||
|
*/
|
||||||
|
function hashHas(hash, key) {
|
||||||
|
return nativeCreate ? hash[key] !== undefined : hasOwnProperty.call(hash, key);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the hash `key` to `value`.
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
* @param {Object} hash The hash to modify.
|
||||||
|
* @param {string} key The key of the value to set.
|
||||||
|
* @param {*} value The value to set.
|
||||||
|
*/
|
||||||
|
function hashSet(hash, key, value) {
|
||||||
|
hash[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*------------------------------------------------------------------------*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a map cache object to store key-value pairs.
|
* Creates a map cache object to store key-value pairs.
|
||||||
*
|
*
|
||||||
@@ -2029,68 +2091,6 @@
|
|||||||
|
|
||||||
/*------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------*/
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates an hash object.
|
|
||||||
*
|
|
||||||
* @private
|
|
||||||
* @returns {Object} Returns the new hash object.
|
|
||||||
*/
|
|
||||||
function Hash() {}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Removes `key` and its value from the hash.
|
|
||||||
*
|
|
||||||
* @private
|
|
||||||
* @param {Object} hash The hash to modify.
|
|
||||||
* @param {string} key The key of the value to remove.
|
|
||||||
* @returns {boolean} Returns `true` if the entry was removed, else `false`.
|
|
||||||
*/
|
|
||||||
function hashDelete(hash, key) {
|
|
||||||
return hashHas(hash, key) && delete hash[key];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the hash value for `key`.
|
|
||||||
*
|
|
||||||
* @private
|
|
||||||
* @param {Object} hash The hash to query.
|
|
||||||
* @param {string} key The key of the value to get.
|
|
||||||
* @returns {*} Returns the entry value.
|
|
||||||
*/
|
|
||||||
function hashGet(hash, key) {
|
|
||||||
if (nativeCreate) {
|
|
||||||
var result = hash[key];
|
|
||||||
return result === HASH_UNDEFINED ? undefined : result;
|
|
||||||
}
|
|
||||||
return hasOwnProperty.call(hash, key) ? hash[key] : undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Checks if a hash value for `key` exists.
|
|
||||||
*
|
|
||||||
* @private
|
|
||||||
* @param {Object} hash The hash to query.
|
|
||||||
* @param {string} key The key of the entry to check.
|
|
||||||
* @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
|
|
||||||
*/
|
|
||||||
function hashHas(hash, key) {
|
|
||||||
return nativeCreate ? hash[key] !== undefined : hasOwnProperty.call(hash, key);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the hash `key` to `value`.
|
|
||||||
*
|
|
||||||
* @private
|
|
||||||
* @param {Object} hash The hash to modify.
|
|
||||||
* @param {string} key The key of the value to set.
|
|
||||||
* @param {*} value The value to set.
|
|
||||||
*/
|
|
||||||
function hashSet(hash, key, value) {
|
|
||||||
hash[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The base implementation of `_.assign` without support for multiple sources
|
* The base implementation of `_.assign` without support for multiple sources
|
||||||
* or `customizer` functions.
|
* or `customizer` functions.
|
||||||
|
|||||||
Reference in New Issue
Block a user