Bump to v3.2.0.

This commit is contained in:
John-David Dalton
2016-07-29 08:55:51 -07:00
parent 005ee66119
commit 0847978784
157 changed files with 2074 additions and 1403 deletions

View File

@@ -1,4 +1,4 @@
# lodash.has v3.1.1
# lodash.has v3.2.0
The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodashs](https://lodash.com/) `_.has` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
@@ -17,4 +17,4 @@ In Node.js/io.js:
var has = require('lodash.has');
```
See the [documentation](https://lodash.com/docs#has) or [package source](https://github.com/lodash/lodash/blob/3.1.1-npm-packages/lodash.has) for more details.
See the [documentation](https://lodash.com/docs#has) or [package source](https://github.com/lodash/lodash/blob/3.2.0-npm-packages/lodash.has) for more details.

View File

@@ -1,5 +1,5 @@
/**
* lodash 3.1.1 (Custom Build) <https://lodash.com/>
* lodash 3.2.0 (Custom Build) <https://lodash.com/>
* Build: `lodash modern modularize exports="npm" -o ./`
* Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
@@ -9,6 +9,7 @@
var baseGet = require('lodash._baseget'),
baseSlice = require('lodash._baseslice'),
toPath = require('lodash._topath'),
isArguments = require('lodash.isarguments'),
isArray = require('lodash.isarray');
/** Used to match property names within property paths. */
@@ -21,6 +22,26 @@ var objectProto = Object.prototype;
/** Used to check objects for own properties. */
var hasOwnProperty = objectProto.hasOwnProperty;
/**
* Used as the [maximum length](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.max_safe_integer)
* of an array-like value.
*/
var MAX_SAFE_INTEGER = 9007199254740991;
/**
* Checks if `value` is a valid array-like index.
*
* @private
* @param {*} value The value to check.
* @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
* @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
*/
function isIndex(value, length) {
value = typeof value == 'number' ? value : parseFloat(value);
length = length == null ? MAX_SAFE_INTEGER : length;
return value > -1 && value % 1 == 0 && value < length;
}
/**
* Checks if `value` is a property name and not a property path.
*
@@ -42,7 +63,20 @@ function isKey(value, object) {
}
/**
* Converts `value` to an object if it is not one.
* Checks if `value` is a valid array-like length.
*
* **Note:** This function is based on [`ToLength`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength).
*
* @private
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
*/
function isLength(value) {
return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
}
/**
* Converts `value` to an object if it's not one.
*
* @private
* @param {*} value The value to process.
@@ -94,7 +128,7 @@ function isObject(value) {
// Avoid a V8 JIT bug in Chrome 19-20.
// See https://code.google.com/p/v8/issues/detail?id=2291 for more details.
var type = typeof value;
return type == 'function' || (!!value && type == 'object');
return !!value && (type == 'object' || type == 'function');
}
/**
@@ -127,10 +161,14 @@ function has(object, path) {
if (!result && !isKey(path)) {
path = toPath(path);
object = path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1));
if (object == null) {
return false;
}
path = last(path);
result = object != null && hasOwnProperty.call(object, path);
result = hasOwnProperty.call(object, path);
}
return result;
return result || (isLength(object.length) && isIndex(path, object.length) &&
(isArray(object) || isArguments(object)));
}
module.exports = has;

View File

@@ -1,6 +1,6 @@
{
"name": "lodash.has",
"version": "3.1.1",
"version": "3.2.0",
"description": "The modern build of lodashs `_.has` as a module.",
"homepage": "https://lodash.com/",
"icon": "https://lodash.com/icon.svg",
@@ -20,6 +20,7 @@
"lodash._baseget": "^3.0.0",
"lodash._baseslice": "^3.0.0",
"lodash._topath": "^3.0.0",
"lodash.isarguments": "^3.0.0",
"lodash.isarray": "^3.0.0"
}
}