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.
24 lines
657 B
24 lines
657 B
9 years ago
|
var Map = require('./_Map'),
|
||
|
assocDelete = require('./_assocDelete'),
|
||
|
hashDelete = require('./_hashDelete'),
|
||
|
isKeyable = require('./_isKeyable');
|
||
|
|
||
|
/**
|
||
|
* Removes `key` and its value from the map.
|
||
|
*
|
||
|
* @private
|
||
|
* @name delete
|
||
|
* @memberOf MapCache
|
||
|
* @param {string} key The key of the value to remove.
|
||
|
* @returns {boolean} Returns `true` if the entry was removed, else `false`.
|
||
|
*/
|
||
|
function mapDelete(key) {
|
||
|
var data = this.__data__;
|
||
|
if (isKeyable(key)) {
|
||
|
return hashDelete(typeof key == 'string' ? data.string : data.hash, key);
|
||
|
}
|
||
|
return Map ? data.map['delete'](key) : assocDelete(data.map, key);
|
||
|
}
|
||
|
|
||
|
module.exports = mapDelete;
|