Bump to v3.8.0.

This commit is contained in:
jdalton
2015-04-19 09:18:54 -07:00
parent 863bb301bb
commit 53c14e5b9b
58 changed files with 538 additions and 405 deletions

View File

@@ -1,6 +1,6 @@
var isArguments = require('../lang/isArguments'),
isArray = require('../lang/isArray'),
isLength = require('./isLength'),
isArrayLike = require('./isArrayLike'),
isObjectLike = require('./isObjectLike');
/**
@@ -9,8 +9,8 @@ var isArguments = require('../lang/isArguments'),
*
* @private
* @param {Array} array The array to flatten.
* @param {boolean} isDeep Specify a deep flatten.
* @param {boolean} isStrict Restrict flattening to arrays and `arguments` objects.
* @param {boolean} [isDeep] Specify a deep flatten.
* @param {boolean} [isStrict] Restrict flattening to arrays-like objects.
* @returns {Array} Returns the new flattened array.
*/
function baseFlatten(array, isDeep, isStrict) {
@@ -21,8 +21,8 @@ function baseFlatten(array, isDeep, isStrict) {
while (++index < length) {
var value = array[index];
if (isObjectLike(value) && isLength(value.length) && (isArray(value) || isArguments(value))) {
if (isObjectLike(value) && isArrayLike(value) &&
(isStrict || isArray(value) || isArguments(value))) {
if (isDeep) {
// Recursively flatten arrays (susceptible to call stack limits).
value = baseFlatten(value, isDeep, isStrict);
@@ -30,7 +30,6 @@ function baseFlatten(array, isDeep, isStrict) {
var valIndex = -1,
valLength = value.length;
result.length += valLength;
while (++valIndex < valLength) {
result[++resIndex] = value[valIndex];
}