diff options
Diffstat (limited to 'tools/eslint/node_modules/lodash/_baseUnset.js')
-rw-r--r-- | tools/eslint/node_modules/lodash/_baseUnset.js | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tools/eslint/node_modules/lodash/_baseUnset.js b/tools/eslint/node_modules/lodash/_baseUnset.js new file mode 100644 index 0000000000..2be1c12708 --- /dev/null +++ b/tools/eslint/node_modules/lodash/_baseUnset.js @@ -0,0 +1,22 @@ +var baseToPath = require('./_baseToPath'), + has = require('./has'), + isKey = require('./_isKey'), + last = require('./last'), + parent = require('./_parent'); + +/** + * The base implementation of `_.unset`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to unset. + * @returns {boolean} Returns `true` if the property is deleted, else `false`. + */ +function baseUnset(object, path) { + path = isKey(path, object) ? [path + ''] : baseToPath(path); + object = parent(object, path); + var key = last(path); + return (object != null && has(object, key)) ? delete object[key] : true; +} + +module.exports = baseUnset; |