/ cloudformation-templates / node_modules / lodash / _listCacheDelete.js
_listCacheDelete.js
 1  var assocIndexOf = require('./_assocIndexOf');
 2  
 3  /** Used for built-in method references. */
 4  var arrayProto = Array.prototype;
 5  
 6  /** Built-in value references. */
 7  var splice = arrayProto.splice;
 8  
 9  /**
10   * Removes `key` and its value from the list cache.
11   *
12   * @private
13   * @name delete
14   * @memberOf ListCache
15   * @param {string} key The key of the value to remove.
16   * @returns {boolean} Returns `true` if the entry was removed, else `false`.
17   */
18  function listCacheDelete(key) {
19    var data = this.__data__,
20        index = assocIndexOf(data, key);
21  
22    if (index < 0) {
23      return false;
24    }
25    var lastIndex = data.length - 1;
26    if (index == lastIndex) {
27      data.pop();
28    } else {
29      splice.call(data, index, 1);
30    }
31    --this.size;
32    return true;
33  }
34  
35  module.exports = listCacheDelete;