Version 1
[yaffs-website] / node_modules / uncss / node_modules / lodash / internal / assocDelete.js
diff --git a/node_modules/uncss/node_modules/lodash/internal/assocDelete.js b/node_modules/uncss/node_modules/lodash/internal/assocDelete.js
new file mode 100644 (file)
index 0000000..23e17e4
--- /dev/null
@@ -0,0 +1,31 @@
+var assocIndexOf = require('./assocIndexOf');
+
+/** Used for built-in method references. */
+var arrayProto = global.Array.prototype;
+
+/** Built-in value references. */
+var splice = arrayProto.splice;
+
+/**
+ * Removes `key` and its value from the associative array.
+ *
+ * @private
+ * @param {Array} array The array to query.
+ * @param {string} key The key of the value to remove.
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
+ */
+function assocDelete(array, key) {
+  var index = assocIndexOf(array, key);
+  if (index < 0) {
+    return false;
+  }
+  var lastIndex = array.length - 1;
+  if (index == lastIndex) {
+    array.pop();
+  } else {
+    splice.call(array, index, 1);
+  }
+  return true;
+}
+
+module.exports = assocDelete;