| var assocIndexOf = require('./_assocIndexOf'); | |
| 
 | |
| /** Used for built-in method references. */ | |
| var arrayProto = Array.prototype; | |
| 
 | |
| /** Built-in value references. */ | |
| var splice = arrayProto.splice; | |
| 
 | |
| /** | |
|  * Removes `key` and its value from the list cache. | |
|  * | |
|  * @private | |
|  * @name delete | |
|  * @memberOf ListCache | |
|  * @param {string} key The key of the value to remove. | |
|  * @returns {boolean} Returns `true` if the entry was removed, else `false`. | |
|  */ | |
| function listCacheDelete(key) { | |
|   var data = this.__data__, | |
|       index = assocIndexOf(data, key); | |
| 
 | |
|   if (index < 0) { | |
|     return false; | |
|   } | |
|   var lastIndex = data.length - 1; | |
|   if (index == lastIndex) { | |
|     data.pop(); | |
|   } else { | |
|     splice.call(data, index, 1); | |
|   } | |
|   --this.size; | |
|   return true; | |
| } | |
| 
 | |
| module.exports = listCacheDelete;
 |