| var castPath = require('./_castPath'), |
| last = require('./last'), |
| parent = require('./_parent'), |
| toKey = require('./_toKey'); |
| |
| /** |
| * The base implementation of `_.unset`. |
| * |
| * @private |
| * @param {Object} object The object to modify. |
| * @param {Array|string} path The property path to unset. |
| * @returns {boolean} Returns `true` if the property is deleted, else `false`. |
| */ |
| function baseUnset(object, path) { |
| path = castPath(path, object); |
| object = parent(object, path); |
| return object == null || delete object[toKey(last(path))]; |
| } |
| |
| module.exports = baseUnset; |