Bump to v4.8.0.

This commit is contained in:
John-David Dalton
2016-04-01 23:28:00 -07:00
parent 18d0f1d873
commit ee6ec2f672
385 changed files with 2374 additions and 1044 deletions

View File

@@ -16,29 +16,25 @@ var baseCastPath = require('./_baseCastPath'),
* @returns {boolean} Returns `true` if `path` exists, else `false`.
*/
function hasPath(object, path, hasFunc) {
if (object == null) {
return false;
}
var result = hasFunc(object, path);
if (!result && !isKey(path)) {
path = baseCastPath(path);
path = isKey(path, object) ? [path] : baseCastPath(path);
var index = -1,
length = path.length;
var result,
index = -1,
length = path.length;
while (object != null && ++index < length) {
var key = path[index];
if (!(result = hasFunc(object, key))) {
break;
}
object = object[key];
while (++index < length) {
var key = path[index];
if (!(result = object != null && hasFunc(object, key))) {
break;
}
object = object[key];
}
var length = object ? object.length : undefined;
return result || (
!!length && isLength(length) && isIndex(path, length) &&
(isArray(object) || isString(object) || isArguments(object))
);
if (result) {
return result;
}
var length = object ? object.length : 0;
return !!length && isLength(length) && isIndex(key, length) &&
(isArray(object) || isString(object) || isArguments(object));
}
module.exports = hasPath;