Bump to v4.3.1.

This commit is contained in:
John-David Dalton
2016-02-16 00:58:24 -08:00
parent 607a8b4075
commit 5b0364fb20
131 changed files with 715 additions and 8345 deletions

View File

@@ -1,4 +1,4 @@
# lodash.has v4.3.0
# lodash.has v4.3.1
The [lodash](https://lodash.com/) method `_.has` exported as a [Node.js](https://nodejs.org/) module.
@@ -15,4 +15,4 @@ In Node.js:
var has = require('lodash.has');
```
See the [documentation](https://lodash.com/docs#has) or [package source](https://github.com/lodash/lodash/blob/4.3.0-npm-packages/lodash.has) for more details.
See the [documentation](https://lodash.com/docs#has) or [package source](https://github.com/lodash/lodash/blob/4.3.1-npm-packages/lodash.has) for more details.

View File

@@ -1,5 +1,5 @@
/**
* lodash 4.3.0 (Custom Build) <https://lodash.com/>
* lodash 4.3.1 (Custom Build) <https://lodash.com/>
* Build: `lodash modularize exports="npm" -o ./`
* Copyright jQuery Foundation and other contributors <https://jquery.org/>
* Released under MIT license <https://lodash.com/license>
@@ -46,7 +46,8 @@ var objectProto = Object.prototype;
var hasOwnProperty = objectProto.hasOwnProperty;
/**
* Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
* Used to resolve the
* [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
* of values.
*/
var objectToString = objectProto.toString;
@@ -57,17 +58,6 @@ var propertyIsEnumerable = objectProto.propertyIsEnumerable;
/* Built-in method references for those with the same name as other `lodash` methods. */
var nativeGetPrototype = Object.getPrototypeOf;
/**
* Casts `value` to a path array if it's not one.
*
* @private
* @param {*} value The value to inspect.
* @returns {Array} Returns the cast property path array.
*/
function baseCastPath(value) {
return isArray(value) ? value : stringToPath(value);
}
/**
* The base implementation of `_.has` without support for deep paths.
*
@@ -97,6 +87,17 @@ function baseProperty(key) {
};
}
/**
* Casts `value` to a path array if it's not one.
*
* @private
* @param {*} value The value to inspect.
* @returns {Array} Returns the cast property path array.
*/
function castPath(value) {
return isArray(value) ? value : stringToPath(value);
}
/**
* Gets the "length" property value of `object`.
*
@@ -131,29 +132,25 @@ function getPrototype(value) {
* @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] : castPath(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));
}
/**
@@ -342,8 +339,9 @@ function isLength(value) {
}
/**
* Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.
* (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
* Checks if `value` is the
* [language type](http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types)
* of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
*
* @static
* @memberOf _
@@ -456,23 +454,23 @@ function isSymbol(value) {
* @returns {boolean} Returns `true` if `path` exists, else `false`.
* @example
*
* var object = { 'a': { 'b': { 'c': 3 } } };
* var other = _.create({ 'a': _.create({ 'b': _.create({ 'c': 3 }) }) });
* var object = { 'a': { 'b': 2 } };
* var other = _.create({ 'a': _.create({ 'b': 2 }) });
*
* _.has(object, 'a');
* // => true
*
* _.has(object, 'a.b.c');
* _.has(object, 'a.b');
* // => true
*
* _.has(object, ['a', 'b', 'c']);
* _.has(object, ['a', 'b']);
* // => true
*
* _.has(other, 'a');
* // => false
*/
function has(object, path) {
return hasPath(object, path, baseHas);
return object != null && hasPath(object, path, baseHas);
}
module.exports = has;

View File

@@ -1,6 +1,6 @@
{
"name": "lodash.has",
"version": "4.3.0",
"version": "4.3.1",
"description": "The lodash method `_.has` exported as a module.",
"homepage": "https://lodash.com/",
"icon": "https://lodash.com/icon.svg",